1. Oct 14, 2020
    • Linus Torvalds's avatar
      Merge tag 'overflow-v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · b5fc7a89
      Linus Torvalds authored
      Pull overflow update from Kees Cook:
       "Just a single change to help enforce all callers are actually checking
        the results of the helpers"
      
      * tag 'overflow-v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        overflow: Add __must_check attribute to check_*() helpers
      b5fc7a89
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 8b05418b
      Linus Torvalds authored
      Pull seccomp updates from Kees Cook:
       "The bulk of the changes are with the seccomp selftests to accommodate
        some powerpc-specific behavioral characteristics. Additional cleanups,
        fixes, and improvements are also included:
      
         - heavily refactor seccomp selftests (and clone3 selftests
           dependency) to fix powerpc (Kees Cook, Thadeu Lima de Souza
           Cascardo)
      
         - fix style issue in selftests (Zou Wei)
      
         - upgrade "unknown action" from KILL_THREAD to KILL_PROCESS (Rich
           Felker)
      
         - replace task_pt_regs(current) with current_pt_regs() (Denis
           Efremov)
      
         - fix corner-case race in USER_NOTIF (Jann Horn)
      
         - make CONFIG_SECCOMP no longer per-arch (YiFei Zhu)"
      
      * tag 'seccomp-v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (23 commits)
        seccomp: Make duplicate listener detection non-racy
        seccomp: Move config option SECCOMP to arch/Kconfig
        selftests/clone3: Avoid OS-defined clone_args
        selftests/seccomp: powerpc: Set syscall return during ptrace syscall exit
        selftests/seccomp: Allow syscall nr and ret value to be set separately
        selftests/seccomp: Record syscall during ptrace entry
        selftests/seccomp: powerpc: Fix seccomp return value testing
        selftests/seccomp: Remove SYSCALL_NUM_RET_SHARE_REG in favor of SYSCALL_RET_SET
        selftests/seccomp: Avoid redundant register flushes
        selftests/seccomp: Convert REGSET calls into ARCH_GETREG/ARCH_SETREG
        selftests/seccomp: Convert HAVE_GETREG into ARCH_GETREG/ARCH_SETREG
        selftests/seccomp: Remove syscall setting #ifdefs
        selftests/seccomp: mips: Remove O32-specific macro
        selftests/seccomp: arm64: Define SYSCALL_NUM_SET macro
        selftests/seccomp: arm: Define SYSCALL_NUM_SET macro
        selftests/seccomp: mips: Define SYSCALL_NUM_SET macro
        selftests/seccomp: Provide generic syscall setting macro
        selftests/seccomp: Refactor arch register macros to avoid xtensa special case
        selftests/seccomp: Use __NR_mknodat instead of __NR_mknod
        selftests/seccomp: Use bitwise instead of arithmetic operator for flags
        ...
      8b05418b
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20201012' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 7b540812
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
       "A decent number of SELinux patches for v5.10, twenty two in total. The
        highlights are listed below, but all of the patches pass our test
        suite and merge cleanly.
      
         - A number of changes to how the SELinux policy is loaded and managed
           inside the kernel with the goal of improving the atomicity of a
           SELinux policy load operation.
      
           These changes account for the bulk of the diffstat as well as the
           patch count. A special thanks to everyone who contributed patches
           and fixes for this work.
      
         - Convert the SELinux policy read-write lock to RCU.
      
         - A tracepoint was added for audited SELinux access control events;
           this should help provide a more unified backtrace across kernel and
           userspace.
      
         - Allow the removal of security.selinux xattrs when a SELinux policy
           is not loaded.
      
         - Enable policy capabilities in SELinux policies created with the
           scripts/selinux/mdp tool.
      
         - Provide some "no sooner than" dates for the SELinux checkreqprot
           sysfs deprecation"
      
      * tag 'selinux-pr-20201012' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux: (22 commits)
        selinux: provide a "no sooner than" date for the checkreqprot removal
        selinux: Add helper functions to get and set checkreqprot
        selinux: access policycaps with READ_ONCE/WRITE_ONCE
        selinux: simplify away security_policydb_len()
        selinux: move policy mutex to selinux_state, use in lockdep checks
        selinux: fix error handling bugs in security_load_policy()
        selinux: convert policy read-write lock to RCU
        selinux: delete repeated words in comments
        selinux: add basic filtering for audit trace events
        selinux: add tracepoint on audited events
        selinux: Create new booleans and class dirs out of tree
        selinux: Standardize string literal usage for selinuxfs directory names
        selinux: Refactor selinuxfs directory populating functions
        selinux: Create function for selinuxfs directory cleanup
        selinux: permit removing security.selinux xattr before policy load
        selinux: fix memdup.cocci warnings
        selinux: avoid dereferencing the policy prior to initialization
        selinux: fix allocation failure check on newpolicy->sidtab
        selinux: refactor changing booleans
        selinux: move policy commit after updating selinuxfs
        ...
      7b540812
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20201012' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 01fb1e2f
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "A small set of audit patches for v5.10.
      
        There are only three patches in total, and all three are trivial fixes
        that don't really warrant any explanations beyond their descriptions.
        As usual, all three patches pass our test suite"
      
      * tag 'audit-pr-20201012' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: Remove redundant null check
        audit: uninitialize variable audit_sig_sid
        audit: change unnecessary globals into statics
      01fb1e2f
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-5.10' of git://github.com/cschaufler/smack-next · 99a6740f
      Linus Torvalds authored
      Pull smack updates from Casey Schaufler:
       "Two minor fixes and one performance enhancement to Smack. The
        performance improvement is significant and the new code is more like
        its counterpart in SELinux.
      
         - Two kernel test robot suggested clean-ups.
      
         - Teach Smack to use the IPv4 netlabel cache. This results in a
           12-14% improvement on TCP benchmarks"
      
      * tag 'Smack-for-5.10' of git://github.com/cschaufler/smack-next:
        Smack: Remove unnecessary variable initialization
        Smack: Fix build when NETWORK_SECMARK is not set
        Smack: Use the netlabel cache
        Smack: Set socket labels only once
        Smack: Consolidate uses of secmark into a function
      99a6740f
    • Linus Torvalds's avatar
      Merge tag 'tomoyo-pr-20201012' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1 · b274279a
      Linus Torvalds authored
      Pull tomoyo fix from Tetsuo HandaL
       "One patch to make it possible to execute usermode-driver's path"
      
      * tag 'tomoyo-pr-20201012' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1:
        tomoyo: Loosen pathname/domainname validation.
      b274279a
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · d594d8f4
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
       "The big new thing is the fully lockless ringbuffer implementation,
        including the support for continuous lines. It will allow to store and
        read messages in any situation wihtout the risk of deadlocks and
        without the need of temporary per-CPU buffers.
      
        The access is still serialized by logbuf_lock. It synchronizes few
        more operations, for example, temporary buffer for formatting the
        message, syslog and kmsg_dump operations. The lock removal is being
        discussed and should be ready for the next release.
      
        The continuous lines are handled exactly the same way as before to
        avoid regressions in user space. It means that they are appended to
        the last message when the caller is the same. Only the last message
        can be extended.
      
        The data ring includes plain text of the messages. Except for an
        integer at the beginning of each message that points back to the
        descriptor ring with other metadata.
      
        The dictionary has to stay. journalctl uses it to filter the log. It
        allows to show messages related to a given device. The dictionary
        values are stored in the descriptor ring with the other metadata.
      
        This is the first part of the printk rework as discussed at Plumbers
        2019, see https://lore.kernel.org/r/87k1acz5rx.fsf@linutronix.de. The
        next big step will be handling consoles by kthreads during the normal
        system operation. It will require special handling of situations when
        the kthreads could not get scheduled, for example, early boot,
        suspend, panic.
      
        Other changes:
      
         - Add John Ogness as a reviewer for printk subsystem. He is author of
           the rework and is familiar with the code and history.
      
         - Fix locking in serial8250_do_startup() to prevent lockdep report.
      
         - Few code cleanups"
      
      * tag 'printk-for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux: (27 commits)
        printk: Use fallthrough pseudo-keyword
        printk: reduce setup_text_buf size to LOG_LINE_MAX
        printk: avoid and/or handle record truncation
        printk: remove dict ring
        printk: move dictionary keys to dev_printk_info
        printk: move printk_info into separate array
        printk: reimplement log_cont using record extension
        printk: ringbuffer: add finalization/extension support
        printk: ringbuffer: change representation of states
        printk: ringbuffer: clear initial reserved fields
        printk: ringbuffer: add BLK_DATALESS() macro
        printk: ringbuffer: relocate get_data()
        printk: ringbuffer: avoid memcpy() on state_var
        printk: ringbuffer: fix setting state in desc_read()
        kernel.h: Move oops_in_progress to printk.h
        scripts/gdb: update for lockless printk ringbuffer
        scripts/gdb: add utils.read_ulong()
        docs: vmcoreinfo: add lockless printk ringbuffer vmcoreinfo
        printk: reduce LOG_BUF_SHIFT range for H8300
        printk: ringbuffer: support dataless records
        ...
      d594d8f4
    • Linus Torvalds's avatar
      Merge tag 'x86_asm_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 029f56db
      Linus Torvalds authored
      Pull x86 asm updates from Borislav Petkov:
       "Two asm wrapper fixes:
      
         - Use XORL instead of XORQ to avoid a REX prefix and save some bytes
           in the .fixup section, by Uros Bizjak.
      
         - Replace __force_order dummy variable with a memory clobber to fix
           LLVM requiring a definition for former and to prevent memory
           accesses from still being cached/reordered, by Arvind Sankar"
      
      * tag 'x86_asm_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/asm: Replace __force_order with a memory clobber
        x86/uaccess: Use XORL %0,%0 in __get_user_asm()
      029f56db
    • Linus Torvalds's avatar
      Merge tag 'drivers-5.10-2020-10-12' of git://git.kernel.dk/linux-block · 7cd4ecd9
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
       "Here are the driver updates for 5.10.
      
        A few SCSI updates in here too, in coordination with Martin as they
        depend on core block changes for the shared tag bitmap.
      
        This contains:
      
         - NVMe pull requests via Christoph:
            - fix keep alive timer modification (Amit Engel)
            - order the PCI ID list more sensibly (Andy Shevchenko)
            - cleanup the open by controller helper (Chaitanya Kulkarni)
            - use an xarray for the CSE log lookup (Chaitanya Kulkarni)
            - support ZNS in nvmet passthrough mode (Chaitanya Kulkarni)
            - fix nvme_ns_report_zones (Christoph Hellwig)
            - add a sanity check to nvmet-fc (James Smart)
            - fix interrupt allocation when too many polled queues are
              specified (Jeffle Xu)
            - small nvmet-tcp optimization (Mark Wunderlich)
            - fix a controller refcount leak on init failure (Chaitanya
              Kulkarni)
            - misc cleanups ...
      7cd4ecd9
    • Linus Torvalds's avatar
      Merge tag 'libata-5.10-2020-10-12' of git://git.kernel.dk/linux-block · 79ec6d9c
      Linus Torvalds authored
      Pull libata updates from Jens Axboe:
       "Nothing major in here, just fixes or improvements collected over the
        last few months"
      
      * tag 'libata-5.10-2020-10-12' of git://git.kernel.dk/linux-block:
        ata: ahci: mvebu: Make SATA PHY optional for Armada 3720
        MAINTAINERS: remove LIBATA PATA DRIVERS entry
        pata_cmd64x: Use fallthrough pseudo-keyword
        ahci: qoriq: enable acpi support in qoriq ahci driver
        sata, highbank: simplify the return expression of ahci_highbank_suspend
        ahci: Add Intel Rocket Lake PCH-H RAID PCI IDs
      79ec6d9c
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.10-2020-10-12' of git://git.kernel.dk/linux-block · 6ad4bf6e
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
      
       - Add blkcg accounting for io-wq offload (Dennis)
      
       - A use-after-free fix for io-wq (Hillf)
      
       - Cancelation fixes and improvements
      
       - Use proper files_struct references for offload
      
       - Cleanup of io_uring_get_socket() since that can now go into our own
         header
      
       - SQPOLL fixes and cleanups, and support for sharing the thread
      
       - Improvement to how page accounting is done for registered buffers and
         huge pages, accounting the real pinned state
      
       - Series cleaning up the xarray code (Willy)
      
       - Various cleanups, refactoring, and improvements (Pavel)
      
       - Use raw spinlock for io-wq (Sebastian)
      
       - Add support for ring restrictions (Stefano)
      
      * tag 'io_uring-5.10-2020-10-12' of git://git.kernel.dk/linux-block: (62 commits)
        io_uring: keep a pointer ref_node in file_data
        io_uring: refactor *files_register()'s error paths
        io_uring: clean file_data access in files_register
        io_uring: don't delay io_init_req() error check
        io_uring: clean leftovers after splitting issue
        io_uring: remove timeout.list after hrtimer cancel
        io_uring: use a separate struct for timeout_remove
        io_uring: improve submit_state.ios_left accounting
        io_uring: simplify io_file_get()
        io_uring: kill extra check in fixed io_file_get()
        io_uring: clean up ->files grabbing
        io_uring: don't io_prep_async_work() linked reqs
        io_uring: Convert advanced XArray uses to the normal API
        io_uring: Fix XArray usage in io_uring_add_task_file
        io_uring: Fix use of XArray in __io_uring_files_cancel
        io_uring: fix break condition for __io_uring_register() waiting
        io_uring: no need to call xa_destroy() on empty xarray
        io_uring: batch account ->req_issue and task struct references
        io_uring: kill callback_head argument for io_req_task_work_add()
        io_uring: move req preps out of io_issue_sqe()
        ...
      6ad4bf6e
    • Linus Torvalds's avatar
      Merge tag 'block-5.10-2020-10-12' of git://git.kernel.dk/linux-block · 3ad11d7a
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - Series of merge handling cleanups (Baolin, Christoph)
      
       - Series of blk-throttle fixes and cleanups (Baolin)
      
       - Series cleaning up BDI, seperating the block device from the
         backing_dev_info (Christoph)
      
       - Removal of bdget() as a generic API (Christoph)
      
       - Removal of blkdev_get() as a generic API (Christoph)
      
       - Cleanup of is-partition checks (Christoph)
      
       - Series reworking disk revalidation (Christoph)
      
       - Series cleaning up bio flags (Christoph)
      
       - bio crypt fixes (Eric)
      
       - IO stats inflight tweak (Gabriel)
      
       - blk-mq tags fixes (Hannes)
      
       - Buffer invalidation fixes (Jan)
      
       - Allow soft limits for zone append (Johannes)
      
       - Shared tag set improvements (John, Kashyap)
      
       - Allow IOPRIO_CLASS_RT for CAP_SYS_NICE (Khazhismel)
      
       - DM no-wait support (Mike, Konstantin)
      
       - Request allocation improvements (Ming)
      
       - Allow md/dm/bcache to use IO stat helpers (Song)
      
       - Series improving blk-iocost (Tejun)
      
       - Various cleanups (Geert, Damien, Danny, Julia, Tetsuo, Tian, Wang,
         Xianting, Yang, Yufen, yangerkun)
      
      * tag 'block-5.10-2020-10-12' of git://git.kernel.dk/linux-block: (191 commits)
        block: fix uapi blkzoned.h comments
        blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue
        blk-mq: get rid of the dead flush handle code path
        block: get rid of unnecessary local variable
        block: fix comment and add lockdep assert
        blk-mq: use helper function to test hw stopped
        block: use helper function to test queue register
        block: remove redundant mq check
        block: invoke blk_mq_exit_sched no matter whether have .exit_sched
        percpu_ref: don't refer to ref->data if it isn't allocated
        block: ratelimit handle_bad_sector() message
        blk-throttle: Re-use the throtl_set_slice_end()
        blk-throttle: Open code __throtl_de/enqueue_tg()
        blk-throttle: Move service tree validation out of the throtl_rb_first()
        blk-throttle: Move the list operation after list validation
        blk-throttle: Fix IO hang for a corner case
        blk-throttle: Avoid tracking latency if low limit is invalid
        blk-throttle: Avoid getting the current time if tg->last_finish_time is 0
        blk-throttle: Remove a meaningless parameter for throtl_downgrade_state()
        block: Remove redundant 'return' statement
        ...
      3ad11d7a
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 857d6448
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - Fix the #DE oops message string format which confused tools parsing
         crash information (Thomas Gleixner)
      
       - Remove an unused variable in the UV5 code which was triggering a
         build warning with clang (Mike Travis)
      
      * tag 'x86_urgent_for_v5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/uv: Remove unused variable in UV5 NMI handler
        x86/traps: Fix #DE Oops message regression
      857d6448
    • Mike Travis's avatar
    • Thomas Gleixner's avatar
      x86/traps: Fix #DE Oops message regression · 5f1ec1fd
      Thomas Gleixner authored
      The conversion of #DE to the idtentry mechanism introduced a change in the
      Ooops message which confuses tools which parse crash information in dmesg.
      
      Remove the underscore from 'divide_error' to restore previous behaviour.
      
      Fixes: 9d06c402
      
       ("x86/entry: Convert Divide Error to IDTENTRY")
      Reported-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/CACT4Y+bTZFkuZd7+bPArowOv-7Die+WZpfOWnEO_Wgs3U59+oA@mail.gmail.com
      5f1ec1fd
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · c4439713
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
       "New driver and chip support:
         - Moortec MR75203 PVT controller
         - MPS Multi-phase mp2975 controller
         - ADM1266
         - Zen3 CPUs
         - Intel MAX 10 BMC
      
        Enhancements:
         - Support for rated attributes in hwmon core
         - MAX20730:
            - Device monitoring via debugfs
            - VOUT readin adjustment vie devicetree bindings
         - LM75:
            - Devicetree support
            - Regulator support
         - Improved accumulationm logic in amd_energy driver
         - Added fan sensor to gsc-hwmon driver
         - Support for simplified I2C probing
      
        Various other minor fixes and improvements"
      
      * tag 'hwmon-for-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (64 commits)
        hwmon: (pmbus/max20730) adjust the vout reading given voltage divider
        dt-bindings: hwmon: max20730: adding device tree doc for max20730
        hwmon: Add hardware monitoring driver for Moortec MR75203 PVT controller
        hwmon: Add DT bindings schema for PVT controller
        dt-bindings: hwmon: Add the +vs supply to the lm75 bindings
        dt-bindings: hwmon: Convert lm75 bindings to yaml
        docs: hwmon: (ltc2945) update datasheet link
        hwmon: (mlxreg-fan) Fix double "Mellanox"
        hwmon: (pmbus/max20730) add device monitoring via debugfs
        hwmon: (pmbus/max34440) Fix OC fault limits
        hwmon: (bt1-pvt) Wait for the completion with timeout
        hwmon: (bt1-pvt) Cache current update timeout
        hwmon: (bt1-pvt) Test sensor power supply on probe
        hwmon: (lm75) Add regulator support
        hwmon: Add hwmon driver for Intel MAX 10 BMC
        dt-bindings: Add MP2975 voltage regulator device
        hwmon: (pmbus) Add support for MPS Multi-phase mp2975 controller
        hwmon: (tmp513) fix spelling typo in comments
        hwmon: (amd_energy) Update driver documentation
        hwmon: (amd_energy) Improve the accumulation logic
        ...
      c4439713
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 0486beaf
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This time very little driver changes but lots of core changes.
      
        We have some interesting cooperative work for ARM and Intel alike,
        making the GPIO subsystem more and more suitable for industrial
        systems and the like, in addition to the in-kernel users.
      
        We touch driver core (device properties) and lib/* by adding one
        simple string array free function, these are authored by Andy
        Shevchenko who is a well known and recognized core helpers maintainers
        so this should be fine.
      
        We also see some Android GKI-related modularization in the MXC
        drivers.
      
        Core changes:
      
         - The big core change is the updated (v2) userspace character device
           API.
      
           This corrects badly designed 64-bit alignment around the line
           events. We also add the debounce request feature. This echoes the
           often quotes passage from Frederick Brooks "The mythical man-month"
           to always throw one away, which we have seen before in things such
           as V4L2. So we put in a new one and deprecate and obsolete the old
           one.
      
         - All example tools in tools/gpio/* are migrated to the new API to
           set a good example. The libgpiod userspace library has been
           augmented to use this new API pretty much from day 1.
      
         - Some misc API hardening by using strn* function calls has been
           added as well.
      
         - Use the simpler IDA interface for GPIO chip instance enumeration.
      
         - Add device core function for counting string arrays in device
           properties.
      
         - Provide a generic library function kfree_strarray() that can be
           used throughout the kernel.
      
        Driver enhancements:
      
         - The DesignWare dwapb-gpio driver has been enhanced and now uses the
           IRQ handling in the gpiolib core.
      
         - The mockup and aggregator drivers have seen some substantial code
           clean-up and now use more of the core kernel inftrastructure.
      
         - Misc cleanups using dev_err_probe().
      
         - The MXC drivers (Freescale/NXP) can now be built modularized, which
           makes modularized GKI Android kernels happy"
      
      * tag 'gpio-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (73 commits)
        gpiolib: Update header block in gpiolib-cdev.h
        gpiolib: cdev: switch from kstrdup() to kstrndup()
        docs: gpio: add a new document to its index.rst
        gpio: pca953x: Add support for the NXP PCAL9554B/C
        tools: gpio: add debounce support to gpio-event-mon
        tools: gpio: add multi-line monitoring to gpio-event-mon
        tools: gpio: port gpio-event-mon to v2 uAPI
        tools: gpio: port gpio-hammer to v2 uAPI
        tools: gpio: rename nlines to num_lines
        tools: gpio: port gpio-watch to v2 uAPI
        tools: gpio: port lsgpio to v2 uAPI
        gpio: uapi: document uAPI v1 as deprecated
        gpiolib: cdev: support setting debounce
        gpiolib: cdev: support GPIO_V2_LINE_SET_VALUES_IOCTL
        gpiolib: cdev: support GPIO_V2_LINE_SET_CONFIG_IOCTL
        gpiolib: cdev: support edge detection for uAPI v2
        gpiolib: cdev: support GPIO_V2_GET_LINEINFO_IOCTL and GPIO_V2_GET_LINEINFO_WATCH_IOCTL
        gpiolib: cdev: support GPIO_V2_GET_LINE_IOCTL and GPIO_V2_LINE_GET_VALUES_IOCTL
        gpiolib: add build option for CDEV v1 ABI
        gpiolib: make cdev a build option
        ...
      0486beaf
    • Linus Torvalds's avatar
      Merge tag 'spi-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · a996b9c6
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "There's quite a lot of changes for SPI in this release but none in the
        core, they're all mostly small driver updates and additions. Some of
        the more notable changes include:
      
         - A huge set of cleanups, optimizations and improvements for the
           DesignWare driver from Serge Semin finishing up the work started
           last release.
      
         - Conversion of the Zynq gqspi driver to spi-mem.
      
         - Support for Baikal T1, Broadcom BCMSTB 7445, and Renesas R8A7742"
      
      * tag 'spi-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (137 commits)
        spi: cadence: Add SPI transfer delays
        spi: dw: Add Baikal-T1 SPI Controller bindings
        spi: dw: Add Baikal-T1 SPI Controller glue driver
        spi: dw: Add poll-based SPI transfers support
        spi: dw: Introduce max mem-ops SPI bus frequency setting
        spi: dw: Add memory operations support
        spi: dw: Add generic DW SSI status-check method
        spi: dw: Move num-of retries parameter to the header file
        spi: dw: Explicitly de-assert CS on SPI transfer completion
        spi: dw: De-assert chip-select on reset
        spi: dw: Discard chip enabling on DMA setup error
        spi: dw: Unmask IRQs after enabling the chip
        spi: dw: Perform IRQ setup in a dedicated function
        spi: dw: Refactor IRQ-based SPI transfer procedure
        spi: dw: Refactor data IO procedure
        spi: dw: Add DW SPI controller config structure
        spi: dw: Update Rx sample delay in the config function
        spi: dw: Simplify the SPI bus speed config procedure
        spi: dw: Update SPI bus speed in a config function
        spi: dw: Detach SPI device specific CR0 config method
        ...
      a996b9c6
    • Linus Torvalds's avatar
      Merge tag 'regulator-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 1724e02e
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This is a fairly small release for the regulator API, there's quite a
        few new devices supported and some important improvements around
        coupled regulators in the core but mostly just small fixes and
        improvements otherwise.
      
        Summary:
      
         - Fixes and cleanups around the handling of coupled regulators.
      
         - A special driver for some Raspberry Pi panels with some unusually
           custom stuff around them.
      
         - Support for Qualcomm PM660/PM660L, PM8950 and PM8953, Richtek
           RT4801 and RTMV20, Rohm BD9576MUF and BD9573MUF"
      
      * tag 'regulator-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (89 commits)
        regulator: bd9576: Fix print
        regulator: bd9576: fix regulator binfdings dt node names
        dt-bindings: regulator: document pm8950 and pm8953 smd regulators
        regulator: qcom_smd: add pm8953 regulators
        regulator: Make constraint debug processing conditional on DEBUG
        regulator: qcom: labibb: Constify static structs
        regulator: dt-bindings: Document the PM660/PM660L PMICs entries
        regulator: qcom_smd: Add PM660/PM660L regulator support
        regulator: dt-bindings: Document the PM660/660L SPMI PMIC entries
        regulator: qcom_spmi: Add PM660/PM660L regulators
        regulator: qcom_spmi: Add support for new regulator types
        regulator: core: Enlarge max OF property name length to 64 chars
        regulator: tps65910: use regmap accessors
        regulator: rtmv20: Add missing regcache cache only before marked as dirty
        regulator: rtmv20: Update DT binding document and property name parsing
        regulator: rtmv20: Add DT-binding document for Richtek RTMV20
        regulator: rtmv20: Adds support for Richtek RTMV20 load switch regulator
        regulator: resolve supply after creating regulator
        regulator: print symbolic errors in kernel messages
        regulator: print state at boot
        ...
      1724e02e
    • Linus Torvalds's avatar
      Merge tag 'regmap-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 57218d7f
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "Quite a busy release for regmap, mostly support for new features
        useful on fairly small subsets of devices. The user visible features
        are:
      
         - A new API for registering large numbers of regmap fields at once.
      
         - Support for Intel AVMM buses connected via SPI.
      
         - Support for 12/20 address/value layouts.
      
         - Support for yet another scheme for acknowledging interrupts used on
           some Qualcomm devices"
      
      * tag 'regmap-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: irq: Add support to clear ack registers
        regmap: add support to regmap_field_bulk_alloc/free apis
        regmap: destroy mutex (if used) in regmap_exit()
        regmap: debugfs: use semicolons rather than commas to separate statements
        regmap: debugfs: Fix more error path regressions
        regmap: Add support for 12/20 register formatting
        regmap: Add can_sleep configuration option
        regmap: soundwire: remove unused header mod_devicetable.h
        regmap: Use flexible sleep
        regmap: add Intel SPI Slave to AVMM Bus Bridge support
      57218d7f
    • Linus Torvalds's avatar
      Merge tag 'media/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · fd5c32d8
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - the usbvision driver was dropped from staging
      
       - the Zoran driver were re-added at staging. It gained lots of
         improvements, and was converted to use videobuf2 API
      
       - a new virtual driver (vidtv) was added in order to allow testing the
         digital TV framework and APIs
      
       - the media uAPI documentation gained a glossary with commonly used
         terms, helping to simplify some parts of the docs
      
       - more cleanups at the atomisp driver
      
       - Mediatek VPU gained support for MT8183
      
       - added support for codecs with supports doing colorspace conversion
         (CSC)
      
       - support for CSC API was added at vivid and rksip1 drivers
      
       - added a helper core support and uAPI for better supporting H.264
         codecs
      
       - added support for Renesas R8A774E1
      
       - use the new SPDX GFDL-1.1-no-invariants-or-later license on media
         uAPI docs, instead of a license text
      
       - Venus driver has gained VP9 codec support
      
       - lots of other cleanups and driver improvements
      
      * tag 'media/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (555 commits)
        media: dvb-frontends/drxk_hard.c: fix uninitialized variable warning
        media: tvp7002: fix uninitialized variable warning
        media: s5k5baf: drop 'data' field in struct s5k5baf_fw
        media: dt-bindings: media: venus: Add an optional power domain for perf voting
        media: rcar-vin: rcar-dma: Fix setting VNIS_REG for RAW8 formats
        media: staging: rkisp1: uapi: Do not use BIT() macro
        media: v4l2-mem2mem: Fix spurious v4l2_m2m_buf_done
        media: usbtv: Fix refcounting mixup
        media: zoran.rst: place it at the right place this time
        media: add Zoran cardlist
        media: admin-guide: update cardlists
        media: siano: rename a duplicated card string
        media: zoran: move documentation file to the right place
        media: atomisp: fixes build breakage for ISP2400 due to a cleanup
        media: zoran: fix mixed case on vars
        media: zoran: get rid of an unused var
        media: zoran: use upper case for card types
        media: zoran: fix sparse warnings
        media: zoran: fix smatch warning
        media: zoran: update TODO
        ...
      fd5c32d8
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 647412da
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Export SDIO revision and info strings to userspace
         - Add support for specifying mmc/mmcblk index via mmc aliases in DT
      
       MMC host:
         - Enable support for async probe for all mmc host drivers
         - Enable compile testing of multiple host drivers
         - dw_mmc: Enable the Synopsys DesignWare driver for RISCV and CSKY
         - mtk-sd: Fixup support for CQHCI
         - owl-mmc: Add support for the actions,s700-mmc variant
         - renesas_sdhi: Fix regression (temporary) for re-insertion of SD cards
         - renesas_sdhi: Add support for the r8a774e1 variant
         - renesas_sdhi/tmio: Improvements for tunings
         - renesas_sdhi/tmio: Rework support for reset of controller
         - sdhci-acpi: Fix HS400 tuning for devices with invalid presets on AMDI0040
         - sdhci_am654: Improve support for tunings
         - sdhci_am654: Add support for input tap delays
         - sdhci_am654: Add workaround for card detect debounce timer
         - sdhci-am654: Add support for the TI's J7200 variants
         - sdhci-esdhc-imx: Fix support for manual tuning
         - sdhci-iproc: Enable support for eMMC DDR 3.3V for bcm2711
         - sdhci-msm: Fix stability issues with HS400 for sc7180
         - sdhci-of-sparx5: Add Sparx5 SoC eMMC driver
         - sdhci-of-esdhc: Fixup reference clock source selection
         - sdhci-pci: Add LTR support for some Intel BYT controllers
         - sdhci-pci-gli: Add CQHCI Support for GL9763E"
      
      * tag 'mmc-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (91 commits)
        mmc: sdhci_am654: Fix module autoload
        mmc: renesas_sdhi: workaround a regression when reinserting SD cards
        mmc: sdhci-pci-gli: Add CQHCI Support for GL9763E
        mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN
        mmc: sdhci_am654: Enable tuning for SDR50
        mmc: sdhci_am654: Add support for software tuning
        mmc: sdhci_am654: Add support for input tap delay
        mmc: sdhci_am654: Fix hard coded otap delay array size
        dt-bindings: mmc: sdhci-am654: Add documentation for input tap delay
        dt-bindings: mmc: sdhci-am654: Convert sdhci-am654 controller documentation to json schema
        mmc: sdhci-of-esdhc: fix reference clock source selection
        mmc: host: fix depends for MMC_MESON_GX w/ COMPILE_TEST
        mmc: sdhci-s3c: hide forward declaration of of_device_id behind CONFIG_OF
        mmc: sdhci: fix indentation mistakes
        mmc: moxart: remove unneeded check for drvdata
        mmc: renesas_sdhi: drop local flag for tuning
        mmc: rtsx_usb_sdmmc: simplify the return expression of sd_change_phase()
        mmc: core: document mmc_hw_reset()
        mmc: mediatek: Drop pointer to mmc_host from msdc_host
        dt-bindings: mmc: owl: add compatible string actions,s700-mmc
        ...
      647412da
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · dfef313e
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "This cycle addresses a reported permission issue with overlay due to a
        duplicated permission check for "trusted." xattrs. Also, a REQ_RAHEAD
        flag is added now to all readahead requests in order to trace
        readahead I/Os. The others are random cleanups.
      
        All commits have been tested and have been in linux-next as well.
      
        Summary:
      
         - fix an issue which can cause overlay permission problem due to
           duplicated permission check for "trusted." xattrs;
      
         - add REQ_RAHEAD flag to readahead requests for blktrace;
      
         - several random cleanup"
      
      * tag 'erofs-for-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: remove unnecessary enum entries
        erofs: add REQ_RAHEAD flag to readahead requests
        erofs: fold in should_decompress_synchronously()
        erofs: avoid unnecessary variable `err'
        erofs: remove unneeded parameter
        erofs: avoid duplicated permission check for "trusted." xattrs
      dfef313e
    • Linus Torvalds's avatar
      Merge tag 'for-5.10-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 11e3235b
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "Mostly core updates with a few user visible bits and fixes.
      
        Hilights:
      
         - fsync performance improvements
            - less contention of log mutex (throughput +4%, latency -14%,
              dbench with 32 clients)
            - skip unnecessary commits for link and rename (throughput +6%,
              latency -30%, rename latency -75%, dbench with 16 clients)
            - make fast fsync wait only for writeback (throughput +10..40%,
              runtime -1..-20%, dbench with 1 to 64 clients on various
              file/block sizes)
      
         - direct io is now implemented using the iomap infrastructure, that's
           the main part, we still have a workaround that requires an iomap
           API update, coming in 5.10
      
         - new sysfs exports:
            - information about the exclusive filesystem operation status
              (balance, device add/remove/replace, ...)
            - supported send stream version
      
        Core:
      
         - use ticket space reservations for data, fair policy using the same
           infrastructure as metadata
      
         - preparatory work to switch locking from our custom tree locks to
           standard rwsem, now the locking context is propagated to all
           callers, actual switch is expected to happen in the next dev cycle
      
         - seed device structures are now using list API
      
         - extent tracepoints print proper tree id
      
         - unified range checks for extent buffer helpers
      
         - send: avoid using temporary buffer for copying data
      
         - remove unnecessary RCU protection from space infos
      
         - remove unused readpage callback for metadata, enabling several
           cleanups
      
         - replace indirect function calls for end io hooks and remove
           extent_io_ops completely
      
        Fixes:
      
         - more lockdep warning fixes
      
         - fix qgroup reservation for delayed inode and an occasional
           reservation leak for preallocated files
      
         - fix device replace of a seed device
      
         - fix metadata reservation for fallocate that leads to transaction
           aborts
      
         - reschedule if necessary when logging directory items or when
           cloning lots of extents
      
         - tree-checker: fix false alert caused by legacy btrfs root item
      
         - send: fix rename/link conflicts for orphanized inodes
      
         - properly initialize device stats for seed devices
      
         - skip devices without magic signature when mounting
      
        Other:
      
         - error handling improvements, BUG_ONs replaced by proper handling,
           fuzz fixes
      
         - various function parameter cleanups
      
         - various W=1 cleanups
      
         - error/info messages improved
      
        Mishaps:
      
         - commit 62cf5391 ("btrfs: move btrfs_rm_dev_replace_free_srcdev
           outside of all locks") is a rebase leftover after the patch got
           merged to 5.9-rc8 as a466c85e ("btrfs: move
           btrfs_rm_dev_replace_free_srcdev outside of all locks"), the
           remaining part is trivial and the patch is in the middle of the
           series so I'm keeping it there instead of rebasing"
      
      * tag 'for-5.10-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (161 commits)
        btrfs: rename BTRFS_INODE_ORDERED_DATA_CLOSE flag
        btrfs: annotate device name rcu_string with __rcu
        btrfs: skip devices without magic signature when mounting
        btrfs: cleanup cow block on error
        btrfs: remove BTRFS_INODE_READDIO_NEED_LOCK
        fs: remove no longer used dio_end_io()
        btrfs: return error if we're unable to read device stats
        btrfs: init device stats for seed devices
        btrfs: remove struct extent_io_ops
        btrfs: call submit_bio_hook directly for metadata pages
        btrfs: stop calling submit_bio_hook for data inodes
        btrfs: don't opencode is_data_inode in end_bio_extent_readpage
        btrfs: call submit_bio_hook directly in submit_one_bio
        btrfs: remove extent_io_ops::readpage_end_io_hook
        btrfs: replace readpage_end_io_hook with direct calls
        btrfs: send, recompute reference path after orphanization of a directory
        btrfs: send, orphanize first all conflicting inodes when processing references
        btrfs: tree-checker: fix false alert caused by legacy btrfs root item
        btrfs: use unaligned helpers for stack and header set/get helpers
        btrfs: free-space-cache: use unaligned helpers to access data
        ...
      11e3235b
  2. Oct 13, 2020
    • Linus Torvalds's avatar
      Merge tag 'dlm-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · c024a811
      Linus Torvalds authored
      Pull dlm updates from David Teigland:
       "This set continues the ongoing rework of the low level communication
        layer in the dlm.
      
        The focus here is on improvements to connection handling, and
        reworking the receiving of messages"
      
      * tag 'dlm-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        fs: dlm: fix race in nodeid2con
        fs: dlm: rework receive handling
        fs: dlm: disallow buffer size below default
        fs: dlm: handle range check as callback
        fs: dlm: fix mark per nodeid setting
        fs: dlm: remove lock dependency warning
        fs: dlm: use free_con to free connection
        fs: dlm: handle possible othercon writequeues
        fs: dlm: move free writequeue into con free
        fs: dlm: fix configfs memory leak
        fs: dlm: fix dlm_local_addr memory leak
        fs: dlm: make connection hash lockless
        fs: dlm: synchronize dlm before shutdown
      c024a811
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt · 6f5032a8
      Linus Torvalds authored
      Pull fscrypt updates from Eric Biggers:
       "This release, we rework the implementation of creating new encrypted
        files in order to fix some deadlocks and prepare for adding fscrypt
        support to CephFS, which Jeff Layton is working on.
      
        We also export a symbol in preparation for the above-mentioned CephFS
        support and also for ext4/f2fs encrypt+casefold support.
      
        Finally, there are a few other small cleanups.
      
        As usual, all these patches have been in linux-next with no reported
        issues, and I've tested them with xfstests"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
        fscrypt: export fscrypt_d_revalidate()
        fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME
        fscrypt: don't call no-key names "ciphertext names"
        fscrypt: use sha256() instead of open coding
        fscrypt: make fscrypt_set_test_dummy_encryption() take a 'const char *'
        fscrypt: handle test_dummy_encryption in more logical way
        fscrypt: move fscrypt_prepare_symlink() out-of-line
        fscrypt: make "#define fscrypt_policy" user-only
        fscrypt: stop pretending that key setup is nofs-safe
        fscrypt: require that fscrypt_encrypt_symlink() already has key
        fscrypt: remove fscrypt_inherit_context()
        fscrypt: adjust logging for in-creation inodes
        ubifs: use fscrypt_prepare_new_inode() and fscrypt_set_context()
        f2fs: use fscrypt_prepare_new_inode() and fscrypt_set_context()
        ext4: use fscrypt_prepare_new_inode() and fscrypt_set_context()
        ext4: factor out ext4_xattr_credits_for_new_inode()
        fscrypt: add fscrypt_prepare_new_inode() and fscrypt_set_context()
        fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32
        fscrypt: drop unused inode argument from fscrypt_fname_alloc_buffer
      6f5032a8
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 39a5101f
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
         - Allow DRBG testing through user-space af_alg
         - Add tcrypt speed testing support for keyed hashes
         - Add type-safe init/exit hooks for ahash
      
        Algorithms:
         - Mark arc4 as obsolete and pending for future removal
         - Mark anubis, khazad, sead and tea as obsolete
         - Improve boot-time xor benchmark
         - Add OSCCA SM2 asymmetric cipher algorithm and use it for integrity
      
        Drivers:
         - Fixes and enhancement for XTS in caam
         - Add support for XIP8001B hwrng in xiphera-trng
         - Add RNG and hash support in sun8i-ce/sun8i-ss
         - Allow imx-rngc to be used by kernel entropy pool
         - Use crypto engine in omap-sham
         - Add support for Ingenic X1830 with ingenic"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (205 commits)
        X.509: Fix modular build of public_key_sm2
        crypto: xor - Remove unused variable count in do_xor_speed
        X.509...
      39a5101f
    • Nick Desaulniers's avatar
      x86/uaccess: utilize CONFIG_CC_HAS_ASM_GOTO_OUTPUT · 865c50e1
      Nick Desaulniers authored
      
      
      Clang-11 shipped support for outputs to asm goto statments along the
      fallthrough path.  Double up some of the get_user() and related macros
      to be able to take advantage of this extended GNU C extension. This
      should help improve the generated code's performance for these accesses.
      
      Cc: Bill Wendling <morbo@google.com>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      865c50e1
    • Linus Torvalds's avatar
      x86: Make __put_user() generate an out-of-line call · d55564cf
      Linus Torvalds authored
      
      
      Instead of inlining the stac/mov/clac sequence (which also requires
      individual exception table entries and several asm instruction
      alternatives entries), just generate "call __put_user_nocheck_X" for the
      __put_user() cases, the same way we changed __get_user earlier.
      
      Unlike the get_user() case, we didn't have the same nice infrastructure
      to just generate the call with a single case, so this actually has to
      change some of the infrastructure in order to do this.  But that only
      cleans up the code further.
      
      So now, instead of using a case statement for the sizes, we just do the
      same thing we've done on the get_user() side for a long time: use the
      size as an immediate constant to the asm, and generate the asm that way
      directly.
      
      In order to handle the special case of 64-bit data on a 32-bit kernel, I
      needed to change the calling convention slightly: the data is passed in
      %eax[:%edx], the pointer in %ecx, and the return value is also returned
      in %ecx.  It used to be returned in %eax, but because of how %eax can
      now be a double register input, we don't want mix that with a
      single-register output.
      
      The actual low-level asm is easier to handle: we'll just share the code
      between the checking and non-checking case, with the non-checking case
      jumping into the middle of the function.  That may sound a bit too
      special, but this code is all very very special anyway, so...
      
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d55564cf
    • Linus Torvalds's avatar
      x86: Make __get_user() generate an out-of-line call · ea6f043f
      Linus Torvalds authored
      
      
      Instead of inlining the whole stac/lfence/mov/clac sequence (which also
      requires individual exception table entries and several asm instruction
      alternatives entries), just generate "call __get_user_nocheck_X" for the
      __get_user() cases.
      
      We can use all the same infrastructure that we already do for the
      regular "get_user()", and the end result is simpler source code, and
      much simpler code generation.
      
      It also means that when I introduce asm goto with input for
      "unsafe_get_user()", there are no nasty interactions with the
      __get_user() code.
      
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ea6f043f
    • Linus Torvalds's avatar
      Merge tag 'locks-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 53acd350
      Linus Torvalds authored
      Pull file locking fix from Jeff Layton:
       "Just a single patch to fix up some tracepoint output"
      
      * tag 'locks-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        locks: Remove extra "0x" in tracepoint format specifier
      53acd350
    • Linus Torvalds's avatar
      Merge branch 'compat.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 22230cd2
      Linus Torvalds authored
      Pull compat mount cleanups from Al Viro:
       "The last remnants of mount(2) compat buried by Christoph.
      
        Buried into NFS, that is.
      
        Generally I'm less enthusiastic about "let's use in_compat_syscall()
        deep in call chain" kind of approach than Christoph seems to be, but
        in this case it's warranted - that had been an NFS-specific wart,
        hopefully not to be repeated in any other filesystems (read: any new
        filesystem introducing non-text mount options will get NAKed even if
        it doesn't mess the layout up).
      
        IOW, not worth trying to grow an infrastructure that would avoid that
        use of in_compat_syscall()..."
      
      * 'compat.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: remove compat_sys_mount
        fs,nfs: lift compat nfs4 mount data handling into the nfs code
        nfs: simplify nfs4_parse_monolithic
      22230cd2
    • Linus Torvalds's avatar
      Merge branch 'work.quota-compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e18afa5b
      Linus Torvalds authored
      Pull compat quotactl cleanups from Al Viro:
       "More Christoph's compat cleanups: quotactl(2)"
      
      * 'work.quota-compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        quota: simplify the quotactl compat handling
        compat: add a compat_need_64bit_alignment_fixup() helper
        compat: lift compat_s64 and compat_u64 to <asm-generic/compat.h>
      e18afa5b
    • Linus Torvalds's avatar
      Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 85ed13e7
      Linus Torvalds authored
      Pull compat iovec cleanups from Al Viro:
       "Christoph's series around import_iovec() and compat variant thereof"
      
      * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        security/keys: remove compat_keyctl_instantiate_key_iov
        mm: remove compat_process_vm_{readv,writev}
        fs: remove compat_sys_vmsplice
        fs: remove the compat readv/writev syscalls
        fs: remove various compat readv/writev helpers
        iov_iter: transparently handle compat iovecs in import_iovec
        iov_iter: refactor rw_copy_check_uvector and import_iovec
        iov_iter: move rw_copy_check_uvector() into lib/iov_iter.c
        compat.h: fix a spelling error in <linux/compat.h>
      85ed13e7
    • Linus Torvalds's avatar
      Merge branch 'work.csum_and_copy' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · c9057836
      Linus Torvalds authored
      Pull copy_and_csum cleanups from Al Viro:
       "Saner calling conventions for csum_and_copy_..._user() and friends"
      
      [ Removing 800+ lines of code and cleaning stuff up is good  - Linus ]
      
      * 'work.csum_and_copy' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ppc: propagate the calling conventions change down to csum_partial_copy_generic()
        amd64: switch csum_partial_copy_generic() to new calling conventions
        sparc64: propagate the calling convention changes down to __csum_partial_copy_...()
        xtensa: propagate the calling conventions change down into csum_partial_copy_generic()
        mips: propagate the calling convention change down into __csum_partial_copy_..._user()
        mips: __csum_partial_copy_kernel() has no users left
        mips: csum_and_copy_{to,from}_user() are never called under KERNEL_DS
        sparc32: propagate the calling conventions change down to __csum_partial_copy_sparc_generic()
        i386: propagate the calling conventions change down to csum_partial_copy_generic()
        sh: propage the calling conventions change down to csum_partial_copy_generic()
        m68k: get rid of zeroing destination on error in csum_and_copy_from_user()
        arm: propagate the calling convention changes down to csum_partial_copy_from_user()
        alpha: propagate the calling convention changes down to csum_partial_copy.c helpers
        saner calling conventions for csum_and_copy_..._user()
        csum_and_copy_..._user(): pass 0xffffffff instead of 0 as initial sum
        csum_partial_copy_nocheck(): drop the last argument
        unify generic instances of csum_partial_copy_nocheck()
        icmp_push_reply(): reorder adding the checksum up
        skb_copy_and_csum_bits(): don't bother with the last argument
      c9057836
    • Linus Torvalds's avatar
      Merge tag 'docs-5.10' of git://git.lwn.net/linux · 50d22834
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "As hoped, things calmed down for docs this cycle; fewer changes and
        almost no conflicts at all. This includes:
      
         - A reworked and expanded user-mode Linux document
      
         - Some simplifications and improvements for submitting-patches.rst
      
         - An emergency fix for (some) problems with Sphinx 3.x
      
         - Some welcome automarkup improvements to automatically generate
           cross-references to struct definitions and other documents
      
         - The usual collection of translation updates, typo fixes, etc"
      
      * tag 'docs-5.10' of git://git.lwn.net/linux: (81 commits)
        gpiolib: Update indentation in driver.rst for code excerpts
        Documentation/admin-guide: tainted-kernels: Fix typo occured
        Documentation: better locations for sysfs-pci, sysfs-tagging
        docs: programming-languages: refresh blurb on clang support
        Documentation: kvm: fix a typo
        Documentation: Chinese translation of Documentation/arm64/amu.rst
        doc: zh_CN: index files in arm64 subdirectory
        mailmap: add entry for <mstarovoitov@marvell.com>
        doc: seq_file: clarify role of *pos in ->next()
        docs: trace: ring-buffer-design.rst: use the new SPDX tag
        Documentation: kernel-parameters: clarify "module." parameters
        Fix references to nommu-mmap.rst
        docs: rewrite admin-guide/sysctl/abi.rst
        docs: fb: Remove vesafb scrollback boot option
        docs: fb: Remove sstfb scrollback boot option
        docs: fb: Remove matroxfb scrollback boot option
        docs: fb: Remove framebuffer scrollback boot option
        docs: replace the old User Mode Linux HowTo with a new one
        Documentation/admin-guide: blockdev/ramdisk: remove use of "rdev"
        Documentation/admin-guide: README & svga: remove use of "rdev"
        ...
      50d22834
    • Linus Torvalds's avatar
      Merge tag 'ia64_for_5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · ced3a9eb
      Linus Torvalds authored
      Pull ia64 updates from Tony Luck:
       "Cleanups by Christoph:
      
         - Switch to libata instead of legacy ide driver
      
         - Drop ia64 perfmon (it's been broken for a while)"
      
      * tag 'ia64_for_5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        ia64: Use libata instead of the legacy ide driver in defconfigs
        ia64: Remove perfmon
      ced3a9eb
    • Linus Torvalds's avatar
      Merge tag 'x86-hyperv-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2646fb03
      Linus Torvalds authored
      Pull x86 Hyper-V update from Ingo Molnar:
       "A single commit harmonizing the x86 and ARM64 Hyper-V constants
        namespace"
      
      * tag 'x86-hyperv-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hyperv: Remove aliases with X64 in their name
      2646fb03
    • Kees Cook's avatar
      overflow: Add __must_check attribute to check_*() helpers · 9b80e4c4
      Kees Cook authored
      
      
      Since the destination variable of the check_*_overflow() helpers will
      contain a wrapped value on failure, it would be best to make sure callers
      really did check the return result of the helper. Adjust the macros to use
      a bool-wrapping static inline that is marked with __must_check. This means
      the macros can continue to have their type-agnostic behavior while gaining
      the function attribute (that cannot be applied directly to macros).
      
      Suggested-by: default avatarRasmus Villemoes <linux@rasmusvillemoes.dk>
      Link: https://lore.kernel.org/lkml/202008151007.EF679DF@keescook/
      
      
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      9b80e4c4
    • Linus Torvalds's avatar
      Merge tag 'x86-paravirt-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ee4a9251
      Linus Torvalds authored
      Pull x86 paravirt cleanup from Ingo Molnar:
       "Clean up the paravirt code after the removal of 32-bit Xen PV support"
      
      * tag 'x86-paravirt-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/paravirt: Avoid needless paravirt step clearing page table entries
        x86/paravirt: Remove set_pte_at() pv-op
        x86/entry/32: Simplify CONFIG_XEN_PV build dependency
        x86/paravirt: Use CONFIG_PARAVIRT_XXL instead of CONFIG_PARAVIRT
        x86/paravirt: Clean up paravirt macros
        x86/paravirt: Remove 32-bit support from CONFIG_PARAVIRT_XXL
      ee4a9251