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
| ||
|
Message-ID: <CAPcyv4jW1sz8415MBfvXkAL9wb-YQyop_o+B9gFnJ3f3xrXMzw@mail.gmail.com> Date: Wed, 11 Oct 2017 15:54:51 -0700 From: Dan Williams <dan.j.williams@...el.com> To: Jan Kara <jack@...e.cz> Cc: linux-fsdevel <linux-fsdevel@...r.kernel.org>, linux-ext4 <linux-ext4@...r.kernel.org>, linux-xfs@...r.kernel.org, Christoph Hellwig <hch@...radead.org>, Ross Zwisler <ross.zwisler@...ux.intel.com>, Ted Tso <tytso@....edu>, "Darrick J. Wong" <darrick.wong@...cle.com> Subject: Re: [PATCH 19/19] xfs: Add support for MAP_SYNC flag On Wed, Oct 11, 2017 at 1:06 PM, Jan Kara <jack@...e.cz> wrote: > Now when everything is prepared, add support in xfs to accept MAP_SYNC > as an mmap(2) flag. > > Signed-off-by: Jan Kara <jack@...e.cz> > --- > fs/ext4/file.c | 1 + > fs/xfs/xfs_file.c | 23 +++++++++++++++++++++++ > 2 files changed, 24 insertions(+) > > diff --git a/fs/ext4/file.c b/fs/ext4/file.c > index f013cda84b3d..6b597cc6b29d 100644 > --- a/fs/ext4/file.c > +++ b/fs/ext4/file.c > @@ -26,6 +26,7 @@ > #include <linux/quotaops.h> > #include <linux/pagevec.h> > #include <linux/uio.h> > +#include <linux/mman.h> > #include "ext4.h" > #include "ext4_jbd2.h" > #include "xattr.h" > diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c > index c45f24ffab22..fb135224476d 100644 > --- a/fs/xfs/xfs_file.c > +++ b/fs/xfs/xfs_file.c > @@ -44,6 +44,7 @@ > #include <linux/falloc.h> > #include <linux/pagevec.h> > #include <linux/backing-dev.h> > +#include <linux/mman.h> > > static const struct vm_operations_struct xfs_file_vm_ops; > > @@ -1142,6 +1143,27 @@ xfs_file_mmap( > return 0; > } > > +#define XFS_MAP_SUPPORTED (LEGACY_MAP_MASK | MAP_SYNC) > + > +static int > +xfs_file_mmap_validate( > + struct file *filp, > + struct vm_area_struct *vma, > + unsigned long map_flags) > +{ > + if (map_flags & ~XFS_MAP_SUPPORTED) > + return -EOPNOTSUPP; > + > + /* > + * We don't support synchronous mappings for non-DAX files. At least > + * until someone comes with a sensible use case. > + */ > + if (!IS_DAX(file_inode(filp)) && (map_flags & MAP_SYNC)) > + return -EOPNOTSUPP; Same comment about using EPERM here. That's also what I'm returning in the MAP_DIRECT case when the inode is a reflink inode and does not support MAP_DIRECT.
Powered by blists - more mailing lists