diff options
author | dchagin <dchagin@FreeBSD.org> | 2017-04-15 15:12:25 +0000 |
---|---|---|
committer | dchagin <dchagin@FreeBSD.org> | 2017-04-15 15:12:25 +0000 |
commit | f8f0a0cde5408c3e9f8433bee977d11cf30ca559 (patch) | |
tree | db2badb34fd7ac448ca3d2dc61e2dd0d6369df70 | |
parent | 92fe6dbe06a92e3b53c56202f180cfcd6436bd0e (diff) | |
download | FreeBSD-src-f8f0a0cde5408c3e9f8433bee977d11cf30ca559.zip FreeBSD-src-f8f0a0cde5408c3e9f8433bee977d11cf30ca559.tar.gz |
MFC r314867:
Linux kernel does not export to the user space ipc_perm.mode values
other than S_IRWXUGO (0777).
-rw-r--r-- | sys/compat/linux/linux_ipc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/compat/linux/linux_ipc.c b/sys/compat/linux/linux_ipc.c index c85dfb0..a8c5509 100644 --- a/sys/compat/linux/linux_ipc.c +++ b/sys/compat/linux/linux_ipc.c @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include <sys/msg.h> #include <sys/sem.h> #include <sys/shm.h> +#include <sys/stat.h> #include "opt_compat.h" @@ -151,7 +152,7 @@ bsd_to_linux_ipc_perm(struct ipc_perm *bpp, struct l_ipc64_perm *lpp) lpp->gid = bpp->gid; lpp->cuid = bpp->cuid; lpp->cgid = bpp->cgid; - lpp->mode = bpp->mode; + lpp->mode = bpp->mode & (S_IRWXU|S_IRWXG|S_IRWXO); lpp->seq = bpp->seq; } |