Strange TCP behaviour under 2.0.3x with accept

Philip Gladstone (philip@raptor.com)
Thu, 10 Sep 1998 10:10:23 -0400


This is a cryptographically signed message in MIME format.

--------------ms7F52D945F5EC57969E8B4ECF
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi,
It seems that under 2.0.3x series, if you do an
accept on an INET socket, you can get an incompletely formed
connection.

Assume the remote system sends a SYN.
The linux box responds with SYN-ACK and goes to state
SYN-RECV

After a while, the other end sends a reset which triggers
a state transition to TCP_CLOSE

TCP_CLOSE is a valid state to trigger the accept, and
so we get the call.

sys_accept doesn't check the return code from the
internal getpeername and returns OK rather than an
error (and it hasn't filled in the address).

I suspect that tcp_find_establish should have an extra condition

&& tcp_connected()

at the crucial point. Does anyone disagree?

Philip

-- 
Philip Gladstone                           +1 781 530 2461
Raptor Systems / Axent Technologies 
Waltham, MA         		    http://www.raptor.com/
--------------ms7F52D945F5EC57969E8B4ECF
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIILogYJKoZIhvcNAQcCoIILkzCCC48CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC CVgwggLXMIICQKADAgECAgIwtDANBgkqhkiG9w0BAQQFADCByDELMAkGA1UEBhMCWkExFTAT BgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxGjAYBgNVBAoTEVRo YXd0ZSBDb25zdWx0aW5nMTMwMQYDVQQLEypDZXJ0aWZpY2F0ZSBTZXJ2aWNlcyBSU0EgSUsg MTk5OC4yLjI1IDg6MzUxOzA5BgNVBAMTMlRoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBSU0Eg SXNzdWluZyBLZXkgMTk5OC4yLjI1MB4XDTk4MDgxMjE0NDIyOVoXDTk5MDgxMjE0NDIyOVow QzEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEgMB4GCSqGSIb3DQEJARYRcGhp bGlwQHJhcHRvci5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAONqzM373SGsMZ5C X1WU1vOr8pZFVRBVJC/WEfc5sR+Q4YAjRk5F4Yww6cHAXtTiptaSWcgK+dli46/5Sy60UX2s iVcl8i6pmcQ/m+kFodrJ1GjZd9SU2+IMnY7liBP2sdwAB02G9EX2B43nAh9/Y2Xl4T8uGV3L oz6CwP5YmUV1AgMBAAGjVDBSMBEGCWCGSAGG+EIBAQQEAwIFoDAOBgNVHQ8BAf8EBAMCBaAw DAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBTtNBduDiteS4eYkbg3p5i/kh+scjANBgkqhkiG 9w0BAQQFAAOBgQBZPzaRk5KnLZCwvJy/y/OaSAfGp1h/c8agEBoLclt3CSytNnT3FVZLq5w/ R0O9wIu8er/eivXt1CvWs/wYpqZpszhmbaIreRZHY9A93G/Zavv7yyMBpK5OVYpkAMUt4rAc 7/twlNMo/493FEBSAiYjdbhIqGOyBikq/R3iyFiyUjCCA0gwggKxoAMCAQICAQgwDQYJKoZI hvcNAQEEBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNV BAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0Nl cnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25h bCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3Rl LmNvbTAeFw05ODAyMjUwODM1MzNaFw0wMDAyMjUwODM1MzNaMIHIMQswCQYDVQQGEwJaQTEV MBMGA1UECBMMV2VzdGVybiBDYXBlMRQwEgYDVQQHEwtEdXJiYW52aWxsZTEaMBgGA1UEChMR VGhhd3RlIENvbnN1bHRpbmcxMzAxBgNVBAsTKkNlcnRpZmljYXRlIFNlcnZpY2VzIFJTQSBJ SyAxOTk4LjIuMjUgODozNTE7MDkGA1UEAxMyVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIFJT QSBJc3N1aW5nIEtleSAxOTk4LjIuMjUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMcx w8QbmSNy0lGFlUzjWZLk6GyBtfQbXwnmxK2zRG+qONdX5LDFy7p0rkxhIyR2BvjZXQ2KKLK0 K+0Nu1Ik9LfFSaeDY/wKBLDvgSj35pHGTZfuknYmYshjN3Y8sZIP3K1SBopxxTcxaobbvQhp KFn87cd9JmfdTd7TxQL+d7bhAgMBAAGjNzA1MBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0j BBgwFqAUcknCczTGVfQLdnKBfnf0h+fGsg4wDQYJKoZIhvcNAQEEBQADgYEAQurti2F+odRc Uqk8vZ6ceegJixKBrY8dWkbt8SUmW8iu/XohFs2gHjuXM4P7TjcqKJemSPUoGAIkfIB7U1C1 +2+a/G2qXCZFqC82IljTGwIDH+6UOfD+NFqISxs9jPPXftOfcFt29tjE4rY8JJ0JJYxZsdSL 8/wEgg6eKYZsxf8wggMtMIIClqADAgECAgEAMA0GCSqGSIb3DQEBBAUAMIHRMQswCQYDVQQG EwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNV BAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2Vz IERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkq hkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNOTYwMTAxMDAwMDAw WhcNMjAxMjMxMjM1OTU5WjCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2Fw ZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYG A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3Rl IFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFp bEB0aGF3dGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUadfUsJRkW3HpR9gM UbbqcpGwhF59LQ2PexLfhSV1KHQ6QixjJ5+Ve0vvfhmHHYbqo925zpZkGsIUbkSsfOaP6E0P cR9AOKYAo4d49vmUhl6t6sBeduvZFKNdbnp8DKVLVX8GGSl/npom1Wq7OCQIapjHsdqjmJH9 edvlWsQcuQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAMfs kn5O+PWWpWdiKqTwTRFg0G+NYFhhrCa7UjVcCM8w+6hKloofYkIjjBcP9LpknBesRynfnZhe 0mxgcVyirNx54+duAEcftQ0o6AKd5Jr9E/Sm2Xyx+NxfIyYJkYBz0BQb3kOpgyXy5pwvFcr+ pquKB3WLDN1RhGvk+NHOd6KBMYICEjCCAg4CAQEwgc8wgcgxCzAJBgNVBAYTAlpBMRUwEwYD VQQIEwxXZXN0ZXJuIENhcGUxFDASBgNVBAcTC0R1cmJhbnZpbGxlMRowGAYDVQQKExFUaGF3 dGUgQ29uc3VsdGluZzEzMDEGA1UECxMqQ2VydGlmaWNhdGUgU2VydmljZXMgUlNBIElLIDE5 OTguMi4yNSA4OjM1MTswOQYDVQQDEzJUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgUlNBIElz c3VpbmcgS2V5IDE5OTguMi4yNQICMLQwCQYFKw4DAhoFAKCBmTAYBgkqhkiG9w0BCQMxCwYJ KoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw05ODA5MTAxNDEwMjVaMCMGCSqGSIb3DQEJBDEW BBTVz5ORKkqwkRKyvakz+d3AqITu9zA6BgkqhkiG9w0BCQ8xLTArMAoGCCqGSIb3DQMHMA4G CCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDANBgkqhkiG9w0BAQEFAASBgGKIj3C+dGbb 0AjoptclkUGsne9M1Oq6OvTE85a41WJ1PWEKbT88KZfifhsTZXSL6XNJHJ6TIYUmwOg18UDf 5+/DlIzXw8S9N/T6yy0H7m+zoJ9rwq7f/oE/SgekwqedCq7w0PyAFcdJeiJO+lMiU1y9YLBG n+4AXuaDHiriVV72 --------------ms7F52D945F5EC57969E8B4ECF--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/faq.html