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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48672ADE.1090300@goop.org>
Date:	Sat, 28 Jun 2008 23:25:34 -0700
From:	Jeremy Fitzhardinge <jeremy@...p.org>
To:	Avi Kivity <avi@...ranet.com>
CC:	Török Edwin <edwintorok@...il.com>,
	Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: Ctrl+C doesn't interrupt process waiting for I/O

Avi Kivity wrote:
> Applications should not assume that write() (or other syscalls) can't 
> return EINTR.  Not all filesystems have a bounded-time backing store.

The distinction between 'fast' (filesystem) and 'slow' (terminals and 
pipes) blocking syscalls goes back to the earliest days of Unix, and is 
part of the ABI.  Most filesystem syscalls are not documented to ever 
return EINTR.

> 'soft' has its own problems; namely false positives when someone steps 
> on the network cable, temporarily blocking packet flow, or when using 
> a clustered server which may take some time to recover from a fault.

Sure.  It's the basic problem of trying to make network access 
transparent by hiding the failure modes.  You either need to put up with 
spurious timeouts caused by transient failures, or unbounded blocking on 
real failures.

Regardless, NFS is the exception here, and making normal block-backed 
filesystems start throwing EINTRs around would be a huge behavioural change.

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ