Messages in this thread | | | Date | Tue, 16 Aug 2011 20:40:51 +0100 | From | Mel Gorman <> | Subject | Re: [PATCH] mmap: add sysctl for controlling ~VM_MAYEXEC taint |
| |
On Tue, Aug 16, 2011 at 10:07:46AM -0700, Roland McGrath wrote: > On Tue, Aug 16, 2011 at 2:33 AM, Mel Gorman <mel@csn.ul.ie> wrote: > > Is using shm_open()+mmap instead of open()+mmap() to open a file on > > /dev/shm really that difficult? > > > > int shm_open(const char *name, int oflag, mode_t mode); > > int open(const char *pathname, int flags, mode_t mode); > > I cannot figure out the rationale behind this question at all. > Both of these library functions result in the same system call. >
They might result in the same system call but one of them creates the file under /dev/shm which should not have the same permissions problem. The library really appears to want to create a shared executable object, using shm_open does not appear that unreasonable to me.
> > An ordinary user is not going to know that a segfault from an > > application can be fixed with this sysctl. This looks like something > > that should be fixed in the library so that it can work on kernels > > that do not have the sysctl. > > I think the expectation is that the administrator or system builder > who decides to set the (non-default) noexec mount option will also > set the sysctl at the same time. >
Which then needs to be copied in each distro wanting to do the same thing and is not backwards compatible where as using shm_open is.
-- Mel Gorman SUSE Labs
| |