Skip to content
  1. May 08, 2019
    • Linus Torvalds's avatar
      Merge tag 'afs-next-20190507' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · e5fef2a9
      Linus Torvalds authored
      Pull AFS updates from David Howells:
       "A set of fix and development patches for AFS for 5.2.
      
        Summary:
      
         - Fix the AFS file locking so that sqlite can run on an AFS mount and
           also so that firefox and gnome can use a homedir that's mounted
           through AFS.
      
           This required emulation of fine-grained locking when the server
           will only support whole-file locks and no upgrade/downgrade. Four
           modes are provided, settable by mount parameter:
      
             "flock=local"   - No reference to the server
      
             "flock=openafs" - Fine-grained locks are local-only, whole-file
                               locks require sufficient server locks
      
             "flock=strict"  - All locks require sufficient server locks
      
             "flock=write"   - Always get an exclusive server lock
      
           If the volume is a read-only or backup volume, then flock=local for
           that volume.
      
         - Log extra information for a couple of cases where the client mucks
           up somehow: AFS vnode with undefined type and dir check failure -
           in both cases we seem to end up with unfilled data, but the issues
           happen infrequently and are difficult to reproduce at will.
      
         - Implement silly rename for unlink() and rename().
      
         - Set i_blocks so that du can get some information about usage.
      
         - Fix xattr handlers to return the right amount of data and to not
           overflow buffers.
      
         - Implement getting/setting raw AFS and YFS ACLs as xattrs"
      
      * tag 'afs-next-20190507' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Implement YFS ACL setting
        afs: Get YFS ACLs and information through xattrs
        afs: implement acl setting
        afs: Get an AFS3 ACL as an xattr
        afs: Fix getting the afs.fid xattr
        afs: Fix the afs.cell and afs.volume xattr handlers
        afs: Calculate i_blocks based on file size
        afs: Log more information for "kAFS: AFS vnode with undefined type\n"
        afs: Provide mount-time configurable byte-range file locking emulation
        afs: Add more tracepoints
        afs: Implement sillyrename for unlink and rename
        afs: Add directory reload tracepoint
        afs: Handle lock rpc ops failing on a file that got deleted
        afs: Improve dir check failure reports
        afs: Add file locking tracepoints
        afs: Further fix file locking
        afs: Fix AFS file locking to allow fine grained locks
        afs: Calculate lock extend timer from set/extend reply reception
        afs: Split wait from afs_make_call()
      e5fef2a9
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 149e703c
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "Assorted stuff, with no common topic whatsoever..."
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        libfs: document simple_get_link()
        Documentation/filesystems/Locking: fix ->get_link() prototype
        Documentation/filesystems/vfs.txt: document how ->i_link works
        Documentation/filesystems/vfs.txt: remove bogus "Last updated" date
        fs: use timespec64 in relatime_need_update
        fs/block_dev.c: remove unused include
      149e703c
    • Linus Torvalds's avatar
      Merge branch 'work.file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d897166d
      Linus Torvalds authored
      Pull vfs 'struct file' related updates from Al Viro:
       "A bit more of 'this fget() would be better off as fdget()'
        whack-a-mole + a couple of ->f_count-related cleanups"
      
      * 'work.file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        media: switch to fdget()
        drm_syncobj: switch to fdget()
        amdgpu: switch to fdget()
        don't open-code file_count()
        fs: drop unused fput_atomic definition
      d897166d
    • Linus Torvalds's avatar
      Merge branch 'work.mount-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 40091325
      Linus Torvalds authored
      Pull mount ABI updates from Al Viro:
       "The syscalls themselves, finally.
      
        That's not all there is to that stuff, but switching individual
        filesystems to new methods is fortunately independent from everything
        else, so e.g. NFS series can go through NFS tree, etc.
      
        As those conversions get done, we'll be finally able to get rid of a
        bunch of duplication in fs/super.c introduced in the beginning of the
        entire thing. I expect that to be finished in the next window..."
      
      * 'work.mount-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: Add a sample program for the new mount API
        vfs: syscall: Add fspick() to select a superblock for reconfiguration
        vfs: syscall: Add fsmount() to create a mount for a superblock
        vfs: syscall: Add fsconfig() for configuring and managing a context
        vfs: Implement logging through fs_context
        vfs: syscall: Add fsopen() to prepare for superblock creation
        Make anon_inodes unconditional
        teach move_mount(2) to work with OPEN_TREE_CLONE
        vfs: syscall: Add move_mount(2) to move mounts around
        vfs: syscall: Add open_tree(2) to reference or clone a mount
      40091325
    • Linus Torvalds's avatar
      Merge branch 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d27fb65b
      Linus Torvalds authored
      Pull misc dcache updates from Al Viro:
       "Most of this pile is putting name length into struct name_snapshot and
        making use of it.
      
        The beginning of this series ("ovl_lookup_real_one(): don't bother
        with strlen()") ought to have been split in two (separate switch of
        name_snapshot to struct qstr from overlayfs reaping the trivial
        benefits of that), but I wanted to avoid a rebase - by the time I'd
        spotted that it was (a) in -next and (b) close to 5.1-final ;-/"
      
      * 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        audit_compare_dname_path(): switch to const struct qstr *
        audit_update_watch(): switch to const struct qstr *
        inotify_handle_event(): don't bother with strlen()
        fsnotify: switch send_to_group() and ->handle_event to const struct qstr *
        fsnotify(): switch to passing const struct qstr * for file_name
        switch fsnotify_move() to passing const struct qstr * for old_name
        ovl_lookup_real_one(): don't bother with strlen()
        sysv: bury the broken "quietly truncate the long filenames" logics
        nsfs: unobfuscate
        unexport d_alloc_pseudo()
      d27fb65b
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · d3511f53
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Many great new features, fixes and optimizations, including:
      
         - Convert page table updates to use per-pagetable spinlocks which
           overall improves performance on SMP machines a lot, by Mikulas
           Patocka
      
         - Kernel debugger (KGDB) support, by Sven Schnelle
      
         - KPROBES support, by Sven Schnelle
      
         - Lots of TLB lock/flush improvements, by Dave Anglin
      
         - Drop DISCONTIGMEM and switch to SPARSEMEM
      
         - Added JUMP_LABEL, branch runtime-patching support
      
         - Lots of other small speedups and cleanups, e.g. for QEMU, stack
           randomization, avoidance of name clashes, documentation updates,
           etc ..."
      
      * 'parisc-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (28 commits)
        parisc: Add static branch and JUMP_LABEL feature
        parisc: Use PA_ASM_LEVEL in boot code
        parisc: Rename LEVEL to PA_ASM_LEVEL to avoid name clash with DRBD code
        parisc: Update huge TLB page support to use per-pagetable spinlock
        parisc: Use per-pagetable spinlock
        parisc: Allow live-patching of __meminit functions
        parisc: Add memory barrier to asm pdc and sync instructions
        parisc: Add memory clobber to TLB purges
        parisc: Use ldcw instruction for SMP spinlock release barrier
        parisc: Remove lock code to serialize TLB operations in pacache.S
        parisc: Switch from DISCONTIGMEM to SPARSEMEM
        parisc: enable wide mode early
        parisc: update feature lists
        parisc: Show n/a if product number not available
        parisc: remove unused flags parameter in __patch_text()
        doc: update kprobes supported architecture list
        parisc: Implement kretprobes
        parisc: remove kprobes.h from generic-y
        parisc: Implement kprobes
        parisc: add functions required by KPROBE_EVENTS
        ...
      d3511f53
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20190507' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 02aff8db
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "We've got a reasonably broad set of audit patches for the v5.2 merge
        window, the highlights are below:
      
         - The biggest change, and the source of all the arch/* changes, is
           the patchset from Dmitry to help enable some of the work he is
           doing around PTRACE_GET_SYSCALL_INFO.
      
           To be honest, including this in the audit tree is a bit of a
           stretch, but it does help move audit a little further along towards
           proper syscall auditing for all arches, and everyone else seemed to
           agree that audit was a "good" spot for this to land (or maybe they
           just didn't want to merge it? dunno.).
      
         - We can now audit time/NTP adjustments.
      
         - We continue the work to connect associated audit records into a
           single event"
      
      * tag 'audit-pr-20190507' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit: (21 commits)
        audit: fix a memory leak bug
        ntp: Audit NTP parameters adjustment
        timekeeping: Audit clock adjustments
        audit: purge unnecessary list_empty calls
        audit: link integrity evm_write_xattrs record to syscall event
        syscall_get_arch: add "struct task_struct *" argument
        unicore32: define syscall_get_arch()
        Move EM_UNICORE to uapi/linux/elf-em.h
        nios2: define syscall_get_arch()
        nds32: define syscall_get_arch()
        Move EM_NDS32 to uapi/linux/elf-em.h
        m68k: define syscall_get_arch()
        hexagon: define syscall_get_arch()
        Move EM_HEXAGON to uapi/linux/elf-em.h
        h8300: define syscall_get_arch()
        c6x: define syscall_get_arch()
        arc: define syscall_get_arch()
        Move EM_ARCOMPACT and EM_ARCV2 to uapi/linux/elf-em.h
        audit: Make audit_log_cap and audit_copy_inode static
        audit: connect LOGIN record to its syscall record
        ...
      02aff8db
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20190507' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · f72dae20
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
       "We've got a few SELinux patches for the v5.2 merge window, the
        highlights are below:
      
         - Add LSM hooks, and the SELinux implementation, for proper labeling
           of kernfs. While we are only including the SELinux implementation
           here, the rest of the LSM folks have given the hooks a thumbs-up.
      
         - Update the SELinux mdp (Make Dummy Policy) script to actually work
           on a modern system.
      
         - Disallow userspace to change the LSM credentials via
           /proc/self/attr when the task's credentials are already overridden.
      
           The change was made in procfs because all the LSM folks agreed this
           was the Right Thing To Do and duplicating it across each LSM was
           going to be annoying"
      
      * tag 'selinux-pr-20190507' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        proc: prevent changes to overridden credentials
        selinux: Check address length before reading address family
        kernfs: fix xattr name handling in LSM helpers
        MAINTAINERS: update SELinux file patterns
        selinux: avoid uninitialized variable warning
        selinux: remove useless assignments
        LSM: lsm_hooks.h - fix missing colon in docstring
        selinux: Make selinux_kernfs_init_security static
        kernfs: initialize security of newly created nodes
        selinux: implement the kernfs_init_security hook
        LSM: add new hook for kernfs node initialization
        kernfs: use simple_xattrs for security attributes
        selinux: try security xattr after genfs for kernfs filesystems
        kernfs: do not alloc iattrs in kernfs_xattr_get
        kernfs: clean up struct kernfs_iattrs
        scripts/selinux: fix build
        selinux: use kernel linux/socket.h for genheaders and mdp
        scripts/selinux: modernize mdp
      f72dae20
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb · 498e8631
      Linus Torvalds authored
      Pull swiotlb updates from Konrad Rzeszutek Wilk:
       "Cleanups in the swiotlb code and extra debugfs knobs to help with the
        field diagnostics"
      
      * 'stable/for-linus-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
        swiotlb-xen: ensure we have a single callsite for xen_dma_map_page
        swiotlb-xen: simplify the DMA sync method implementations
        swiotlb-xen: use ->map_page to implement ->map_sg
        swiotlb-xen: make instances match their method names
        swiotlb: save io_tlb_used to local variable before leaving critical section
        swiotlb: dump used and total slots when swiotlb buffer is full
      498e8631
    • Linus Torvalds's avatar
      Merge tag 'for-5.2/libata-20190507' of git://git.kernel.dk/linux-block · e4eaa9ef
      Linus Torvalds authored
      Pull libata updates from Jens Axboe:
       "Just two minor fixes queued up for 5.2, adding support for two
        different platforms to ahci"
      
      * tag 'for-5.2/libata-20190507' of git://git.kernel.dk/linux-block:
        ahci: qoriq: add ls1028a platforms support
        ahci: qoriq: add lx2160 platforms support
      e4eaa9ef
    • Linus Torvalds's avatar
      Merge tag 'for-5.2/io_uring-20190507' of git://git.kernel.dk/linux-block · 52ae2456
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
       "Set of changes/improvements for io_uring. This contains:
      
         - Fix of a shadowed variable (Colin)
      
         - Add support for draining commands (me)
      
         - Add support for sync_file_range() (me)
      
         - Add eventfd support (me)
      
         - cpu_online() fix (Shenghui)
      
         - Removal of a redundant ->error assignment (Stefan)"
      
      * tag 'for-5.2/io_uring-20190507' of git://git.kernel.dk/linux-block:
        io_uring: use cpu_online() to check p->sq_thread_cpu instead of cpu_possible()
        io_uring: fix shadowed variable ret return code being not checked
        req->error only used for iopoll
        io_uring: add support for eventfd notifications
        io_uring: add support for IORING_OP_SYNC_FILE_RANGE
        fs: add sync_file_range() helper
        io_uring: add support for marking commands as draining
      52ae2456
    • Linus Torvalds's avatar
      Merge tag 'for-5.2/block-20190507' of git://git.kernel.dk/linux-block · 67a24222
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
       "Nothing major in this series, just fixes and improvements all over the
        map. This contains:
      
         - Series of fixes for sed-opal (David, Jonas)
      
         - Fixes and performance tweaks for BFQ (via Paolo)
      
         - Set of fixes for bcache (via Coly)
      
         - Set of fixes for md (via Song)
      
         - Enabling multi-page for passthrough requests (Ming)
      
         - Queue release fix series (Ming)
      
         - Device notification improvements (Martin)
      
         - Propagate underlying device rotational status in loop (Holger)
      
         - Removal of mtip32xx trim support, which has been disabled for years
           (Christoph)
      
         - Improvement and cleanup of nvme command handling (Christoph)
      
         - Add block SPDX tags (Christoph)
      
         - Cleanup/hardening of bio/bvec iteration (Christoph)
      
         - A few NVMe pull requests (Christoph)
      
         - Removal of CONFIG_LBDAF (Christoph)
      
         - Various little fixes here and there"
      
      * tag 'for-5.2/block-20190507' of git://git.kernel.dk/linux-block: (164 commits)
        block: fix mismerge in bvec_advance
        block: don't drain in-progress dispatch in blk_cleanup_queue()
        blk-mq: move cancel of hctx->run_work into blk_mq_hw_sysfs_release
        blk-mq: always free hctx after request queue is freed
        blk-mq: split blk_mq_alloc_and_init_hctx into two parts
        blk-mq: free hw queue's resource in hctx's release handler
        blk-mq: move cancel of requeue_work into blk_mq_release
        blk-mq: grab .q_usage_counter when queuing request from plug code path
        block: fix function name in comment
        nvmet: protect discovery change log event list iteration
        nvme: mark nvme_core_init and nvme_core_exit static
        nvme: move command size checks to the core
        nvme-fabrics: check more command sizes
        nvme-pci: check more command sizes
        nvme-pci: remove an unneeded variable initialization
        nvme-pci: unquiesce admin queue on shutdown
        nvme-pci: shutdown on timeout during deletion
        nvme-pci: fix psdt field for single segment sgls
        nvme-multipath: don't print ANA group state by default
        nvme-multipath: split bios with the ns_head bio_set before submitting
        ...
      67a24222
    • Linus Torvalds's avatar
      Merge tag 'leds-for-5.2-rc1' of... · 8b35ad62
      Linus Torvalds authored
      Merge tag 'leds-for-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
      
      Pull LED updates from Jacek Anaszewski:
       "LED core fixes and improvements:
      
            - avoid races with workqueue
            - Kconfig: pedantic cleanup
            - small fixes for Flash class description
      
        leds-lt3593:
      
            - remove unneeded assignment in lt3593_led_probe
            - drop pdata handling code
      
        leds-blinkm:
      
            - clean up double assignment to data->i2c_addr
      
        leds-pca955x, leds-pca963x:
      
            - revert ACPI support, as it turned out that there is no evidence
                of officially registered ACPI IDs for these devices.
            - make use of device property API
      
        leds-as3645a:
      
            - switch to fwnode property API
      
        LED related addition to ACPI documentation:
      
            - document how to refer to LEDs from remote nodes
      
        LED related fix to ALSA line6/toneport driver:
      
            - avoid polluting led_* namespace
      
        And lm3532 driver relocation from MFD to LED subsystem, accompanied by
        various improvements and optimizations; it entails also a change in
        omap4-droid4-xt894.dts:
      
            - leds: lm3532: Introduce the lm3532 LED driver
            - mfd: ti-lmu: Remove LM3532 backlight driver references
            - ARM: dts: omap4-droid4: Update backlight dt properties
            - dt: lm3532: Add lm3532 dt doc and update ti_lmu doc"
      
      * tag 'leds-for-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        leds: avoid races with workqueue
        ALSA: line6: Avoid polluting led_* namespace
        leds: lm3532: Introduce the lm3532 LED driver
        mfd: ti-lmu: Remove LM3532 backlight driver references
        ARM: dts: omap4-droid4: Update backlight dt properties
        dt: lm3532: Add lm3532 dt doc and update ti_lmu doc
        leds: Small fixes for Flash class description
        leds: blinkm: clean up double assignment to data->i2c_addr
        leds: pca963x: Make use of device property API
        leds: pca955x: Make use of device property API
        leds: lt3593: Remove unneeded assignment in lt3593_led_probe
        leds: lt3593: drop pdata handling code
        leds: pca955x: Revert "Add ACPI support"
        leds: pca963x: Revert "Add ACPI support"
        drivers: leds: Kconfig: pedantic cleanups
        ACPI: Document how to refer to LEDs from remote nodes
        leds: as3645a: Switch to fwnode property API
      8b35ad62
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.2-rc1-part2' of... · f678d6da
      Linus Torvalds authored
      Merge tag 'char-misc-5.2-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
      
      Pull char/misc update part 2 from Greg KH:
       "Here is the "real" big set of char/misc driver patches for 5.2-rc1
      
        Loads of different driver subsystem stuff in here, all over the places:
         - thunderbolt driver updates
         - habanalabs driver updates
         - nvmem driver updates
         - extcon driver updates
         - intel_th driver updates
         - mei driver updates
         - coresight driver updates
         - soundwire driver cleanups and updates
         - fastrpc driver updates
         - other minor driver updates
         - chardev minor fixups
      
        Feels like this tree is getting to be a dumping ground of "small
        driver subsystems" these days. Which is fine with me, if it makes
        things easier for those subsystem maintainers.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.2-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (255 commits)
        intel_th: msu: Add current window tracking
        intel_th: msu: Add a sysfs attribute to trigger window switch
        intel_th: msu: Correct the block wrap detection
        intel_th: Add switch triggering support
        intel_th: gth: Factor out trace start/stop
        intel_th: msu: Factor out pipeline draining
        intel_th: msu: Switch over to scatterlist
        intel_th: msu: Replace open-coded list_{first,last,next}_entry variants
        intel_th: Only report useful IRQs to subdevices
        intel_th: msu: Start handling IRQs
        intel_th: pci: Use MSI interrupt signalling
        intel_th: Communicate IRQ via resource
        intel_th: Add "rtit" source device
        intel_th: Skip subdevices if their MMIO is missing
        intel_th: Rework resource passing between glue layers and core
        intel_th: SPDX-ify the documentation
        intel_th: msu: Fix single mode with IOMMU
        coresight: funnel: Support static funnel
        dt-bindings: arm: coresight: Unify funnel DT binding
        coresight: replicator: Add new device id for static replicator
        ...
      f678d6da
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.2-rc1-part1' of... · 2310673c
      Linus Torvalds authored
      Merge tag 'char-misc-5.2-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
      
      Pull char/misc update part 1 from Greg KH:
       "This contains only a small number of bugfixes that would have gone to
        you for 5.1-rc8 if that had happened, but instead I let them sit in
        linux-next for an extra week just "to be sure".
      
        The "big" patch here is for hyper-v, fixing a bug in their sysfs files
        that could cause big problems. The others are all small fixes,
        resolving reported issues that showed up in 5.1-rcs, plus some odd
        'static' cleanups for the phy drivers that really should have waited
        for -rc1. Most of these are tagged for the stable trees, so 5.1 will
        pick them up.
      
        All of these have been in linux-next for a while, with no reported
        issues"
      
      * tag 'char-misc-5.2-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        misc: rtsx: Fixed rts5260 power saving parameter and sd glitch
        binder: take read mode of mmap_sem in binder_alloc_free_page()
        intel_th: pci: Add Comet Lake support
        stm class: Fix channel bitmap on 32-bit systems
        stm class: Fix channel free in stm output free path
        phy: sun4i-usb: Make sure to disable PHY0 passby for peripheral mode
        phy: fix platform_no_drv_owner.cocci warnings
        phy: mapphone-mdm6600: add gpiolib dependency
        phy: ti: usb2: fix OMAP_CONTROL_PHY dependency
        phy: allwinner: allow compile testing
        phy: qcom-ufs: Make ufs_qcom_phy_disable_iface_clk static
        phy: rockchip-typec: Make usb3_pll_cfg and dp_pll_cfg static
        phy: phy-twl4030-usb: Fix cable state handling
        Drivers: hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup()
        Drivers: hv: vmbus: Fix race condition with new ring_buffer_info mutex
        Drivers: hv: vmbus: Set ring_info field to 0 and remove memset
        Drivers: hv: vmbus: Refactor chan->state if statement
        Drivers: hv: vmbus: Expose monitor data only when monitor pages are used
      2310673c
    • Linus Torvalds's avatar
      Merge tag 'staging-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · e0dccbdf
      Linus Torvalds authored
      Pull staging / IIO driver updates from Greg KH:
       "Here is the big staging and iio driver update for 5.2-rc1.
      
        Lots of tiny fixes all over the staging and IIO driver trees here,
        along with some new IIO drivers.
      
        The "counter" subsystem was added in here as well, as it is needed by
        the IIO drivers and subsystem.
      
        Also we ended up deleting two drivers, making this pull request remove
        a few hundred thousand lines of code, always a nice thing to see. Both
        of the drivers removed have been replaced with "real" drivers in their
        various subsystem directories, and they will be coming to you from
        those locations during this merge window.
      
        There are some core vt/selection changes in here, that was due to some
        cleanups needed for the speakup fixes. Those have all been acked by
        the various subsystem maintainers (i.e. me), so those are ok.
      
        We also added a few new drivers, for some odd hardware, giving new
        developers plenty to work on with basic coding style cleanups to come
        in the near future.
      
        Other than that, nothing unusual here.
      
        All of these have been in linux-next for a while with no reported
        issues, other than an odd gcc warning for one of the new drivers that
        should be fixed up soon"
      
      [ I fixed up the warning myself  - Linus ]
      
      * tag 'staging-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (663 commits)
        staging: kpc2000: kpc_spi: Fix build error for {read,write}q
        Staging: rtl8192e: Remove extra space before break statement
        Staging: rtl8192u: ieee80211: Fix if-else indentation warning
        Staging: rtl8192u: ieee80211: Fix indentation errors by removing extra spaces
        staging: most: cdev: fix chrdev_region leak in mod_exit
        staging: wlan-ng: Fix improper SPDX comment style
        staging: rtl8192u: ieee80211: Resolve ERROR reported by checkpatch
        staging: vc04_services: bcm2835-camera: Compress two lines into one line
        staging: rtl8723bs: core: Use !x in place of NULL comparison.
        staging: rtl8723bs: core: Prefer using the BIT Macro.
        staging: fieldbus: anybus-s: fix wait_for_completion_timeout return handling
        staging: kpc2000: fix up build problems with readq()
        staging: rtlwifi: move remaining phydm .h files
        staging: rtlwifi: strip down phydm .h files
        staging: rtlwifi: delete the staging driver
        staging: fieldbus: anybus-s: rename bus id field to avoid confusion
        staging: fieldbus: anybus-s: keep device bus id in bus endianness
        Staging: sm750fb: Change *array into *const array
        staging: rtl8192u: ieee80211: Fix spelling mistake
        staging: rtl8192u: ieee80211: Replace bit shifting with BIT macro
        ...
      e0dccbdf
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · cf482a49
      Linus Torvalds authored
      Pull driver core/kobject updates from Greg KH:
       "Here is the "big" set of driver core patches for 5.2-rc1
      
        There are a number of ACPI patches in here as well, as Rafael said
        they should go through this tree due to the driver core changes they
        required. They have all been acked by the ACPI developers.
      
        There are also a number of small subsystem-specific changes in here,
        due to some changes to the kobject core code. Those too have all been
        acked by the various subsystem maintainers.
      
        As for content, it's pretty boring outside of the ACPI changes:
         - spdx cleanups
         - kobject documentation updates
         - default attribute groups for kobjects
         - other minor kobject/driver core fixes
      
        All have been in linux-next for a while with no reported issues"
      
      * tag 'driver-core-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (47 commits)
        kobject: clean up the kobject add documentation a bit more
        kobject: Fix kernel-doc comment first line
        kobject: Remove docstring reference to kset
        firmware_loader: Fix a typo ("syfs" -> "sysfs")
        kobject: fix dereference before null check on kobj
        Revert "driver core: platform: Fix the usage of platform device name(pdev->name)"
        init/config: Do not select BUILD_BIN2C for IKCONFIG
        Provide in-kernel headers to make extending kernel easier
        kobject: Improve doc clarity kobject_init_and_add()
        kobject: Improve docs for kobject_add/del
        driver core: platform: Fix the usage of platform device name(pdev->name)
        livepatch: Replace klp_ktype_patch's default_attrs with groups
        cpufreq: schedutil: Replace default_attrs field with groups
        padata: Replace padata_attr_type default_attrs field with groups
        irqdesc: Replace irq_kobj_type's default_attrs field with groups
        net-sysfs: Replace ktype default_attrs field with groups
        block: Replace all ktype default_attrs with groups
        samples/kobject: Replace foo_ktype's default_attrs field with groups
        kobject: Add support for default attribute groups to kobj_type
        driver core: Postpone DMA tear-down until after devres release for probe failure
        ...
      cf482a49
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 01e5d183
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Fix a few memoryleaks
         - Minor improvements to the card initialization sequence
         - Partially support sleepy GPIO controllers for pwrseq eMMC
      
        MMC host:
         - alcor: Work with multiple-entry sglists
         - alcor: Enable DMA for writes
         - meson-gx: Improve tuning support
         - meson-gx: Avoid clock glitch when switching to DDR modes
         - meson-gx: Disable unreliable HS400 mode
         - mmci: Minor updates for support of HW busy detection
         - mmci: Support data transfers for the stm32_sdmmc variant
         - mmci: Restructure code to better support different variants
         - mtk-sd: Add support for version found on MT7620 family SOCs
         - mtk-sd: Add support for the MT8516 version
         - mtk-sd: Add Chaotian Jing as the maintainer
         - sdhci: Reorganize request-code to convert from tasklet to workqueue
         - sdhci_am654: Stabilize support for lower speed modes
         - sdhci-esdhc-imx: Add HS400 support for iMX7ULP
         - sdhci-esdhc-imx: Add support for iMX7ULP version
         - sdhci-of-arasan: Allow to disable DCMDs via DT for CQE
         - sdhci-of-esdhc: Add support for the ls1028a version
         - sdhci-of-esdhc: Several fixups for errata
         - sdhci-pci: Fix BYT OCP setting
         - sdhci-pci: Add support for Intel CML
         - sdhci-tegra: Add support for system suspend/resume
         - sdhci-tegra: Add CQE support for Tegra186 WAR
         - sdhci-tegra: Add support for Tegra194
         - sdhci-tegra: Update HW tuning process
      
        MEMSTICK:
         - I volunteered to help as a maintainer for the memstick subsystem,
           which is reflected by an update to the MAINTAINERS file. Changes
           are funneled through my MMC git and we will use the linux-mmc
           mailing list.
      
        MEMSTICK host:
         - A few minor cleanups"
      
      * tag 'mmc-v5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (87 commits)
        mmc: sdhci-pci: Fix BYT OCP setting
        dt-bindings: mmc: add DT bindings for ls1028a eSDHC host controller
        mmc: alcor: Drop pointer to mmc_host from alcor_sdmmc_host
        mmc: mtk-sd: select REGULATOR
        mmc: mtk-sd: enable internal card-detect logic.
        mmc: mtk-sd: add support for config found in mt7620 family SOCs.
        mmc: mtk-sd: don't hard-code interrupt trigger type
        mmc: core: Fix tag set memory leak
        dt-bindings: mmc: Add support for MT8516 to mtk-sd
        mmc: mmci: Prevent polling for busy detection in IRQ context
        mmc: mmci: Cleanup mmci_cmd_irq() for busy detect
        mmc: usdhi6rol0: mark expected switch fall-throughs
        mmc: core: Verify SD bus width
        mmc: sdhci-esdhc-imx: Add HS400 support for iMX7ULP
        mmc: sdhci-esdhc-imx: add pm_qos to interact with cpuidle
        dt-bindings: mmc: fsl-imx-esdhc: add imx7ulp compatible string
        mmc: meson-gx: add signal resampling tuning
        mmc: meson-gx: remove Rx phase tuning
        mmc: meson-gx: avoid clock glitch when switching to DDR modes
        mmc: meson-gx: disable HS400
        ...
      01e5d183
    • Linus Torvalds's avatar
      Merge tag 'Wimplicit-fallthrough-5.2-rc1' of... · b4b52b88
      Linus Torvalds authored
      Merge tag 'Wimplicit-fallthrough-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull Wimplicit-fallthrough updates from Gustavo A. R. Silva:
       "Mark switch cases where we are expecting to fall through.
      
        This is part of the ongoing efforts to enable -Wimplicit-fallthrough.
      
        Most of them have been baking in linux-next for a whole development
        cycle. And with Stephen Rothwell's help, we've had linux-next
        nag-emails going out for newly introduced code that triggers
        -Wimplicit-fallthrough to avoid gaining more of these cases while we
        work to remove the ones that are already present.
      
        We are getting close to completing this work. Currently, there are
        only 32 of 2311 of these cases left to be addressed in linux-next. I'm
        auditing every case; I take a look into the code and analyze it in
        order to determine if I'm dealing with an actual bug or a false
        positive, as explained here:
      
            https://lore.kernel.org/lkml/c2fad584-1705-a5f2-d63c-824e9b96cf50@embeddedor.com/
      
        While working on this, I've found and fixed the several missing
        break/return bugs, some of them introduced more than 5 years ago.
      
        Once this work is finished, we'll be able to universally enable
        "-Wimplicit-fallthrough" to avoid any of these kinds of bugs from
        entering the kernel again"
      
      * tag 'Wimplicit-fallthrough-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux: (27 commits)
        memstick: mark expected switch fall-throughs
        drm/nouveau/nvkm: mark expected switch fall-throughs
        NFC: st21nfca: Fix fall-through warnings
        NFC: pn533: mark expected switch fall-throughs
        block: Mark expected switch fall-throughs
        ASN.1: mark expected switch fall-through
        lib/cmdline.c: mark expected switch fall-throughs
        lib: zstd: Mark expected switch fall-throughs
        scsi: sym53c8xx_2: sym_nvram: Mark expected switch fall-through
        scsi: sym53c8xx_2: sym_hipd: mark expected switch fall-throughs
        scsi: ppa: mark expected switch fall-through
        scsi: osst: mark expected switch fall-throughs
        scsi: lpfc: lpfc_scsi: Mark expected switch fall-throughs
        scsi: lpfc: lpfc_nvme: Mark expected switch fall-through
        scsi: lpfc: lpfc_nportdisc: Mark expected switch fall-through
        scsi: lpfc: lpfc_hbadisc: Mark expected switch fall-throughs
        scsi: lpfc: lpfc_els: Mark expected switch fall-throughs
        scsi: lpfc: lpfc_ct: Mark expected switch fall-throughs
        scsi: imm: mark expected switch fall-throughs
        scsi: csiostor: csio_wr: mark expected switch fall-through
        ...
      b4b52b88
    • Linus Torvalds's avatar
      Merge tag 'meminit-v5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 2d60d96b
      Linus Torvalds authored
      Pull compiler-based variable initialization updates from Kees Cook:
       "This is effectively part of my gcc-plugins tree, but as this adds some
        Clang support, it felt weird to still call it "gcc-plugins". :)
      
        This consolidates Kconfig for the existing stack variable
        initialization (via structleak and stackleak gcc plugins) and adds
        Alexander Potapenko's support for Clang's new similar functionality.
      
        Summary:
      
         - Consolidate memory initialization Kconfigs (Kees)
      
         - Implement support for Clang's stack variable auto-init (Alexander)"
      
      * tag 'meminit-v5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        security: Implement Clang's stack initialization
        security: Move stackleak config to Kconfig.hardening
        security: Create "kernel hardening" config area
      2d60d96b
    • Linus Torvalds's avatar
      Merge tag 'pidfd-v5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · eac7078a
      Linus Torvalds authored
      Pull pidfd updates from Christian Brauner:
       "This patchset makes it possible to retrieve pidfds at process creation
        time by introducing the new flag CLONE_PIDFD to the clone() system
        call. Linus originally suggested to implement this as a new flag to
        clone() instead of making it a separate system call.
      
        After a thorough review from Oleg CLONE_PIDFD returns pidfds in the
        parent_tidptr argument. This means we can give back the associated pid
        and the pidfd at the same time. Access to process metadata information
        thus becomes rather trivial.
      
        As has been agreed, CLONE_PIDFD creates file descriptors based on
        anonymous inodes similar to the new mount api. They are made
        unconditional by this patchset as they are now needed by core kernel
        code (vfs, pidfd) even more than they already were before (timerfd,
        signalfd, io_uring, epoll etc.). The core patchset is rather small.
        The bulky looking changelist is caused by David's very simple changes
        to Kconfig to make anon inodes unconditional.
      
        A pidfd comes with additional information in fdinfo if the kernel
        supports procfs. The fdinfo file contains the pid of the process in
        the callers pid namespace in the same format as the procfs status
        file, i.e. "Pid:\t%d".
      
        To remove worries about missing metadata access this patchset comes
        with a sample/test program that illustrates how a combination of
        CLONE_PIDFD and pidfd_send_signal() can be used to gain race-free
        access to process metadata through /proc/<pid>.
      
        Further work based on this patchset has been done by Joel. His work
        makes pidfds pollable. It finished too late for this merge window. I
        would prefer to have it sitting in linux-next for a while and send it
        for inclusion during the 5.3 merge window"
      
      * tag 'pidfd-v5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        samples: show race-free pidfd metadata access
        signal: support CLONE_PIDFD with pidfd_send_signal
        clone: add CLONE_PIDFD
        Make anon_inodes unconditional
      eac7078a
    • Linus Torvalds's avatar
      Merge tag 'stream_open-5.2' of https://lab.nexedi.com/kirr/linux · 41bc10ca
      Linus Torvalds authored
      Pull stream_open conversion from Kirill Smelkov:
      
       - remove unnecessary double nonseekable_open from drivers/char/dtlk.c
         as noticed by Pavel Machek while reviewing nonseekable_open ->
         stream_open mass conversion.
      
       - the mass conversion patch promised in commit 10dce8af ("fs:
         stream_open - opener for stream-like files so that read and write can
         run simultaneously without deadlock") and is automatically generated
         by running
      
              $ make coccicheck MODE=patch COCCI=scripts/coccinelle/api/stream_open.cocci
      
         I've verified each generated change manually - that it is correct to
         convert - and each other nonseekable_open instance left - that it is
         either not correct to convert there, or that it is not converted due
         to current stream_open.cocci limitations. More details on this in the
         patch.
      
       - finally, change VFS to pass ppos=NULL into .read/.write for files
         that declare themselves streams. It was suggested by Rasmus Villemoes
         and makes sure that if ppos starts to be erroneously used in a stream
         file, such bug won't go unnoticed and will produce an oops instead of
         creating illusion of position change being taken into account.
      
         Note: this patch does not conflict with "fuse: Add FOPEN_STREAM to
         use stream_open()" that will be hopefully coming via FUSE tree,
         because fs/fuse/ uses new-style .read_iter/.write_iter, and for these
         accessors position is still passed as non-pointer kiocb.ki_pos .
      
      * tag 'stream_open-5.2' of https://lab.nexedi.com/kirr/linux:
        vfs: pass ppos=NULL to .read()/.write() of FMODE_STREAM files
        *: convert stream-like files from nonseekable_open -> stream_open
        dtlk: remove double call to nonseekable_open
      41bc10ca
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.2-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · aa26690f
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "Here's a big pile of new stuff for XFS for 5.2. XFS has grown the
        ability to report metadata health status to userspace after online
        fsck checks the filesystem. The online metadata checking code is (I
        really hope) feature complete with the addition of checks for the
        global fs counters, though it'll remain EXPERIMENTAL for now.
      
        There are also fixes for thundering herds of writeback completions and
        some other deadlocks, fixes for theoretical integer overflow attacks
        on space accounting, and removal of the long-defunct 'mntpt' option
        which was deprecated in the mid-2000s and (it turns out) totally
        broken since 2011 (and nobody complained...).
      
        Summary:
      
         - Fix some more buffer deadlocks when performing an unmount after a
           hard shutdown.
      
         - Fix some minor space accounting issues.
      
         - Fix some use after free problems.
      
         - Make the (undocumented) FITRIM behavior consistent with other
           filesystems.
      
         - Embiggen the xfs geometry ioctl's data structure.
      
         - Introduce a new AG geometry ioctl.
      
         - Introduce a new online health reporting infrastructure and ioctl
           for userspace to query a filesystem's health status.
      
         - Enhance online scrub and repair to update the health reports.
      
         - Reduce thundering herd problems when writeback io completes.
      
         - Fix some transaction reservation type errors.
      
         - Fix integer overflow problems with delayed alloc reservation
           counters.
      
         - Fix some problems where we would exit to userspace without
           unlocking.
      
         - Fix inconsistent behavior when finishing deferred ops fails.
      
         - Strengthen scrub to check incore data against ondisk metadata.
      
         - Remove long-broken mntpt mount option.
      
         - Add an online scrub function for the filesystem summary counters,
           which should make online metadata scrub more or less feature
           complete for now.
      
         - Various cleanups"
      
      * tag 'xfs-5.2-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (38 commits)
        xfs: change some error-less functions to void types
        xfs: add online scrub for superblock counters
        xfs: don't parse the mtpt mount option
        xfs: always rejoin held resources during defer roll
        xfs: add missing error check in xfs_prepare_shift()
        xfs: scrub should check incore counters against ondisk headers
        xfs: allow scrubbers to pause background reclaim
        xfs: rename the speculative block allocation reclaim toggle functions
        xfs: track delayed allocation reservations across the filesystem
        xfs: fix broken bhold behavior in xrep_roll_ag_trans
        xfs: unlock inode when xfs_ioctl_setattr_get_trans can't get transaction
        xfs: kill the xfs_dqtrx_t typedef
        xfs: widen inode delalloc block counter to 64-bits
        xfs: widen quota block counters to 64-bit integers
        xfs: abort unaligned nowait directio early
        xfs: assert that we don't enter agfl freeing with a non-permanent transaction
        xfs: make tr_growdata a permanent transaction
        xfs: merge adjacent io completions of the same type
        xfs: remove unused m_data_workqueue
        xfs: implement per-inode writeback completion queues
        ...
      aa26690f
    • Linus Torvalds's avatar
      Merge tag 'iomap-5.2-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · d8456eaf
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "Nothing particularly exciting here, just adding some callouts for gfs2
        and cleaning a few things.
      
        Summary:
      
         - Add some extra hooks to the iomap buffered write path to enable
           gfs2 journalled writes
      
         - SPDX conversion
      
         - Various refactoring"
      
      * tag 'iomap-5.2-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: move iomap_read_inline_data around
        iomap: Add a page_prepare callback
        iomap: Fix use-after-free error in page_done callback
        fs: Turn __generic_write_end into a void function
        iomap: Clean up __generic_write_end calling
        iomap: convert to SPDX identifier
      d8456eaf
    • Linus Torvalds's avatar
      Merge tag 'jfs-5.2' of git://github.com/kleikamp/linux-shaggy · b8cac3cd
      Linus Torvalds authored
      Pull jfs updates from Dave Kleikamp:
       "Several minor jfs fixes"
      
      * tag 'jfs-5.2' of git://github.com/kleikamp/linux-shaggy:
        jfs: fix bogus variable self-initialization
        fs/jfs: Switch to use new generic UUID API
        jfs: compare old and new mode before setting update_mode flag
        jfs: remove incorrect comment in jfs_superblock
        jfs: fix spelling mistake, EACCESS -> EACCES
      b8cac3cd
    • Linus Torvalds's avatar
      Merge tag 'for-5.2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 9f2e3a53
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "This time the majority of changes are cleanups, though there's still a
        number of changes of user interest.
      
        User visible changes:
      
         - better read time and write checks to catch errors early and before
           writing data to disk (to catch potential memory corruption on data
           that get checksummed)
      
         - qgroups + metadata relocation: last speed up patch int the series
           to address the slowness, there should be no overhead comparing
           balance with and without qgroups
      
         - FIEMAP ioctl does not start a transaction unnecessarily, this can
           result in a speed up and less blocking due to IO
      
         - LOGICAL_INO (v1, v2) does not start transaction unnecessarily, this
           can speed up the mentioned ioctl and scrub as well
      
         - fsync on files with many (but not too many) hardlinks is faster,
           finer decision if the links should be fsynced individually or
           completely
      
         - send tries harder to find ranges to clone
      
         - trim/discard will skip unallocated chunks that haven't been touched
           since the last mount
      
        Fixes:
      
         - send flushes delayed allocation before start, otherwise it could
           miss some changes in case of a very recent rw->ro switch of a
           subvolume
      
         - fix fallocate with qgroups that could lead to space accounting
           underflow, reported as a warning
      
         - trim/discard ioctl honours the requested range
      
         - starting send and dedupe on a subvolume at the same time will let
           only one of them succeed, this is to prevent changes that send
           could miss due to dedupe; both operations are restartable
      
        Core changes:
      
         - more tree-checker validations, errors reported by fuzzing tools:
            - device item
            - inode item
            - block group profiles
      
         - tracepoints for extent buffer locking
      
         - async cow preallocates memory to avoid errors happening too deep in
           the call chain
      
         - metadata reservations for delalloc reworked to better adapt in
           many-writers/low-space scenarios
      
         - improved space flushing logic for intense DIO vs buffered workloads
      
         - lots of cleanups
            - removed unused struct members
            - redundant argument removal
            - properties and xattrs
            - extent buffer locking
            - selftests
            - use common file type conversions
            - many-argument functions reduction"
      
      * tag 'for-5.2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (227 commits)
        btrfs: Use kvmalloc for allocating compressed path context
        btrfs: Factor out common extent locking code in submit_compressed_extents
        btrfs: Set io_tree only once in submit_compressed_extents
        btrfs: Replace clear_extent_bit with unlock_extent
        btrfs: Make compress_file_range take only struct async_chunk
        btrfs: Remove fs_info from struct async_chunk
        btrfs: Rename async_cow to async_chunk
        btrfs: Preallocate chunks in cow_file_range_async
        btrfs: reserve delalloc metadata differently
        btrfs: track DIO bytes in flight
        btrfs: merge calls of btrfs_setxattr and btrfs_setxattr_trans in btrfs_set_prop
        btrfs: delete unused function btrfs_set_prop_trans
        btrfs: start transaction in xattr_handler_set_prop
        btrfs: drop local copy of inode i_mode
        btrfs: drop old_fsflags in btrfs_ioctl_setflags
        btrfs: modify local copy of btrfs_inode flags
        btrfs: drop useless inode i_flags copy and restore
        btrfs: start transaction in btrfs_ioctl_setflags()
        btrfs: export btrfs_set_prop
        btrfs: refactor btrfs_set_props to validate externally
        ...
      9f2e3a53
    • Linus Torvalds's avatar
      Merge branch 'stable-fodder' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 78438ce1
      Linus Torvalds authored
      Pull vfs stable fodder fixes from Al Viro:
      
       - acct_on() fix for deadlock caught by overlayfs folks
      
       - autofs RCU use-after-free SNAFU (->d_manage() can be called
         locklessly, so we need to RCU-delay freeing the objects it looks at)
      
       - (hopefully) the end of "do we need freeing this dentry RCU-delayed"
         whack-a-mole.
      
      * 'stable-fodder' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        autofs: fix use-after-free in lockless ->d_manage()
        dcache: sort the freeing-without-RCU-delay mess for good.
        acct_on(): don't mess with freeze protection
      78438ce1
    • Linus Torvalds's avatar
      Merge branch 'work.icache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 168e153d
      Linus Torvalds authored
      Pull vfs inode freeing updates from Al Viro:
       "Introduction of separate method for RCU-delayed part of
        ->destroy_inode() (if any).
      
        Pretty much as posted, except that destroy_inode() stashes
        ->free_inode into the victim (anon-unioned with ->i_fops) before
        scheduling i_callback() and the last two patches (sockfs conversion
        and folding struct socket_wq into struct socket) are excluded - that
        pair should go through netdev once davem reopens his tree"
      
      * 'work.icache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (58 commits)
        orangefs: make use of ->free_inode()
        shmem: make use of ->free_inode()
        hugetlb: make use of ->free_inode()
        overlayfs: make use of ->free_inode()
        jfs: switch to ->free_inode()
        fuse: switch to ->free_inode()
        ext4: make use of ->free_inode()
        ecryptfs: make use of ->free_inode()
        ceph: use ->free_inode()
        btrfs: use ->free_inode()
        afs: switch to use of ->free_inode()
        dax: make use of ->free_inode()
        ntfs: switch to ->free_inode()
        securityfs: switch to ->free_inode()
        apparmor: switch to ->free_inode()
        rpcpipe: switch to ->free_inode()
        bpf: switch to ->free_inode()
        mqueue: switch to ->free_inode()
        ufs: switch to ->free_inode()
        coda: switch to ->free_inode()
        ...
      168e153d
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8ff468c2
      Linus Torvalds authored
      Pull x86 FPU state handling updates from Borislav Petkov:
       "This contains work started by Rik van Riel and brought to fruition by
        Sebastian Andrzej Siewior with the main goal to optimize when to load
        FPU registers: only when returning to userspace and not on every
        context switch (while the task remains in the kernel).
      
        In addition, this optimization makes kernel_fpu_begin() cheaper by
        requiring registers saving only on the first invocation and skipping
        that in following ones.
      
        What is more, this series cleans up and streamlines many aspects of
        the already complex FPU code, hopefully making it more palatable for
        future improvements and simplifications.
      
        Finally, there's a __user annotations fix from Jann Horn"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits)
        x86/fpu: Fault-in user stack if copy_fpstate_to_sigframe() fails
        x86/pkeys: Add PKRU value to init_fpstate
        x86/fpu: Restore regs in copy_fpstate_to_sigframe() in order to use the fastpath
        x86/fpu: Add a fastpath to copy_fpstate_to_sigframe()
        x86/fpu: Add a fastpath to __fpu__restore_sig()
        x86/fpu: Defer FPU state load until return to userspace
        x86/fpu: Merge the two code paths in __fpu__restore_sig()
        x86/fpu: Restore from kernel memory on the 64-bit path too
        x86/fpu: Inline copy_user_to_fpregs_zeroing()
        x86/fpu: Update xstate's PKRU value on write_pkru()
        x86/fpu: Prepare copy_fpstate_to_sigframe() for TIF_NEED_FPU_LOAD
        x86/fpu: Always store the registers in copy_fpstate_to_sigframe()
        x86/entry: Add TIF_NEED_FPU_LOAD
        x86/fpu: Eager switch PKRU state
        x86/pkeys: Don't check if PKRU is zero before writing it
        x86/fpu: Only write PKRU if it is different from current
        x86/pkeys: Provide *pkru() helpers
        x86/fpu: Use a feature number instead of mask in two more helpers
        x86/fpu: Make __raw_xsave_addr() use a feature number instead of mask
        x86/fpu: Add an __fpregs_load_activate() internal helper
        ...
      8ff468c2
    • Linus Torvalds's avatar
      Merge tag 'ktest-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 68253e71
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt:
       "Minor updates to ktest.pl
      
         - Handle meta characters in grub memu
      
         - Use configurable reboot return code for handling ssh reboots
      
         - Display names and iteration number on error message"
      
      * tag 'ktest-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: introduce REBOOT_RETURN_CODE to confirm the result of REBOOT
        ktest: Add support for meta characters in GRUB_MENU
        ktest: Show name and iteration on errors
      68253e71
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · 09686219
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Allow state reset of printk_once() calls.
      
       - Prevent crashes when dereferencing invalid pointers in vsprintf().
         Only the first byte is checked for simplicity.
      
       - Make vsprintf warnings consistent and inlined.
      
       - Treewide conversion of obsolete %pf, %pF to %ps, %pF printf
         modifiers.
      
       - Some clean up of vsprintf and test_printf code.
      
      * tag 'printk-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
        lib/vsprintf: Make function pointer_string static
        vsprintf: Limit the length of inlined error messages
        vsprintf: Avoid confusion between invalid address and value
        vsprintf: Prevent crash when dereferencing invalid pointers
        vsprintf: Consolidate handling of unknown pointer specifiers
        vsprintf: Factor out %pO handler as kobject_string()
        vsprintf: Factor out %pV handler as va_format()
        vsprintf: Factor out %p[iI] handler as ip_addr_string()
        vsprintf: Do not check address of well-known strings
        vsprintf: Consistent %pK handling for kptr_restrict == 0
        vsprintf: Shuffle restricted_pointer()
        printk: Tie printk_once / printk_deferred_once into .data.once for reset
        treewide: Switch printk users from %pf and %pF to %ps and %pS, respectively
        lib/test_printf: Switch to bitmap_zalloc()
      09686219
  2. May 07, 2019
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching · 573de2a6
      Linus Torvalds authored
      Pull livepatching updates from Jiri Kosina:
      
       - livepatching kselftests improvements from Joe Lawrence and Miroslav
         Benes
      
       - making use of gcc's -flive-patching option when available, from
         Miroslav Benes
      
       - kobject handling cleanups, from Petr Mladek
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
        livepatch: Remove duplicated code for early initialization
        livepatch: Remove custom kobject state handling
        livepatch: Convert error about unsupported reliable stacktrace into a warning
        selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED
        kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled
        selftests/livepatch: use TEST_PROGS for test scripts
      573de2a6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · b4dd05de
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - support for U2F Zero device, from Andrej Shadura
      
       - logitech-dj has historically been treating devices behind
         non-unifying receivers as generic devices, using the HID emulation in
         the receiver. That had several shortcomings (special keys handling,
         battery level monitoring, etc). The driver has been reworked to
         enumarate (and directly communicate with) the devices behind the
         receiver, to avoid the (too) generic HID implementation in the
         receiver itself. All the work done by Benjamin Tissoires and Hans de
         Goede.
      
       - restructuring of intel-ish driver in order to allow for multiple
         clients of the ISH implementation, from Srinivas Pandruvada
      
       - several other smaller fixes and assorted device ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (68 commits)
        HID: logitech-dj: fix spelling in printk
        HID: input: fix assignment of .value
        HID: input: make sure the wheel high resolution multiplier is set
        HID: logitech-dj: add usbhid dependency in Kconfig
        HID: logitech-hidpp: add support for HID++ 1.0 consumer keys reports
        HID: logitech-hidpp: add support for HID++ 1.0 extra mouse buttons reports
        HID: logitech-hidpp: add support for HID++ 1.0 wheel reports
        HID: logitech-hidpp: make hidpp10_set_register_bit a bit more generic
        HID: logitech-hidpp: add input_device ptr to struct hidpp_device
        HID: logitech-hidpp: do not hardcode very long report length
        HID: logitech-hidpp: handle devices attached to 27MHz wireless receivers
        HID: logitech-hidpp: use RAP instead of FAP to get the protocol version
        HID: logitech-hidpp: remove unused origin_is_hid_core function parameter
        HID: logitech-hidpp: remove double assignment from __hidpp_send_report
        HID: logitech-hidpp: do not make failure to get the name fatal
        HID: logitech-hidpp: ignore very-short or empty names
        HID: logitech-hidpp: make .probe usbhid capable
        HID: logitech-hidpp: allow non HID++ devices to be handled by this module
        HID: logitech-dj: add support for Logitech Bluetooth Mini-Receiver
        HID: logitech-dj: make appending of the HID++ descriptors conditional
        ...
      b4dd05de
    • Linus Torvalds's avatar
      Merge tag 'i3c/for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux · 80104bb0
      Linus Torvalds authored
      Pull i3c update from Boris Brezillon:
      
       - Fix a shift wrap bug in the core
      
       - Remove dead code in the DW driver
      
      * tag 'i3c/for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
        i3c: Fix a shift wrap bug in i3c_bus_set_addr_slot_status()
        i3c: master: dw: remove dead code from dw_i3c_master_*_xfers()
      80104bb0
    • David Howells's avatar
      afs: Implement YFS ACL setting · f5e45463
      David Howells authored
      
      
      Implement the setting of YFS ACLs in AFS through the interface of setting
      the afs.yfs.acl extended attribute on the file.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      f5e45463
    • David Howells's avatar
      afs: Get YFS ACLs and information through xattrs · ae46578b
      David Howells authored
      
      
      The YFS/AuriStor variant of AFS provides more capable ACLs and provides
      per-volume ACLs and per-file ACLs as well as per-directory ACLs.  It also
      provides some extra information that can be retrieved through four ACLs:
      
       (1) afs.yfs.acl
      
           The YFS file ACL (not the same format as afs.acl).
      
       (2) afs.yfs.vol_acl
      
           The YFS volume ACL.
      
       (3) afs.yfs.acl_inherited
      
           "1" if a file's ACL is inherited from its parent directory, "0"
           otherwise.
      
       (4) afs.yfs.acl_num_cleaned
      
           The number of of ACEs removed from the ACL by the server because the
           PT entries were removed from the PTS database (ie. the subject is no
           longer known).
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      ae46578b
    • Joe Gorse's avatar
      afs: implement acl setting · b10494af
      Joe Gorse authored
      
      
      Implements the setting of ACLs in AFS by means of setting the
      afs.acl extended attribute on the file.
      
      Signed-off-by: default avatarJoe Gorse <jhgorse@gmail.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      b10494af
    • David Howells's avatar
      afs: Get an AFS3 ACL as an xattr · 260f082b
      David Howells authored
      
      
      Implement an xattr on AFS files called "afs.acl" that retrieves a file's
      ACL.  It returns the raw AFS3 ACL from the result of calling FS.FetchACL,
      leaving any interpretation to userspace.
      
      Note that whilst YFS servers will respond to FS.FetchACL, this will render
      a more-advanced YFS ACL down.  Use "afs.yfs.acl" instead for that.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      260f082b
    • David Howells's avatar
      afs: Fix getting the afs.fid xattr · a2f611a3
      David Howells authored
      The AFS3 FID is three 32-bit unsigned numbers and is represented as three
      up-to-8-hex-digit numbers separated by colons to the afs.fid xattr.
      However, with the advent of support for YFS, the FID is now a 64-bit volume
      number, a 96-bit vnode/inode number and a 32-bit uniquifier (as before).
      Whilst the sprintf in afs_xattr_get_fid() has been partially updated (it
      currently ignores the upper 32 bits of the 96-bit vnode number), the size
      of the stack-based buffer has not been increased to match, thereby allowing
      stack corruption to occur.
      
      Fix this by increasing the buffer size appropriately and conditionally
      including the upper part of the vnode number if it is non-zero.  The latter
      requires the lower part to be zero-padded if the upper part is non-zero.
      
      Fixes: 3b6492df
      
       ("afs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      a2f611a3
    • David Howells's avatar
      afs: Fix the afs.cell and afs.volume xattr handlers · c73aa410
      David Howells authored
      Fix the ->get handlers for the afs.cell and afs.volume xattrs to pass the
      source data size to memcpy() rather than target buffer size.
      
      Overcopying the source data occasionally causes the kernel to oops.
      
      Fixes: d3e3b7ea
      
       ("afs: Add metadata xattrs")
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      c73aa410