[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <517f3f820811140724x43fcc114o434b384fbeb6449e@mail.gmail.com>
Date: Fri, 14 Nov 2008 10:24:06 -0500
From: "Michael Kerrisk" <mtk.manpages@...il.com>
To: "Andrew Morton" <akpm@...ux-foundation.org>
Cc: subrata@...ux.vnet.ibm.com, linux-arch@...r.kernel.org,
drepper@...hat.com, linux-kernel@...r.kernel.org,
torvalds@...ux-foundation.org, linux-api@...r.kernel.org,
linux-man@...r.kernel.org, davidel@...ilserver.org,
netdev@...r.kernel.org, roland@...hat.com, oleg@...sign.ru,
hch@....de, davem@...emloft.net, alan@...hat.com, jakub@...hat.com
Subject: Re: [PATCH] reintroduce accept4
>> Andrew, you noted a lack of explanation accompanying the original
>> patch. Here's something to fill the gap, and which may be suitable
>> for the changelog.
>>
>> ==
>> Introduce a new accept4() system call. The addition of this system
>> call matches analogous changes in 2.6.27 (dup3(), evenfd2(),
>> signalfd4(), inotify_init1(), epoll_create1(), pipe2()) which added
>> new system calls that differed from analogous traditional system calls
>> in adding a flags argument that can be used to access additional
>> functionality. The accept4() system call is exactly the same as
>> accept(), except that it adds a flags bit-mask argument. Two flags
>> are initially implemented. (Most of the new system calls in 2.6.27
>> also had both of these flags.) SOCK_CLOEXEC causes the close-on-exec
>> (FD_CLOEXEC) flag to be enabled for the new file descriptor returned
>> by accept4(). This is a useful security feature to avoid leaking
>> information in a multithreaded program where one thread is doing an
>> accept() at the same time as another thread is doing a fork() plus
>> exec(). (More details here:
>> http://udrepper.livejournal.com/20407.html "Secure File Descriptor
>> Handling", Ulrich Drepper) The other flag is SOCK_NONBLOCK, which
>> causes the O_NONBLOCK flag to be enabled on the new open file
>> description created by accept4(). (This flag is merely a convenience,
>> saving the use of additional calls fcntl(F_GETFL) and fcntl (F_SETFL)
>> to achieve the same result.)
>
> I replaced the existing changelog with the above (plus some paragraph
> breaks ;)). Will add the new test app when it comes along.
Git allows paragraph breaks in changelogs?! You gotta love technology ;-).
--
Michael Kerrisk Linux man-pages maintainer;
http://www.kernel.org/doc/man-pages/ Found a documentation bug?
http://www.kernel.org/doc/man-pages/reporting_bugs.html
--
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