]> www.infradead.org Git - users/willy/linux.git/commitdiff
Merge remote-tracking branch 'vfs/for-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Mon, 10 Dec 2018 00:06:34 +0000 (11:06 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Mon, 10 Dec 2018 00:06:34 +0000 (11:06 +1100)
74 files changed:
1  2 
arch/arc/kernel/setup.c
arch/mips/kvm/Kconfig
arch/sparc/kernel/setup_64.c
arch/x86/Kconfig
arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
arch/x86/kernel/setup.c
drivers/base/devtmpfs.c
drivers/char/tpm/Kconfig
drivers/dma-buf/Kconfig
drivers/gpio/Kconfig
drivers/gpu/drm/drm_drv.c
drivers/infiniband/Kconfig
drivers/staging/erofs/super.c
drivers/usb/gadget/function/f_fs.c
drivers/vfio/Kconfig
drivers/virtio/virtio_balloon.c
fs/Kconfig
fs/Makefile
fs/afs/internal.h
fs/aio.c
fs/bfs/inode.c
fs/btrfs/super.c
fs/btrfs/tests/btrfs-tests.c
fs/ceph/super.c
fs/cifs/cifs_dfs_ref.c
fs/cifs/cifsfs.c
fs/compat_ioctl.c
fs/cramfs/inode.c
fs/ext2/super.c
fs/ext4/super.c
fs/f2fs/super.c
fs/fat/inode.c
fs/fat/namei_msdos.c
fs/fat/namei_vfat.c
fs/fuse/control.c
fs/fuse/inode.c
fs/gfs2/ops_fstype.c
fs/gfs2/super.c
fs/jffs2/super.c
fs/jfs/super.c
fs/kernfs/mount.c
fs/namespace.c
fs/nfsd/nfsctl.c
fs/openpromfs/inode.c
fs/overlayfs/super.c
fs/pstore/inode.c
fs/super.c
fs/sysv/inode.c
fs/ubifs/super.c
fs/udf/super.c
fs/xfs/xfs_super.c
include/linux/cgroup.h
include/linux/fs.h
include/linux/kernfs.h
include/linux/lsm_hooks.h
include/linux/module.h
include/linux/security.h
include/linux/syscalls.h
include/uapi/linux/fs.h
init/Kconfig
init/do_mounts.c
ipc/mqueue.c
kernel/cgroup/cgroup.c
kernel/trace/trace.c
mm/shmem.c
mm/zsmalloc.c
net/socket.c
security/apparmor/apparmorfs.c
security/apparmor/lsm.c
security/security.c
security/selinux/hooks.c
security/smack/smack_lsm.c
security/smack/smackfs.c
security/tomoyo/tomoyo.c

Simple merge
index 760aec70dce535fb6e766fdab7411381f7a58945,4d06a29bc13b380069aa42b5ad3c0daea3df20b6..b58dae95189dbe54f93bf3beed26be1e22fa9011
@@@ -18,10 -18,8 +18,9 @@@ if VIRTUALIZATIO
  config KVM
        tristate "Kernel-based Virtual Machine (KVM) support"
        depends on HAVE_KVM
 +      depends on MIPS_FP_SUPPORT
        select EXPORT_UASM
        select PREEMPT_NOTIFIERS
-       select ANON_INODES
        select KVM_GENERIC_DIRTYLOG_READ_PROTECT
        select HAVE_KVM_VCPU_ASYNC_IOCTL
        select KVM_MMIO
index cd2825cb84207c16b3cf82870a25877a5793ffee,206bf81eedafc05e6f5a0cd7fa6c36ed0d8a5fb7..0143909503337615fb058ce6f23416e67f21161f
@@@ -32,7 -32,8 +32,8 @@@
  #include <linux/initrd.h>
  #include <linux/module.h>
  #include <linux/start_kernel.h>
 -#include <linux/bootmem.h>
 +#include <linux/memblock.h>
+ #include <uapi/linux/mount.h>
  
  #include <asm/io.h>
  #include <asm/processor.h>
index 463302d64064e0a6b840e9b504c45f5c1d8abd1a,d02baf335d98cec4a037db0c9bd654d9d20d31d9..c94e71b45cc90559a767bb9aa746bf13e52d1e67
@@@ -46,9 -46,7 +46,8 @@@ config X8
        #
        select ACPI_LEGACY_TABLES_LOOKUP        if ACPI
        select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
-       select ANON_INODES
        select ARCH_CLOCKSOURCE_DATA
 +      select ARCH_CLOCKSOURCE_INIT
        select ARCH_DISCARD_MEMBLOCK
        select ARCH_HAS_ACPI_TABLE_UPGRADE      if ACPI
        select ARCH_HAS_DEBUG_VIRTUAL
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 0a3ec7c726ec20fa93eecc9fbb6d351f7af0b8d2,176b943dfec93f57df10f6c4fda13e848a591522..2793ea38649b8be4973f94275ce2fc80b2fdb97b
@@@ -25,8 -25,6 +25,7 @@@ config INFINIBAND_USER_MA
  
  config INFINIBAND_USER_ACCESS
        tristate "InfiniBand userspace access (verbs and CM)"
-       select ANON_INODES
 +      depends on MMU
        ---help---
          Userspace InfiniBand access support.  This enables the
          kernel side of userspace verbs and the userspace
index f69e619807a178c4f3b8281376e9af9cd6c4f6f1,98614f1df0170e95bebdb95c75d04cf2996a64cd..d2a69ea6baad504b19cd906f9a274ebfb5f1f317
@@@ -648,17 -623,10 +648,18 @@@ static int erofs_show_options(struct se
        return 0;
  }
  
- static int erofs_remount(struct super_block *sb, int *flags, char *data)
+ static int erofs_remount(struct super_block *sb, int *flags,
+                        char *data, size_t data_size)
  {
 +      struct erofs_sb_info *sbi = EROFS_SB(sb);
 +      unsigned int org_mnt_opt = sbi->mount_opt;
 +      unsigned int org_inject_rate = erofs_get_fault_rate(sbi);
 +      int err;
 +
        BUG_ON(!sb_rdonly(sb));
 +      err = parse_options(sb, data);
 +      if (err)
 +              goto out;
  
        *flags |= SB_RDONLY;
        return 0;
Simple merge
index 9de5ed38da830a9140a373a4ba0f56b7e0f65ee7,9aa91e736023976239765d29b6d102d59062acc9..3798d77d131c4b0a7581a85058bebb48c1c5adc1
@@@ -21,8 -21,7 +21,7 @@@ config VFIO_VIRQF
  menuconfig VFIO
        tristate "VFIO Non-Privileged userspace driver framework"
        depends on IOMMU_API
 -      select VFIO_IOMMU_TYPE1 if (X86 || S390 || ARM_SMMU || ARM_SMMU_V3)
 +      select VFIO_IOMMU_TYPE1 if (X86 || S390 || ARM || ARM64)
-       select ANON_INODES
        help
          VFIO provides a framework for secure userspace device drivers.
          See Documentation/vfio.txt for more details.
Simple merge
diff --cc fs/Kconfig
Simple merge
diff --cc fs/Makefile
index da0d43eb2bc53a396fd79a8333eb460bb5e6b1a6,e3ea8093b17867514b1acbf7bc69dc709e88179b..b68ce6d489a37642fa603ba9981c739d2c6fc9e9
@@@ -13,7 -13,7 +13,8 @@@ obj-y :=      open.o read_write.o file_table
                seq_file.o xattr.o libfs.o fs-writeback.o \
                pnode.o splice.o sync.o utimes.o d_path.o \
                stack.o fs_struct.o statfs.o fs_pin.o nsfs.o \
 -              fs_context.o fs_parser.o fsopen.o
++              fs_context.o fs_parser.o fsopen.o \
 +              fs_types.o
  
  ifeq ($(CONFIG_BLOCK),y)
  obj-y +=      buffer.o block_dev.o direct-io.o mpage.o
Simple merge
diff --cc fs/aio.c
Simple merge
diff --cc fs/bfs/inode.c
Simple merge
Simple merge
Simple merge
diff --cc fs/ceph/super.c
Simple merge
Simple merge
Simple merge
index 6e30949d9f7794a584c1503fe8dbf7a51d0e83b7,326ceab5246aa918c3e6b4975be601cb556341b3..3eb4dd19c49bd6d17ad0bfc8c08d69807d893ff4
@@@ -429,13 -499,68 +429,6 @@@ static int mt_ioctl_trans(struct file *
  
  #endif /* CONFIG_BLOCK */
  
- /* Bluetooth ioctls */
- #define HCIUARTSETPROTO               _IOW('U', 200, int)
- #define HCIUARTGETPROTO               _IOR('U', 201, int)
- #define HCIUARTGETDEVICE      _IOR('U', 202, int)
- #define HCIUARTSETFLAGS               _IOW('U', 203, int)
- #define HCIUARTGETFLAGS               _IOR('U', 204, int)
 -struct serial_struct32 {
 -        compat_int_t    type;
 -        compat_int_t    line;
 -        compat_uint_t   port;
 -        compat_int_t    irq;
 -        compat_int_t    flags;
 -        compat_int_t    xmit_fifo_size;
 -        compat_int_t    custom_divisor;
 -        compat_int_t    baud_base;
 -        unsigned short  close_delay;
 -        char    io_type;
 -        char    reserved_char[1];
 -        compat_int_t    hub6;
 -        unsigned short  closing_wait; /* time to wait before closing */
 -        unsigned short  closing_wait2; /* no longer used... */
 -        compat_uint_t   iomem_base;
 -        unsigned short  iomem_reg_shift;
 -        unsigned int    port_high;
 -     /* compat_ulong_t  iomap_base FIXME */
 -        compat_int_t    reserved[1];
 -};
 -
 -static int serial_struct_ioctl(struct file *file,
 -              unsigned cmd, struct serial_struct32 __user *ss32)
 -{
 -        typedef struct serial_struct32 SS32;
 -        int err;
 -      struct serial_struct __user *ss = compat_alloc_user_space(sizeof(*ss));
 -        __u32 udata;
 -      unsigned int base;
 -      unsigned char *iomem_base;
 -
 -      if (ss == NULL)
 -              return -EFAULT;
 -        if (cmd == TIOCSSERIAL) {
 -              if (copy_in_user(ss, ss32, offsetof(SS32, iomem_base)) ||
 -                  get_user(udata, &ss32->iomem_base))
 -                      return -EFAULT;
 -              iomem_base = compat_ptr(udata);
 -              if (put_user(iomem_base, &ss->iomem_base) ||
 -                  convert_in_user(&ss32->iomem_reg_shift,
 -                    &ss->iomem_reg_shift) ||
 -                  convert_in_user(&ss32->port_high, &ss->port_high) ||
 -                  put_user(0UL, &ss->iomap_base))
 -                      return -EFAULT;
 -        }
 -      err = do_ioctl(file, cmd, (unsigned long)ss);
 -        if (cmd == TIOCGSERIAL && err >= 0) {
 -              if (copy_in_user(ss32, ss, offsetof(SS32, iomem_base)) ||
 -                  get_user(iomem_base, &ss->iomem_base))
 -                      return -EFAULT;
 -              base = (unsigned long)iomem_base  >> 32 ?
 -                      0xffffffff : (unsigned)(unsigned long)iomem_base;
 -              if (put_user(base, &ss32->iomem_base) ||
 -                  convert_in_user(&ss->iomem_reg_shift,
 -                    &ss32->iomem_reg_shift) ||
 -                  convert_in_user(&ss->port_high, &ss32->port_high))
 -                      return -EFAULT;
 -        }
 -        return err;
 -}
--
  #define RTC_IRQP_READ32               _IOR('p', 0x0b, compat_ulong_t)
  #define RTC_IRQP_SET32                _IOW('p', 0x0c, compat_ulong_t)
  #define RTC_EPOCH_READ32      _IOR('p', 0x0d, compat_ulong_t)
Simple merge
diff --cc fs/ext2/super.c
Simple merge
diff --cc fs/ext4/super.c
Simple merge
diff --cc fs/f2fs/super.c
index 096fd1358d59fe4e1af97f2a5b81d7342ac4a967,89970dd81b0e52a9b6c16e67cf703da49d390e17..6e65ae335eeda198b1069a39ca29d2cf501728d2
@@@ -1449,58 -1419,8 +1449,59 @@@ static void default_options(struct f2fs
  #ifdef CONFIG_QUOTA
  static int f2fs_enable_quotas(struct super_block *sb);
  #endif
- static int f2fs_remount(struct super_block *sb, int *flags, char *data)
 +
 +static int f2fs_disable_checkpoint(struct f2fs_sb_info *sbi)
 +{
 +      struct cp_control cpc;
 +      int err;
 +
 +      sbi->sb->s_flags |= SB_ACTIVE;
 +
 +      mutex_lock(&sbi->gc_mutex);
 +      f2fs_update_time(sbi, DISABLE_TIME);
 +
 +      while (!f2fs_time_over(sbi, DISABLE_TIME)) {
 +              err = f2fs_gc(sbi, true, false, NULL_SEGNO);
 +              if (err == -ENODATA)
 +                      break;
 +              if (err && err != -EAGAIN) {
 +                      mutex_unlock(&sbi->gc_mutex);
 +                      return err;
 +              }
 +      }
 +      mutex_unlock(&sbi->gc_mutex);
 +
 +      err = sync_filesystem(sbi->sb);
 +      if (err)
 +              return err;
 +
 +      if (f2fs_disable_cp_again(sbi))
 +              return -EAGAIN;
 +
 +      mutex_lock(&sbi->gc_mutex);
 +      cpc.reason = CP_PAUSE;
 +      set_sbi_flag(sbi, SBI_CP_DISABLED);
 +      f2fs_write_checkpoint(sbi, &cpc);
 +
 +      sbi->unusable_block_count = 0;
 +      mutex_unlock(&sbi->gc_mutex);
 +      return 0;
 +}
 +
 +static void f2fs_enable_checkpoint(struct f2fs_sb_info *sbi)
 +{
 +      mutex_lock(&sbi->gc_mutex);
 +      f2fs_dirty_to_prefree(sbi);
 +
 +      clear_sbi_flag(sbi, SBI_CP_DISABLED);
 +      set_sbi_flag(sbi, SBI_IS_DIRTY);
 +      mutex_unlock(&sbi->gc_mutex);
 +
 +      f2fs_sync_fs(sbi->sb, 1);
 +}
 +
+ static int f2fs_remount(struct super_block *sb, int *flags,
+                       char *data, size_t data_size)
  {
        struct f2fs_sb_info *sbi = F2FS_SB(sb);
        struct f2fs_mount_info org_mount_opt;
diff --cc fs/fat/inode.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/fuse/inode.c
Simple merge
Simple merge
diff --cc fs/gfs2/super.c
Simple merge
Simple merge
diff --cc fs/jfs/super.c
Simple merge
Simple merge
diff --cc fs/namespace.c
index a7f91265ea671d0f6ebe59d2b9fb0f91bd6155cf,a78b2d1cef08f5d85ffb41ee8a13414a4939c97e..7669ead735b858e660e0bccb397a3f17389d9673
  #include <linux/uaccess.h>
  #include <linux/proc_ns.h>
  #include <linux/magic.h>
 -#include <linux/bootmem.h>
 +#include <linux/memblock.h>
  #include <linux/task_work.h>
  #include <linux/sched/task.h>
+ #include <uapi/linux/mount.h>
+ #include <linux/fs_context.h>
  
  #include "pnode.h"
  #include "internal.h"
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/super.c
Simple merge
diff --cc fs/sysv/inode.c
Simple merge
Simple merge
diff --cc fs/udf/super.c
Simple merge
Simple merge
Simple merge
index d7bf524a05170609278cc8f4630414898c441bfb,aae0aec1adb4fe5ce3469dc8a87b1639e2dd73ed..add88871ec4aef4e7f227a98e3c8972867ff38ee
@@@ -62,8 -61,10 +62,12 @@@ struct workqueue_struct
  struct iov_iter;
  struct fscrypt_info;
  struct fscrypt_operations;
 +struct fsverity_info;
 +struct fsverity_operations;
+ struct fs_context;
+ struct fs_parameter_description;
+ struct fsinfo_kparams;
+ enum fsinfo_attribute;
  
  extern void __init inode_init(void);
  extern void __init inode_init_early(void);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc init/Kconfig
Simple merge
Simple merge
diff --cc ipc/mqueue.c
Simple merge
index 6aaf5dd5383bba294719772bc76b7c1664d54ea9,eab1d8ff4bcb205fe36c35647004cbdb98bce539..1a9fa3de5916e715cb13b1f1c3bccd8b043e2be6
  #include <linux/proc_ns.h>
  #include <linux/nsproxy.h>
  #include <linux/file.h>
+ #include <linux/fs_parser.h>
+ #include <linux/fsinfo.h>
  #include <linux/sched/cputime.h>
 +#include <linux/psi.h>
  #include <net/sock.h>
  
  #define CREATE_TRACE_POINTS
Simple merge
diff --cc mm/shmem.c
Simple merge
diff --cc mm/zsmalloc.c
Simple merge
diff --cc net/socket.c
Simple merge
Simple merge
index 42446a216f3bcfccfe2b0f099f4fa044c1efe6da,416204ea713d6fef075904d8d2c180fd88e4a31e..11a64ab17c76a7fe6bfef3339e57ee05a6e59449
  #include <linux/sysctl.h>
  #include <linux/audit.h>
  #include <linux/user_namespace.h>
 +#include <linux/netfilter_ipv4.h>
 +#include <linux/netfilter_ipv6.h>
  #include <net/sock.h>
+ #include <uapi/linux/mount.h>
  
  #include "include/apparmor.h"
  #include "include/apparmorfs.h"
Simple merge
Simple merge
Simple merge
index 06b517075ec06acad0b213d4aa27eec10986f436,f4e91c5d6c2cbbf750677937faebdaeb26b2a3f0..8972da495dfe905c651472c8f9b7a1ac679e5f9d
@@@ -2850,9 -2851,11 +2851,10 @@@ static const struct file_operations smk
   *
   * Returns 0 on success, an error code on failure
   */
- static int smk_fill_super(struct super_block *sb, void *data, int silent)
+ static int smk_fill_super(struct super_block *sb, void *data, size_t data_size,
+                         int silent)
  {
        int rc;
 -      struct inode *root_inode;
  
        static const struct tree_descr smack_files[] = {
                [SMK_LOAD] = {
Simple merge