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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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