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@xxxxxxxxx> 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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>