On Tue, Aug 16, 2011 at 2:40 PM, Mel Gorman <mel@xxxxxxxxx> wrote: > 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. If /dev/shm is mounted noexec, the resulting file will have VM_MAYEXEC stripped. I don't believe it is capable of doing anything special that will cause the mmap code path to find a different containing mountpoint. If it could, then that would certainly be preferable, but it would also make this VM_MAYEXEC calculation less effective in the default case. thanks! >> > 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>