Thread (6 messages) flat view 6 messages, 4 authors, 2020-04-20

Re: [PATCH] fcntl: Add 32bit filesystem mode

From: "Theodore Y. Ts'o" <tytso@mit.edu>
Date: 2020-04-20 17:01:48
Also in: linux-ext4, linux-fsdevel, qemu-devel

On Mon, Apr 20, 2020 at 04:29:32PM +0100, Peter Maydell wrote:
On Mon, 20 Apr 2020 at 16:24, Eric Blake [off-list ref] wrote:
quoted
It will be interesting to find how much code (wrongly) assumes it can
use a blind assignment of fcntl(fd, F_SETFD, 1) and thereby accidentally
wipes out other existing flags, when it should have instead been doing a
read-modify-write to protect flags other than FD_CLOEXEC.
For instance, a quick grep shows 4 instances of this in QEMU :-)
Fortunately, most applications aren't going to be interested in
forcing 32-bit mode for 64-bit applications, QEMU being the notable
exception.  We do need to make sure that for 32-bit applications, we
either make FD_32BIT_MODE a no-op (don't set the bit, and ignore the
bit).  We could allow the bit to be visible for 32-bit applications,
but we would want to disallow clearing the the bit for 32-bit
applications if it was visible.

If we did that, then blind assignments of fcntl(fd, F_SETFD, 1) should
be mostly harmless with respect to the FD_32BIT_MODE bit.

   	      	 	  	       - Ted
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help