lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 1 Nov 2017 16:01:30 -0700 From: Mike Kravetz <mike.kravetz@...cle.com> To: Marc-André Lureau <marcandre.lureau@...hat.com>, linux-mm@...ck.org, linux-kernel@...r.kernel.org Cc: aarcange@...hat.com, hughd@...gle.com, nyc@...omorphy.com Subject: Re: [PATCH 2/6] shmem: rename functions that are memfd-related On 10/31/2017 11:40 AM, Marc-André Lureau wrote: > Those functions are called for memfd files, backed by shmem or > hugetlb (the next patches will handle hugetlb). > > Signed-off-by: Marc-André Lureau <marcandre.lureau@...hat.com> > --- > fs/fcntl.c | 2 +- > include/linux/shmem_fs.h | 4 ++-- > mm/shmem.c | 10 +++++----- > 3 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/fs/fcntl.c b/fs/fcntl.c > index 448a1119f0be..752c23743616 100644 > --- a/fs/fcntl.c > +++ b/fs/fcntl.c > @@ -417,7 +417,7 @@ static long do_fcntl(int fd, unsigned int cmd, unsigned long arg, > break; > case F_ADD_SEALS: > case F_GET_SEALS: > - err = shmem_fcntl(filp, cmd, arg); > + err = memfd_fcntl(filp, cmd, arg); > break; > case F_GET_RW_HINT: > case F_SET_RW_HINT: > diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h > index 557d0c3b6eca..0dac8c0f4aa4 100644 > --- a/include/linux/shmem_fs.h > +++ b/include/linux/shmem_fs.h > @@ -109,11 +109,11 @@ extern void shmem_uncharge(struct inode *inode, long pages); > > #ifdef CONFIG_TMPFS > > -extern long shmem_fcntl(struct file *file, unsigned int cmd, unsigned long arg); > +extern long memfd_fcntl(struct file *file, unsigned int cmd, unsigned long arg); > > #else > > -static inline long shmem_fcntl(struct file *f, unsigned int c, unsigned long a) > +static inline long memfd_fcntl(struct file *f, unsigned int c, unsigned long a) > { > return -EINVAL; > } Do we want memfd_fcntl() to work for hugetlbfs if CONFIG_TMPFS is not defined? I admit that having CONFIG_HUGETLBFS defined without CONFIG_TMPFS is unlikely, but I think possible. Based on the above #ifdef/#else, I think hugetlbfs seals will not work if CONFIG_TMPFS is not defined. -- Mike Kravetz > diff --git a/mm/shmem.c b/mm/shmem.c > index 37260c5e12fa..b7811979611f 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -2722,7 +2722,7 @@ static int shmem_wait_for_pins(struct address_space *mapping) > F_SEAL_GROW | \ > F_SEAL_WRITE) > > -static int shmem_add_seals(struct file *file, unsigned int seals) > +static int memfd_add_seals(struct file *file, unsigned int seals) > { > struct inode *inode = file_inode(file); > struct shmem_inode_info *info = SHMEM_I(inode); > @@ -2792,7 +2792,7 @@ static int shmem_add_seals(struct file *file, unsigned int seals) > return error; > } > > -static int shmem_get_seals(struct file *file) > +static int memfd_get_seals(struct file *file) > { > if (file->f_op != &shmem_file_operations) > return -EINVAL; > @@ -2800,7 +2800,7 @@ static int shmem_get_seals(struct file *file) > return SHMEM_I(file_inode(file))->seals; > } > > -long shmem_fcntl(struct file *file, unsigned int cmd, unsigned long arg) > +long memfd_fcntl(struct file *file, unsigned int cmd, unsigned long arg) > { > long error; > > @@ -2810,10 +2810,10 @@ long shmem_fcntl(struct file *file, unsigned int cmd, unsigned long arg) > if (arg > UINT_MAX) > return -EINVAL; > > - error = shmem_add_seals(file, arg); > + error = memfd_add_seals(file, arg); > break; > case F_GET_SEALS: > - error = shmem_get_seals(file); > + error = memfd_get_seals(file); > break; > default: > error = -EINVAL; >
Powered by blists - more mailing lists