lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 06 Jun 2007 15:55:26 +0200 From: chris schlund <chrisschlund@....de> To: Rick Jones <rick.jones2@...com> CC: netdev@...r.kernel.org Subject: Re: Socket hangs in read() when putting interface down >> This may be ok on a major interface like eth0 but it is a problem when >> using a ppp interface via GSM data or GPRS connection. >> Killing the pppd while the socket waits in read() produces the same >> behaviour. Also a broken connection looks the same. >> It is reproducable on several 2.6 kernel versions including the lastest >> stable 2.6.21. >> >> On my understanding "ifconfig down" should lead into a read() error. > > Why? Can't traffic for the endpoint arrive via some other interface on > the system? I would think that getting out of a blocking read() > requires the application to either have a timer running (and so get out > of read() with EINTR) or to have keepalives enabled on the TCP > connection (I'm assuming TCP for an AF_INET, SOCK_STREAM although I > suppose it could be SCTP) > > rick jones Of course, you are right. I am so focused to my small embedded world, that I simply have forgotten how IP-traffic works in big systems (to clarify my first post: I'm using TCP). Your hint with the self produced signal to get out of read() was very helpful for me. Thats what I was missing. I also learned another think, while reading the list FAQ: PEBCAC (=Problem exists between chair and computer) Obviously, thats what best described me! Thank you very much! Chris Schlund - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists