[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH XEN v6 29/32] tools/libs/call: Use O_CLOEXEC when opening /dev/xen/privcmd on Linux
El 11/12/15 a les 18.22, Ian Campbell ha escrit: > On Wed, 2015-12-09 at 16:17 +0000, Ian Jackson wrote: >> Ian Campbell writes ("[PATCH XEN v6 29/32] tools/libs/call: Use O_CLOEXEC >> when opening /dev/xen/privcmd on Linux"): >>> We stick with using FD_CLOEXEC on the legacy /proc/xen/privcmd >>> fallback device since it was present in older kernel where O_CLOEXEC >>> may not be assured. >> >> This is a lot of effort and may not be needed. I don't object, but >> some of the statements are (I think) rather too fierce: >> >>> + /* >>> + * This file descriptor is opaque to the caller, thus we must take >>> + * responsibility to ensure it doesn't propagate (ie leak) outside >>> + * the process, by using CLOEXEC. >>> + */ >> >> For example, I don't think this is a `must' at all, although not >> propagating irrelevant fds is (nowadays) seen as polite. > > Right, this bit was actually (mostly) code^Wcomment motion. > > I'll happily update it to say polite rather than required. > > I did a bit more investigation of O_CLOEXEC and found that Linux introduced > it in 2.6.23 (October 2007) which seems to be old enough that we should > just use it anywhere we feel it necessary. > > Jan did mention (on IRC) that while he doesn't use any kernels so old, he > still occasionally builds on userspace which is old enough to lack the > definition, hence I would do #ifndef+#define. > > Roger, I see that open(2) on FreeBSD mentions O_CLOEXEC too. Do you know > when that arrived and whether it is something we can assume these days? > I found a posting of the patch in https://lists.freebsd.org/pipermail/freeb > sd-fs/2011-March/011021.html, but I don't know when it landed or when it > became something code could assume. privcmd is only available on FreeBSD HEAD anyway, and AFAICT (by looking at the man pages) all stable FreeBSD versions support O_CLOEXEC (10.2, 9.3 and 8.4). I think we can safely assume O_CLOEXEC is available in all FreeBSD version we build on. Roger. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |