1. 20 Dec, 2019 5 commits
    • Paul Durrant's avatar
      xen-blkback: support dynamic unbind/bind · f4eef1b6
      Paul Durrant authored
      By simply re-attaching to shared rings during connect_ring() rather than
      assuming they are freshly allocated (i.e assuming the counters are zero)
      it is possible for vbd instances to be unbound and re-bound from and to
      (respectively) a running guest.
      
      This has been tested by running:
      
      while true;
        do fio --name=randwrite --ioengine=libaio --iodepth=16 \
        --rw=randwrite --bs=4k --direct=1 --size=1G --verify=crc32;
        done
      
      in a PV guest whilst running:
      
      while true;
        do echo vbd-$DOMID-$VBD >unbind;
        echo unbound;
        sleep 5;
        echo vbd-$DOMID-$VBD >bind;
        echo bound;
        sleep 3;
        done
      
      in dom0 from /sys/bus/xen-backend/drivers/vbd to continuously unbind and
      re-bind its system disk image.
      
      This is a highly useful feature for a backend module as it allows it to be
      unloaded and re-loaded (i.e. updated) without requiring domUs to be halted.
      This was also tested by running:
      
      while true;
        do echo vbd-$DOMID-$VBD >unbind;
        echo unbound;
        sleep 5;
        rmmod xen-blkback;
        echo unloaded;
        sleep 1;
        modprobe xen-blkback;
        echo bound;
        cd $(pwd);
        sleep 3;
        done
      
      in dom0 whilst running the same loop as above in the (single) PV guest.
      
      Some (less stressful) testing has also been done using a Windows HVM guest
      with the latest 9.0 PV drivers installed.
      Signed-off-by: default avatarPaul Durrant <pdurrant@amazon.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      f4eef1b6
    • Paul Durrant's avatar
      xen/interface: re-define FRONT/BACK_RING_ATTACH() · 1ee54195
      Paul Durrant authored
      Currently these macros are defined to re-initialize a front/back ring
      (respectively) to values read from the shared ring in such a way that any
      requests/responses that are added to the shared ring whilst the front/back
      is detached will be skipped over. This, in general, is not a desirable
      semantic since most frontend implementations will eventually block waiting
      for a response which would either never appear or never be processed.
      
      Since the macros are currently unused, take this opportunity to re-define
      them to re-initialize a front/back ring using specified values. This also
      allows FRONT/BACK_RING_INIT() to be re-defined in terms of
      FRONT/BACK_RING_ATTACH() using a specified value of 0.
      
      NOTE: BACK_RING_ATTACH() will be used directly in a subsequent patch.
      Signed-off-by: default avatarPaul Durrant <pdurrant@amazon.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      1ee54195
    • Paul Durrant's avatar
      xenbus: limit when state is forced to closed · 672b7763
      Paul Durrant authored
      If a driver probe() fails then leave the xenstore state alone. There is no
      reason to modify it as the failure may be due to transient resource
      allocation issues and hence a subsequent probe() may succeed.
      
      If the driver supports re-binding then only force state to closed during
      remove() only in the case when the toolstack may need to clean up. This can
      be detected by checking whether the state in xenstore has been set to
      closing prior to device removal.
      
      NOTE: Re-bind support is indicated by new boolean in struct xenbus_driver,
            which defaults to false. Subsequent patches will add support to
            some backend drivers.
      Signed-off-by: default avatarPaul Durrant <pdurrant@amazon.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      672b7763
    • Paul Durrant's avatar
      xenbus: move xenbus_dev_shutdown() into frontend code... · c534374e
      Paul Durrant authored
      ...and make it static
      
      xenbus_dev_shutdown() is seemingly intended to cause clean shutdown of PV
      frontends when a guest is rebooted. Indeed the function waits for a
      conpletion which is only set by a call to xenbus_frontend_closed().
      
      This patch removes the shutdown() method from backends and moves
      xenbus_dev_shutdown() from xenbus_probe.c into xenbus_probe_frontend.c,
      renaming it appropriately and making it static.
      
      NOTE: In the case where the backend is running in a driver domain, the
            toolstack should have already terminated any frontends that may be
            using it (since Xen does not support re-startable PV driver domains)
            so xenbus_dev_shutdown() should never be called.
      Signed-off-by: default avatarPaul Durrant <pdurrant@amazon.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      c534374e
    • Nathan Chancellor's avatar
      xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk · 589b7289
      Nathan Chancellor authored
      Clang warns:
      
      ../drivers/block/xen-blkfront.c:1117:4: warning: misleading indentation;
      statement is not part of the previous 'if' [-Wmisleading-indentation]
                      nr_parts = PARTS_PER_DISK;
                      ^
      ../drivers/block/xen-blkfront.c:1115:3: note: previous statement is here
                      if (err)
                      ^
      
      This is because there is a space at the beginning of this line; remove
      it so that the indentation is consistent according to the Linux kernel
      coding style and clang no longer warns.
      
      While we are here, the previous line has some trailing whitespace; clean
      that up as well.
      
      Fixes: c80a4209 ("xen-blkfront: handle Xen major numbers other than XENVBD")
      Link: https://github.com/ClangBuiltLinux/linux/issues/791Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Acked-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      589b7289
  2. 13 Dec, 2019 2 commits
  3. 04 Dec, 2019 2 commits
  4. 02 Dec, 2019 4 commits
  5. 01 Dec, 2019 4 commits
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · b94ae8ad
      Linus Torvalds authored
      Pull seccomp updates from Kees Cook:
       "Mostly this is implementing the new flag SECCOMP_USER_NOTIF_FLAG_CONTINUE,
        but there are cleanups as well.
      
         - implement SECCOMP_USER_NOTIF_FLAG_CONTINUE (Christian Brauner)
      
         - fixes to selftests (Christian Brauner)
      
         - remove secure_computing() argument (Christian Brauner)"
      
      * tag 'seccomp-v5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        seccomp: rework define for SECCOMP_USER_NOTIF_FLAG_CONTINUE
        seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test
        seccomp: simplify secure_computing()
        seccomp: test SECCOMP_USER_NOTIF_FLAG_CONTINUE
        seccomp: add SECCOMP_USER_NOTIF_FLAG_CONTINUE
        seccomp: avoid overflow in implicit constant conversion
      b94ae8ad
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20191126' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 3b805ca1
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Audit is back for v5.5, albeit with only two patches:
      
         - Allow for the auditing of suspicious O_CREAT usage via the new
           AUDIT_ANOM_CREAT record.
      
         - Remove a redundant if-conditional check found during code analysis.
           It's a minor change, but when the pull request is only two patches
           long, you need filler in the pull request email"
      
      [ Heh on the pull request filler. I wish more people tried to write
        better pull request messages, even if maybe it's not worth it for the
        trivial cases ;^)   - Linus ]
      
      * tag 'audit-pr-20191126' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: remove redundant condition check in kauditd_thread()
        audit: Report suspicious O_CREAT usage
      3b805ca1
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20191126' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · ba75082e
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
       "Only three SELinux patches for v5.5:
      
         - Remove the size limit on SELinux policies, the limitation was a
           lingering vestige and no longer necessary.
      
         - Allow file labeling before the policy is loaded. This should ease
           some of the burden when the policy is initially loaded (no need to
           relabel files), but it should also help enable some new system
           concepts which dynamically create the root filesystem in the
           initrd.
      
         - Add support for the "greatest lower bound" policy construct which
           is defined as the intersection of the MLS range of two SELinux
           labels"
      
      * tag 'selinux-pr-20191126' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: default_range glblub implementation
        selinux: allow labeling before policy is loaded
        selinux: remove load size limit
      ba75082e
    • Linus Torvalds's avatar
      Merge tag 'kgdb-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux · 8a99117f
      Linus Torvalds authored
      Pull kgdb updates from Daniel Thompson:
       "The major change here is the work from Douglas Anderson that reworks
        the way kdb stack traces are handled on SMP systems. The effect is to
        allow all CPUs to issue their stack trace which reduced the need for
        architecture specific code to support stack tracing.
      
        Also included are general of clean ups from Doug and myself:
      
         - Remove some unused variables or arguments.
      
         - Tidy up the kdb escape handling code and fix a couple of odd corner
           cases.
      
         - Better ignore escape characters that do not form part of an escape
           sequence. This mostly benefits vi users since they are most likely
           to press escape as a nervous habit but it won't harm anyone else"
      
      * tag 'kgdb-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
        kdb: Tweak escape handling for vi users
        kdb: Improve handling of characters from different input sources
        kdb: Remove special case logic from kdb_read()
        kdb: Simplify code to fetch characters from console
        kdb: Tidy up code to handle escape sequences
        kdb: Avoid array subscript warnings on non-SMP builds
        kdb: Fix stack crawling on 'running' CPUs that aren't the master
        kdb: Fix "btc <cpu>" crash if the CPU didn't round up
        kdb: Remove unused "argcount" param from kdb_bt1(); make btaprompt bool
        kgdb: Remove unused DCPU_SSTEP definition
      8a99117f
  6. 30 Nov, 2019 18 commits
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux · 0dd0c8f7
      Linus Torvalds authored
      Pull Hyper-V updates from Sasha Levin:
      
       - support for new VMBus protocols (Andrea Parri)
      
       - hibernation support (Dexuan Cui)
      
       - latency testing framework (Branden Bonaby)
      
       - decoupling Hyper-V page size from guest page size (Himadri Pandya)
      
      * tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: (22 commits)
        Drivers: hv: vmbus: Fix crash handler reset of Hyper-V synic
        drivers/hv: Replace binary semaphore with mutex
        drivers: iommu: hyperv: Make HYPERV_IOMMU only available on x86
        HID: hyperv: Add the support of hibernation
        hv_balloon: Add the support of hibernation
        x86/hyperv: Implement hv_is_hibernation_supported()
        Drivers: hv: balloon: Remove dependencies on guest page size
        Drivers: hv: vmbus: Remove dependencies on guest page size
        x86: hv: Add function to allocate zeroed page for Hyper-V
        Drivers: hv: util: Specify ring buffer size using Hyper-V page size
        Drivers: hv: Specify receive buffer size using Hyper-V page size
        tools: hv: add vmbus testing tool
        drivers: hv: vmbus: Introduce latency testing
        video: hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver
        video: hyperv: hyperv_fb: Obtain screen resolution from Hyper-V host
        hv_netvsc: Add the support of hibernation
        hv_sock: Add the support of hibernation
        video: hyperv_fb: Add the support of hibernation
        scsi: storvsc: Add the support of hibernation
        Drivers: hv: vmbus: Add module parameter to cap the VMBus version
        ...
      0dd0c8f7
    • Linus Torvalds's avatar
      Merge branch 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8fa91bfa
      Linus Torvalds authored
      Pull RAS fix from Borislav Petkov:
       "One urgent fix for the thermal throttling machinery: the recent change
        reworking the thermal notifications forgot to mask out read-only and
        reserved bits in the thermal status MSRs, leading to exceptions while
        writing those MSRs.
      
        The fix takes care of masking out those bits first"
      
      * 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce/therm_throt: Mask out read-only and reserved MSR bits
      8fa91bfa
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 738d5fab
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Just trivial small updates: An assembler register optimization in the
        inlined networking checksum functions, a compiler warning fix and
        don't unneccesary print a runtime warning on machines which wouldn't
        be affected anyway"
      
      * 'parisc-5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Avoid spurious inequivalent alias kernel error messages
        kexec: Fix pointer-to-int-cast warnings
        parisc: Do not hardcode registers in checksum functions
      738d5fab
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 7794b1d4
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Highlights:
      
         - Infrastructure for secure boot on some bare metal Power9 machines.
           The firmware support is still in development, so the code here
           won't actually activate secure boot on any existing systems.
      
         - A change to xmon (our crash handler / pseudo-debugger) to restrict
           it to read-only mode when the kernel is lockdown'ed, otherwise it's
           trivial to drop into xmon and modify kernel data, such as the
           lockdown state.
      
         - Support for KASLR on 32-bit BookE machines (Freescale / NXP).
      
         - Fixes for our flush_icache_range() and __kernel_sync_dicache()
           (VDSO) to work with memory ranges >4GB.
      
         - Some reworks of the pseries CMM (Cooperative Memory Management)
           driver to make it behave more like other balloon drivers and enable
           some cleanups of generic mm code.
      
         - A series of fixes to our hardware breakpoint support to properly
           handle unaligned watchpoint addresses.
      
        Plus a bunch of other smaller improvements, fixes and cleanups.
      
        Thanks to: Alastair D'Silva, Andrew Donnellan, Aneesh Kumar K.V,
        Anthony Steinhauser, Cédric Le Goater, Chris Packham, Chris Smart,
        Christophe Leroy, Christopher M. Riedl, Christoph Hellwig, Claudio
        Carvalho, Daniel Axtens, David Hildenbrand, Deb McLemore, Diana
        Craciun, Eric Richter, Geert Uytterhoeven, Greg Kroah-Hartman, Greg
        Kurz, Gustavo L. F. Walbon, Hari Bathini, Harish, Jason Yan, Krzysztof
        Kozlowski, Leonardo Bras, Mathieu Malaterre, Mauro S. M. Rodrigues,
        Michal Suchanek, Mimi Zohar, Nathan Chancellor, Nathan Lynch, Nayna
        Jain, Nick Desaulniers, Oliver O'Halloran, Qian Cai, Rasmus Villemoes,
        Ravi Bangoria, Sam Bobroff, Santosh Sivaraj, Scott Wood, Thomas Huth,
        Tyrel Datwyler, Vaibhav Jain, Valentin Longchamp, YueHaibing"
      
      * tag 'powerpc-5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (144 commits)
        powerpc/fixmap: fix crash with HIGHMEM
        x86/efi: remove unused variables
        powerpc: Define arch_is_kernel_initmem_freed() for lockdep
        powerpc/prom_init: Use -ffreestanding to avoid a reference to bcmp
        powerpc: Avoid clang warnings around setjmp and longjmp
        powerpc: Don't add -mabi= flags when building with Clang
        powerpc: Fix Kconfig indentation
        powerpc/fixmap: don't clear fixmap area in paging_init()
        selftests/powerpc: spectre_v2 test must be built 64-bit
        powerpc/powernv: Disable native PCIe port management
        powerpc/kexec: Move kexec files into a dedicated subdir.
        powerpc/32: Split kexec low level code out of misc_32.S
        powerpc/sysdev: drop simple gpio
        powerpc/83xx: map IMMR with a BAT.
        powerpc/32s: automatically allocate BAT in setbat()
        powerpc/ioremap: warn on early use of ioremap()
        powerpc: Add support for GENERIC_EARLY_IOREMAP
        powerpc/fixmap: Use __fix_to_virt() instead of fix_to_virt()
        powerpc/8xx: use the fixmapped IMMR in cpm_reset()
        powerpc/8xx: add __init to cpm1 init functions
        ...
      7794b1d4
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 9dd00138
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - improve ARM implementation of pfn_valid()
      
       - various sparse fixes
      
       - spelling fixes
      
       - add further ARMv8 debug architecture versions
      
       - clang fix for decompressor
      
       - update to generic vDSO
      
       - remove Brahma-B53 from spectre hardening
      
       - initialise broadcast hrtimer device
      
       - use correct nm executable in decompressor
      
       - remove old mcount et.al.
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (26 commits)
        ARM: 8940/1: ftrace: remove mcount(),ftrace_caller_old() and ftrace_call_old()
        ARM: 8939/1: kbuild: use correct nm executable
        ARM: 8938/1: kernel: initialize broadcast hrtimer based clock event device
        ARM: 8937/1: spectre-v2: remove Brahma-B53 from hardening
        ARM: 8933/1: replace Sun/Solaris style flag on section directive
        ARM: 8932/1: Add clock_gettime64 entry point
        ARM: 8931/1: Add clock_getres entry point
        ARM: 8930/1: Add support for generic vDSO
        ARM: 8929/1: use APSR_nzcv instead of r15 as mrc operand
        ARM: 8927/1: ARM/hw_breakpoint: add more ARMv8 debug architecture versions support
        ARM: 8918/2: only build return_address() if needed
        ARM: 8928/1: ARM_ERRATA_775420: Spelling s/date/data/
        ARM: 8925/1: tcm: include <asm/tcm.h> for missing declarations
        ARM: 8924/1: tcm: make dtcm_end and itcm_end static
        ARM: 8923/1: mm: include <asm/vga.h> for vga_base
        ARM: 8922/1: parse_dt_topology() rate is pointer to __be32
        ARM: 8920/1: share get_signal_page from signal.c to process.c
        ARM: 8919/1: make unexported functions static
        ARM: 8917/1: mm: include <asm/set_memory.h>
        ARM: 8916/1: mm: make set_section_perms() static
        ...
      9dd00138
    • Linus Torvalds's avatar
      Merge tag 'nds32-for-linus-5.5-rc1' of... · 2309d076
      Linus Torvalds authored
      Merge tag 'nds32-for-linus-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux
      
      Pull nds32 updates from Greentime Hu:
      
       - code clean up
      
       - add a nds32 maintainer
      
      * tag 'nds32-for-linus-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux:
        MAINTAINERS: add nds32 maintainer
        nds32: Move static keyword to the front of declaration
        nds32: Fix typo in Kconfig.cpu
        nds32: remove unneeded clean-files for DTB
      2309d076
    • Linus Torvalds's avatar
      Merge tag 'notifications-pipe-prep-20191115' of... · 6a965666
      Linus Torvalds authored
      Merge tag 'notifications-pipe-prep-20191115' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
      
      Pull pipe rework from David Howells:
       "This is my set of preparatory patches for building a general
        notification queue on top of pipes. It makes a number of significant
        changes:
      
         - It removes the nr_exclusive argument from __wake_up_sync_key() as
           this is always 1. This prepares for the next step:
      
         - Adds wake_up_interruptible_sync_poll_locked() so that poll can be
           woken up from a function that's holding the poll waitqueue
           spinlock.
      
         - Change the pipe buffer ring to be managed in terms of unbounded
           head and tail indices rather than bounded index and length. This
           means that reading the pipe only needs to modify one index, not
           two.
      
         - A selection of helper functions are provided to query the state of
           the pipe buffer, plus a couple to apply updates to the pipe
           indices.
      
         - The pipe ring is allowed to have kernel-reserved slots. This allows
           many notification messages to be spliced in by the kernel without
           allowing userspace to pin too many pages if it writes to the same
           pipe.
      
         - Advance the head and tail indices inside the pipe waitqueue lock
           and use wake_up_interruptible_sync_poll_locked() to poke poll
           without having to take the lock twice.
      
         - Rearrange pipe_write() to preallocate the buffer it is going to
           write into and then drop the spinlock. This allows kernel
           notifications to then be added the ring whilst it is filling the
           buffer it allocated. The read side is stalled because the pipe
           mutex is still held.
      
         - Don't wake up readers on a pipe if there was already data in it
           when we added more.
      
         - Don't wake up writers on a pipe if the ring wasn't full before we
           removed a buffer"
      
      * tag 'notifications-pipe-prep-20191115' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        pipe: Remove sync on wake_ups
        pipe: Increase the writer-wakeup threshold to reduce context-switch count
        pipe: Check for ring full inside of the spinlock in pipe_write()
        pipe: Remove redundant wakeup from pipe_write()
        pipe: Rearrange sequence in pipe_write() to preallocate slot
        pipe: Conditionalise wakeup in pipe_read()
        pipe: Advance tail pointer inside of wait spinlock in pipe_read()
        pipe: Allow pipes to have kernel-reserved slots
        pipe: Use head and tail pointers for the ring, not cursor and length
        Add wake_up_interruptible_sync_poll_locked()
        Remove the nr_exclusive argument from __wake_up_sync_key()
        pipe: Reduce #inclusion of pipe_fs_i.h
      6a965666
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 32ef9553
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
       "Three fsnotify cleanups"
      
      * tag 'fsnotify_for_v5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fsnotify: Add git tree reference to MAINTAINERS
        fsnotify/fdinfo: exportfs_encode_inode_fh() takes pointer as 4th argument
        fsnotify: move declaration of fsnotify_mark_connector_cachep to fsnotify.h
      32ef9553
    • Linus Torvalds's avatar
      Merge tag 'for_v5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · b8072d5b
      Linus Torvalds authored
      Pull ext2, quota, reiserfs cleanups and fixes from Jan Kara:
      
       - Refactor the quota on/off kernel internal interfaces (mostly for
         ubifs quota support as ubifs does not want to have inodes holding
         quota information)
      
       - A few other small quota fixes and cleanups
      
       - Various small ext2 fixes and cleanups
      
       - Reiserfs xattr fix and one cleanup
      
      * tag 'for_v5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (28 commits)
        ext2: code cleanup for descriptor_loc()
        fs/quota: handle overflows of sysctl fs.quota.* and report as unsigned long
        ext2: fix improper function comment
        ext2: code cleanup for ext2_try_to_allocate()
        ext2: skip unnecessary operations in ext2_try_to_allocate()
        ext2: Simplify initialization in ext2_try_to_allocate()
        ext2: code cleanup by calling ext2_group_last_block_no()
        ext2: introduce new helper ext2_group_last_block_no()
        reiserfs: replace open-coded atomic_dec_and_mutex_lock()
        ext2: check err when partial != NULL
        quota: Handle quotas without quota inodes in dquot_get_state()
        quota: Make dquot_disable() work without quota inodes
        quota: Drop dquot_enable()
        fs: Use dquot_load_quota_inode() from filesystems
        quota: Rename vfs_load_quota_inode() to dquot_load_quota_inode()
        quota: Simplify dquot_resume()
        quota: Factor out setup of quota inode
        quota: Check that quota is not dirty before release
        quota: fix livelock in dquot_writeback_dquots
        ext2: don't set *count in the case of failure in ext2_try_to_allocate()
        ...
      b8072d5b
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · e2d73c30
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "No major kernel updates for this round since I'm fully diving into
        LZMA algorithm internals now to provide high CR XZ algorihm support.
        That needs more work and time for me to get a better compression time.
      
        Summary:
      
         - Introduce superblock checksum support
      
         - Set iowait when waiting I/O for sync decompression path
      
         - Several code cleanups"
      
      * tag 'erofs-for-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: remove unnecessary output in erofs_show_options()
        erofs: drop all vle annotations for runtime names
        erofs: support superblock checksum
        erofs: set iowait for sync decompression
        erofs: clean up decompress queue stuffs
        erofs: get rid of __stagingpage_alloc helper
        erofs: remove dead code since managed cache is now built-in
        erofs: clean up collection handling routines
      e2d73c30
    • Linus Torvalds's avatar
      Merge tag '5.5-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 21b26d26
      Linus Torvalds authored
      Pull cifs updates from Steve French:
       "Various smb3 fixes (including 12 for stable) and also features
        (addition of multichannel support)"
      
      * tag '5.5-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6: (41 commits)
        CIFS: fix a white space issue in cifs_get_inode_info()
        cifs: update internal module version number
        cifs: Always update signing key of first channel
        cifs: Fix retrieval of DFS referrals in cifs_mount()
        cifs: Fix potential softlockups while refreshing DFS cache
        cifs: Fix lookup of root ses in DFS referral cache
        cifs: Fix use-after-free bug in cifs_reconnect()
        cifs: dump channel info in DebugData
        smb3: dump in_send and num_waiters stats counters by default
        cifs: try harder to open new channels
        CIFS: Properly process SMB3 lease breaks
        cifs: move cifsFileInfo_put logic into a work-queue
        cifs: try opening channels after mounting
        CIFS: refactor cifs_get_inode_info()
        cifs: switch servers depending on binding state
        cifs: add server param
        cifs: add multichannel mount options and data structs
        cifs: sort interface list by speed
        CIFS: Fix SMB2 oplock break processing
        cifs: don't use 'pre:' for MODULE_SOFTDEP
        ...
      21b26d26
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 8f45533e
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've introduced fairly small number of patches as below.
      
        Enhancements:
         - improve the in-place-update IO flow
         - allocate segment to guarantee no GC for pinned files
      
        Bug fixes:
         - fix updatetime in lazytime mode
         - potential memory leak in f2fs_listxattr
         - record parent inode number in rename2 correctly
         - fix deadlock in f2fs_gc along with atomic writes
         - avoid needless data migration in GC"
      
      * tag 'f2fs-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:
        f2fs: stop GC when the victim becomes fully valid
        f2fs: expose main_blkaddr in sysfs
        f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project()
        f2fs: Fix deadlock in f2fs_gc() context during atomic files handling
        f2fs: show f2fs instance in printk_ratelimited
        f2fs: fix potential overflow
        f2fs: fix to update dir's i_pino during cross_rename
        f2fs: support aligned pinned file
        f2fs: avoid kernel panic on corruption test
        f2fs: fix wrong description in document
        f2fs: cache global IPU bio
        f2fs: fix to avoid memory leakage in f2fs_listxattr
        f2fs: check total_segments from devices in raw_super
        f2fs: update multi-dev metadata in resize_fs
        f2fs: mark recovery flag correctly in read_raw_super_block()
        f2fs: fix to update time in lazytime mode
      8f45533e
    • Linus Torvalds's avatar
      Merge tag 'afs-next-20191121' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · 4a55d362
      Linus Torvalds authored
      Pull AFS updates from David Howells:
       "Minor cleanups and fix:
      
         - Minor fix to make some debugging statements display information
           from the correct iov_iter.
      
         - Rename some members and variables to make things more obvious or
           consistent.
      
         - Provide a helper to wrap increments of the usage count on the
           afs_read struct.
      
         - Use scnprintf() to print into a stack buffer rather than sprintf().
      
         - Remove some set but unused variables"
      
      * tag 'afs-next-20191121' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Remove set but not used variable 'ret'
        afs: Remove set but not used variables 'before', 'after'
        afs: xattr: use scnprintf
        afs: Introduce an afs_get_read() refcount helper
        afs: Rename desc -> req in afs_fetch_data()
        afs: Switch the naming of call->iter and call->_iter
        afs: Use call->_iter not &call->iter in debugging statements
      4a55d362
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 50b8b3f8
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "This merge window saw the the following new featuers added to ext4:
      
         - Direct I/O via iomap (required the iomap-for-next branch from
           Darrick as a prereq).
      
         - Support for using dioread-nolock where the block size < page size.
      
         - Support for encryption for file systems where the block size < page
           size.
      
         - Rework of journal credits handling so a revoke-heavy workload will
           not cause the journal to run out of space.
      
         - Replace bit-spinlocks with spinlocks in jbd2
      
        Also included were some bug fixes and cleanups, mostly to clean up
        corner cases from fuzzed file systems and error path handling"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (59 commits)
        ext4: work around deleting a file with i_nlink == 0 safely
        ext4: add more paranoia checking in ext4_expand_extra_isize handling
        jbd2: make jbd2_handle_buffer_credits() handle reserved handles
        ext4: fix a bug in ext4_wait_for_tail_page_commit
        ext4: bio_alloc with __GFP_DIRECT_RECLAIM never fails
        ext4: code cleanup for get_next_id
        ext4: fix leak of quota reservations
        ext4: remove unused variable warning in parse_options()
        ext4: Enable encryption for subpage-sized blocks
        fs/buffer.c: support fscrypt in block_read_full_page()
        ext4: Add error handling for io_end_vec struct allocation
        jbd2: Fine tune estimate of necessary descriptor blocks
        jbd2: Provide trace event for handle restarts
        ext4: Reserve revoke credits for freed blocks
        jbd2: Make credit checking more strict
        jbd2: Rename h_buffer_credits to h_total_credits
        jbd2: Reserve space for revoke descriptor blocks
        jbd2: Drop jbd2_space_needed()
        jbd2: Account descriptor blocks into t_outstanding_credits
        jbd2: Factor out common parts of stopping and restarting a handle
        ...
      50b8b3f8
    • Linus Torvalds's avatar
      Merge tag 'vfs-5.5-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · f112a2fd
      Linus Torvalds authored
      Pull splice fix from Darrick Wong:
       "Fix another place in the splice code where a pipe could ask a
        filesystem for a longer read than the pipe actually has free buffer
        space"
      
      * tag 'vfs-5.5-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        splice: only read in as much information as there is pipe buffer space
      f112a2fd
    • Linus Torvalds's avatar
      Merge tag 'iomap-5.5-merge-11' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 3b266a52
      Linus Torvalds authored
      Pull iomap updates from Darrick Wong:
       "In this release, we hoisted as much of XFS' writeback code into iomap
        as was practicable, refactored the unshare file data function, added
        the ability to perform buffered io copy on write, and tweaked various
        parts of the directio implementation as needed to port ext4's directio
        code (that will be a separate pull).
      
        Summary:
      
         - Make iomap_dio_rw callers explicitly tell us if they want us to
           wait
      
         - Port the xfs writeback code to iomap to complete the buffered io
           library functions
      
         - Refactor the unshare code to share common pieces
      
         - Add support for performing copy on write with buffered writes
      
         - Other minor fixes
      
         - Fix unchecked return in iomap_bmap
      
         - Fix a type casting bug in a ternary statement in
           iomap_dio_bio_actor
      
         - Improve tracepoints for easier diagnostic ability
      
         - Fix pipe page leakage in directio reads"
      
      * tag 'iomap-5.5-merge-11' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (31 commits)
        iomap: Fix pipe page leakage during splicing
        iomap: trace iomap_appply results
        iomap: fix return value of iomap_dio_bio_actor on 32bit systems
        iomap: iomap_bmap should check iomap_apply return value
        iomap: Fix overflow in iomap_page_mkwrite
        fs/iomap: remove redundant check in iomap_dio_rw()
        iomap: use a srcmap for a read-modify-write I/O
        iomap: renumber IOMAP_HOLE to 0
        iomap: use write_begin to read pages to unshare
        iomap: move the zeroing case out of iomap_read_page_sync
        iomap: ignore non-shared or non-data blocks in xfs_file_dirty
        iomap: always use AOP_FLAG_NOFS in iomap_write_begin
        iomap: remove the unused iomap argument to __iomap_write_end
        iomap: better document the IOMAP_F_* flags
        iomap: enhance writeback error message
        iomap: pass a struct page to iomap_finish_page_writeback
        iomap: cleanup iomap_ioend_compare
        iomap: move struct iomap_page out of iomap.h
        iomap: warn on inline maps in iomap_writepage_map
        iomap: lift the xfs writeback code to iomap
        ...
      3b266a52
    • Linus Torvalds's avatar
      Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · aa32f116
      Linus Torvalds authored
      Pull hmm updates from Jason Gunthorpe:
       "This is another round of bug fixing and cleanup. This time the focus
        is on the driver pattern to use mmu notifiers to monitor a VA range.
        This code is lifted out of many drivers and hmm_mirror directly into
        the mmu_notifier core and written using the best ideas from all the
        driver implementations.
      
        This removes many bugs from the drivers and has a very pleasing
        diffstat. More drivers can still be converted, but that is for another
        cycle.
      
         - A shared branch with RDMA reworking the RDMA ODP implementation
      
         - New mmu_interval_notifier API. This is focused on the use case of
           monitoring a VA and simplifies the process for drivers
      
         - A common seq-count locking scheme built into the
           mmu_interval_notifier API usable by drivers that call
           get_user_pages() or hmm_range_fault() with the VA range
      
         - Conversion of mlx5 ODP, hfi1, radeon, nouveau, AMD GPU, and Xen
           GntDev drivers to the new API. This deletes a lot of wonky driver
           code.
      
         - Two improvements for hmm_range_fault(), from testing done by Ralph"
      
      * tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        mm/hmm: remove hmm_range_dma_map and hmm_range_dma_unmap
        mm/hmm: make full use of walk_page_range()
        xen/gntdev: use mmu_interval_notifier_insert
        mm/hmm: remove hmm_mirror and related
        drm/amdgpu: Use mmu_interval_notifier instead of hmm_mirror
        drm/amdgpu: Use mmu_interval_insert instead of hmm_mirror
        drm/amdgpu: Call find_vma under mmap_sem
        nouveau: use mmu_interval_notifier instead of hmm_mirror
        nouveau: use mmu_notifier directly for invalidate_range_start
        drm/radeon: use mmu_interval_notifier_insert
        RDMA/hfi1: Use mmu_interval_notifier_insert for user_exp_rcv
        RDMA/odp: Use mmu_interval_notifier_insert()
        mm/hmm: define the pre-processor related parts of hmm.h even if disabled
        mm/hmm: allow hmm_range to be used with a mmu_interval_notifier or hmm_mirror
        mm/mmu_notifier: add an interval tree notifier
        mm/mmu_notifier: define the header pre-processor parts even if disabled
        mm/hmm: allow snapshot of the special zero page
      aa32f116
    • Linus Torvalds's avatar
      Merge tag 'drm-vmwgfx-coherent-2019-11-29' of git://anongit.freedesktop.org/drm/drm · d5bb349d
      Linus Torvalds authored
      Pull drm coherent memory support for vmwgfx from Dave Airlie:
       "This is a separate pull for the mm pagewalking + drm/vmwgfx work
        Thomas did and you were involved in, I've left it separate in case you
        don't feel as comfortable with it as the other stuff.
      
        It has mm acks/r-b in the right places from what I can see"
      
      * tag 'drm-vmwgfx-coherent-2019-11-29' of git://anongit.freedesktop.org/drm/drm:
        drm/vmwgfx: Add surface dirty-tracking callbacks
        drm/vmwgfx: Implement an infrastructure for read-coherent resources
        drm/vmwgfx: Use an RBtree instead of linked list for MOB resources
        drm/vmwgfx: Implement an infrastructure for write-coherent resources
        mm: Add write-protect and clean utilities for address space ranges
        mm: Add a walk_page_mapping() function to the pagewalk code
        mm: pagewalk: Take the pagetable lock in walk_pte_range()
        mm: Remove BUG_ON mmap_sem not held from xxx_trans_huge_lock()
        drm/ttm: Convert vm callbacks to helpers
        drm/ttm: Remove explicit typecasts of vm_private_data
      d5bb349d
  7. 29 Nov, 2019 3 commits
  8. 28 Nov, 2019 2 commits
    • Linus Torvalds's avatar
      Merge branch 'master' of... · 81b6b964
      Linus Torvalds authored
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux; tag 'dma-mapping-5.5' of git://git.infradead.org/users/hch/dma-mapping
      
      Pull dma-mapping updates from Christoph Hellwig:
      
       - improve dma-debug scalability (Eric Dumazet)
      
       - tiny dma-debug cleanup (Dan Carpenter)
      
       - check for vmap memory in dma_map_single (Kees Cook)
      
       - check for dma_addr_t overflows in dma-direct when using DMA offsets
         (Nicolas Saenz Julienne)
      
       - switch the x86 sta2x11 SOC to use more generic DMA code (Nicolas
         Saenz Julienne)
      
       - fix arm-nommu dma-ranges handling (Vladimir Murzin)
      
       - use __initdata in CMA (Shyam Saini)
      
       - replace the bus dma mask with a limit (Nicolas Saenz Julienne)
      
       - merge the remapping helpers into the main dma-direct flow (me)
      
       - switch xtensa to the generic dma remap handling (me)
      
       - various cleanups around dma_capable (me)
      
       - remove unused dev arguments to various dma-noncoherent helpers (me)
      
      * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux:
      
      * tag 'dma-mapping-5.5' of git://git.infradead.org/users/hch/dma-mapping: (22 commits)
        dma-mapping: treat dev->bus_dma_mask as a DMA limit
        dma-direct: exclude dma_direct_map_resource from the min_low_pfn check
        dma-direct: don't check swiotlb=force in dma_direct_map_resource
        dma-debug: clean up put_hash_bucket()
        powerpc: remove support for NULL dev in __phys_to_dma / __dma_to_phys
        dma-direct: avoid a forward declaration for phys_to_dma
        dma-direct: unify the dma_capable definitions
        dma-mapping: drop the dev argument to arch_sync_dma_for_*
        x86/PCI: sta2x11: use default DMA address translation
        dma-direct: check for overflows on 32 bit DMA addresses
        dma-debug: increase HASH_SIZE
        dma-debug: reorder struct dma_debug_entry fields
        xtensa: use the generic uncached segment support
        dma-mapping: merge the generic remapping helpers into dma-direct
        dma-direct: provide mmap and get_sgtable method overrides
        dma-direct: remove the dma_handle argument to __dma_direct_alloc_pages
        dma-direct: remove __dma_direct_free_pages
        usb: core: Remove redundant vmap checks
        kernel: dma-contiguous: mark CMA parameters __initdata/__initconst
        dma-debug: add a schedule point in debug_dma_dump_mappings()
        ...
      81b6b964
    • Linus Torvalds's avatar
      Merge tag 'ioremap-5.5' of git://git.infradead.org/users/hch/ioremap · a308a710
      Linus Torvalds authored
      Pull generic ioremap support from Christoph Hellwig:
       "This adds the remaining bits for an entirely generic ioremap and
        iounmap to lib/ioremap.c. To facilitate that, it cleans up the giant
        mess of weird ioremap variants we had with no users outside the arch
        code.
      
        For now just the three newest ports use the code, but there is more
        than a handful others that can be converted without too much work.
      
        Summary:
      
         - clean up various obsolete ioremap and iounmap variants
      
         - add a new generic ioremap implementation and switch csky, nds32 and
           riscv over to it"
      
      * tag 'ioremap-5.5' of git://git.infradead.org/users/hch/ioremap: (21 commits)
        nds32: use generic ioremap
        csky: use generic ioremap
        csky: remove ioremap_cache
        riscv: use the generic ioremap code
        lib: provide a simple generic ioremap implementation
        sh: remove __iounmap
        nios2: remove __iounmap
        hexagon: remove __iounmap
        m68k: rename __iounmap and mark it static
        arch: rely on asm-generic/io.h for default ioremap_* definitions
        asm-generic: don't provide ioremap for CONFIG_MMU
        asm-generic: ioremap_uc should behave the same with and without MMU
        xtensa: clean up ioremap
        x86: Clean up ioremap()
        parisc: remove __ioremap
        nios2: remove __ioremap
        alpha: remove the unused __ioremap wrapper
        hexagon: clean up ioremap
        ia64: rename ioremap_nocache to ioremap_uc
        unicore32: remove ioremap_cached
        ...
      a308a710