1. 31 Mar, 2020 31 commits
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · dfabb077
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Add support for host software queue for (e)MMC/SD
         - Throttle polling rate for CMD6
         - Update CMD13 busy condition check for CMD6 commands
         - Improve busy detect polling for erase/trim/discard/HPI
         - Fixup support for HW busy detection for HPI commands
         - Re-work and improve support for eMMC sanitize commands
      
        MMC host:
         - mmci:
             * Add support for sdmmc variant revision 2.0
         - mmci_sdmmc:
             * Improve support for busyend detection
             * Fixup support for signal voltage switch
             * Add support for tuning with delay block
         - mtk-sd:
             * Fix another SDIO irq issue
         - sdhci:
             * Disable native card detect when GPIO based type exist
         - sdhci:
             * Add option to defer request completion
         - sdhci_am654:
             * Add support to set a tap value per speed mode
         - sdhci-esdhc-imx:
             * Add support for i.MX8MM based variant
             * Fixup support for standard tuning on i.MX8 usdhc
             * Optimize for strobe/clock dll settings
             * Fixup support for system and runtime suspend/resume
         - sdhci-iproc:
             * Update regulator/bus-voltage management for bcm2711
         - sdhci-msm:
             * Prevent clock gating with PWRSAVE_DLL on broken variants
             * Fix management of CQE during SDHCI reset
         - sdhci-of-arasan:
             * Add support for auto tuning on ZynqMP based platforms
         - sdhci-omap:
             * Add support for system suspend/resume
         - sdhci-sprd:
             * Add support for HW busy detection
             * Enable support host software queue
         - sdhci-tegra:
             * Add support for HW busy detection
         - tmio/renesas_sdhi:
             * Enforce retune after runtime suspend
         - renesas_sdhi:
             * Use manual tap correction for HS400 on some variants
             * Add support for manual correction of tap values for tunings"
      
      * tag 'mmc-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (86 commits)
        mmc: cavium-octeon: remove nonsense variable coercion
        mmc: mediatek: fix SDIO irq issue
        mmc: mmci_sdmmc: Fix clear busyd0end irq flag
        dt-bindings: mmc: Fix node name in an example
        mmc: core: Re-work the code for eMMC sanitize
        mmc: sdhci: use FIELD_GET for preset value bit masks
        mmc: sdhci-of-at91: Display clock changes for debug purpose only
        mmc: sdhci: iproc: Add custom set_power() callback for bcm2711
        mmc: sdhci: am654: Use sdhci_set_power_and_voltage()
        mmc: sdhci: at91: Use sdhci_set_power_and_voltage()
        mmc: sdhci: milbeaut: Use sdhci_set_power_and_voltage()
        mmc: sdhci: arasan: Use sdhci_set_power_and_voltage()
        mmc: sdhci: Introduce sdhci_set_power_and_bus_voltage()
        mmc: vub300: Use scnprintf() for avoiding potential buffer overflow
        dt-bindings: mmc: synopsys-dw-mshc: fix clock-freq-min-max in example
        sdhci: tegra: Enable MMC_CAP_WAIT_WHILE_BUSY host capability
        sdhci: tegra: Implement Tegra specific set_timeout callback
        mmc: sdhci-omap: Add Support for Suspend/Resume
        mmc: renesas_sdhi: simplify execute_tuning
        mmc: renesas_sdhi: Use BITS_PER_LONG helper
        ...
      dfabb077
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 5b67fbfc
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
       "Build system:
      
         - add CONFIG_UNUSED_KSYMS_WHITELIST, which will be useful to define a
           fixed set of export symbols for Generic Kernel Image (GKI)
      
         - allow to run 'make dt_binding_check' without .config
      
         - use full schema for checking DT examples in *.yaml files
      
         - make modpost fail for missing MODULE_IMPORT_NS(), which makes more
           sense because we know the produced modules are never loadable
      
         - Remove unused 'AS' variable
      
        Kconfig:
      
         - sanitize DEFCONFIG_LIST, and remove ARCH_DEFCONFIG from Kconfig
           files
      
         - relax the 'imply' behavior so that symbols implied by 'y' can
           become 'm'
      
         - make 'imply' obey 'depends on' in order to make 'imply' really weak
      
        Misc:
      
         - add documentation on building the kernel with Clang/LLVM
      
         - revive __HAVE_ARCH_STRLEN for 32bit sparc to use optimized strlen()
      
         - fix warning from deb-pkg builds when CONFIG_DEBUG_INFO=n
      
         - various script and Makefile cleanups"
      
      * tag 'kbuild-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (34 commits)
        Makefile: Update kselftest help information
        kbuild: deb-pkg: fix warning when CONFIG_DEBUG_INFO is unset
        kbuild: add outputmakefile to no-dot-config-targets
        kbuild: remove AS variable
        net: wan: wanxl: refactor the firmware rebuild rule
        net: wan: wanxl: use $(M68KCC) instead of $(M68KAS) for rebuilding firmware
        net: wan: wanxl: use allow to pass CROSS_COMPILE_M68k for rebuilding firmware
        kbuild: add comment about grouped target
        kbuild: add -Wall to KBUILD_HOSTCXXFLAGS
        kconfig: remove unused variable in qconf.cc
        sparc: revive __HAVE_ARCH_STRLEN for 32bit sparc
        kbuild: refactor Makefile.dtbinst more
        kbuild: compute the dtbs_install destination more simply
        Makefile: disallow data races on gcc-10 as well
        kconfig: make 'imply' obey the direct dependency
        kconfig: allow symbols implied by y to become m
        net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report()
        modpost: return error if module is missing ns imports and MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS=n
        modpost: rework and consolidate logging interface
        kbuild: allow to run dt_binding_check without kernel configuration
        ...
      5b67fbfc
    • Linus Torvalds's avatar
      Merge branch 'next-general' of... · a1629843
      Linus Torvalds authored
      Merge branch 'next-general' of git://git.kernel.org:/pub/scm/linux/kernel/git/jmorris/linux-security
      
      Pull security subsystem updates from James Morris:
       "Two minor updates for the core security subsystem:
      
         - kernel-doc warning fixes from Randy Dunlap
      
         - header cleanup from YueHaibing"
      
      * 'next-general' of git://git.kernel.org:/pub/scm/linux/kernel/git/jmorris/linux-security:
        security: remove duplicated include from security.h
        security: <linux/lsm_hooks.h>: fix all kernel-doc warnings
      a1629843
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20200330' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · b3aa112d
      Linus Torvalds authored
      Pull SELinux updates from Paul Moore:
       "We've got twenty SELinux patches for the v5.7 merge window, the
        highlights are below:
      
         - Deprecate setting /sys/fs/selinux/checkreqprot to 1.
      
           This flag was originally created to deal with legacy userspace and
           the READ_IMPLIES_EXEC personality flag. We changed the default from
           1 to 0 back in Linux v4.4 and now we are taking the next step of
           deprecating it, at some point in the future we will take the final
           step of rejecting 1.
      
         - Allow kernfs symlinks to inherit the SELinux label of the parent
           directory. In order to preserve backwards compatibility this is
           protected by the genfs_seclabel_symlinks SELinux policy capability.
      
         - Optimize how we store filename transitions in the kernel, resulting
           in some significant improvements to policy load times.
      
         - Do a better job calculating our internal hash table sizes which
           resulted in additional policy load improvements and likely general
           SELinux performance improvements as well.
      
         - Remove the unused initial SIDs (labels) and improve how we handle
           initial SIDs.
      
         - Enable per-file labeling for the bpf filesystem.
      
         - Ensure that we properly label NFS v4.2 filesystems to avoid a
           temporary unlabeled condition.
      
         - Add some missing XFS quota command types to the SELinux quota
           access controls.
      
         - Fix a problem where we were not updating the seq_file position
           index correctly in selinuxfs.
      
         - We consolidate some duplicated code into helper functions.
      
         - A number of list to array conversions.
      
         - Update Stephen Smalley's email address in MAINTAINERS"
      
      * tag 'selinux-pr-20200330' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: clean up indentation issue with assignment statement
        NFS: Ensure security label is set for root inode
        MAINTAINERS: Update my email address
        selinux: avtab_init() and cond_policydb_init() return void
        selinux: clean up error path in policydb_init()
        selinux: remove unused initial SIDs and improve handling
        selinux: reduce the use of hard-coded hash sizes
        selinux: Add xfs quota command types
        selinux: optimize storage of filename transitions
        selinux: factor out loop body from filename_trans_read()
        security: selinux: allow per-file labeling for bpffs
        selinux: generalize evaluate_cond_node()
        selinux: convert cond_expr to array
        selinux: convert cond_av_list to array
        selinux: convert cond_list to array
        selinux: sel_avc_get_stat_idx should increase position index
        selinux: allow kernfs symlinks to inherit parent directory context
        selinux: simplify evaluate_cond_node()
        Documentation,selinux: deprecate setting checkreqprot to 1
        selinux: move status variables out of selinux_ss
      b3aa112d
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20200330' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 674d85eb
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "We've got two audit patches for the v5.7 merge window with a stellar
        14 lines changed between the two patches. The patch descriptions are
        far more lengthy than the patches themselves, which is a very good
        thing for patches this size IMHO. The patches pass our test suites and
        a quick summary is below:
      
         - Stop logging inode information when updating an audit file watch.
      
           Since we are not changing the inode, or the fact that we are
           watching the associated file, the inode information is just noise
           that we can do without.
      
         - Fix a problem where mandatory audit records were missing their
           accompanying audit records (e.g. SYSCALL records were missing).
      
           The missing records often meant that we didn't have the necessary
           context to understand what was going on when the event occurred"
      
      * tag 'audit-pr-20200330' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: trigger accompanying records when no rules present
        audit: CONFIG_CHANGE don't log internal bookkeeping as an event
      674d85eb
    • Linus Torvalds's avatar
      Merge tag '5.7-rc-smb3-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6 · 645c248d
      Linus Torvalds authored
      Pull cifs updates from Steve French:
       "First part of cifs/smb3 changes for merge window (others are still
        being tested). Various RDMA (smbdirect) fixes, addition of SMB3.1.1
        POSIX support in readdir, 3 fixes for stable, and a fix for flock.
      
        Summary:
      
        New feature:
         - SMB3.1.1 POSIX support in readdir
      
        Fixes:
         - various RDMA (smbdirect) fixes
         - fix for flock
         - fallocate fix
         - some improved mount warnings
         - two timestamp related fixes
         - reconnect fix
         - three fixes for stable"
      
      * tag '5.7-rc-smb3-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6: (28 commits)
        cifs: update internal module version number
        cifs: Allocate encryption header through kmalloc
        cifs: smbd: Check and extend sender credits in interrupt context
        cifs: smbd: Calculate the correct maximum packet size for segmented SMBDirect send/receive
        smb3: use SMB2_SIGNATURE_SIZE define
        CIFS: Fix bug which the return value by asynchronous read is error
        CIFS: check new file size when extending file by fallocate
        SMB3: Minor cleanup of protocol definitions
        SMB3: Additional compression structures
        SMB3: Add new compression flags
        cifs: smb2pdu.h: Replace zero-length array with flexible-array member
        cifs: clear PF_MEMALLOC before exiting demultiplex thread
        cifs: cifspdu.h: Replace zero-length array with flexible-array member
        CIFS: Warn less noisily on default mount
        fs/cifs: fix gcc warning in sid_to_id
        cifs: allow unlock flock and OFD lock across fork
        cifs: do d_move in rename
        cifs: add SMB2_open() arg to return POSIX data
        cifs: plumb smb2 POSIX dir enumeration
        cifs: add smb2 POSIX info level
        ...
      645c248d
    • Linus Torvalds's avatar
      Merge tag 'gfs2-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 018d21f5
      Linus Torvalds authored
      Pull gfs2 updates from Bob Peterson:
       "We've got a lot of patches (39) for this merge window. Most of these
        patches are related to corruption that occurs when journals are
        replayed. For example:
      
         1. A node fails while writing to the file system.
         2. Other nodes use the metadata that was once used by the failed
            node.
         3. When the node returns to the cluster, its journal is replayed, but
            the older metadata blocks overwrite the changes from step 2.
      
        Summary:
      
         - Fixed the recovery sequence to prevent corruption during journal
           replay.
      
         - Many bug fixes found during recovery testing.
      
         - New improved file system withdraw sequence.
      
         - Fixed how resource group buffers are managed.
      
         - Fixed how metadata revokes are tracked and written.
      
         - Improve processing of IO errors hit by daemons like logd and
           quotad.
      
         - Improved error checking in metadata writes.
      
         - Fixed how qadata quota data structures are managed"
      
      * tag 'gfs2-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: (39 commits)
        gfs2: Fix oversight in gfs2_ail1_flush
        gfs2: change from write to read lock for sd_log_flush_lock in journal replay
        gfs2: instrumentation wrt ail1 stuck
        gfs2: don't lock sd_log_flush_lock in try_rgrp_unlink
        gfs2: Remove unnecessary gfs2_qa_{get,put} pairs
        gfs2: Split gfs2_rsqa_delete into gfs2_rs_delete and gfs2_qa_put
        gfs2: Change inode qa_data to allow multiple users
        gfs2: eliminate gfs2_rsqa_alloc in favor of gfs2_qa_alloc
        gfs2: Switch to list_{first,last}_entry
        gfs2: Clean up inode initialization and teardown
        gfs2: Additional information when gfs2_ail1_flush withdraws
        gfs2: leaf_dealloc needs to allocate one more revoke
        gfs2: allow journal replay to hold sd_log_flush_lock
        gfs2: don't allow releasepage to free bd still used for revokes
        gfs2: flesh out delayed withdraw for gfs2_log_flush
        gfs2: Do proper error checking for go_sync family of glops functions
        gfs2: Don't demote a glock until its revokes are written
        gfs2: drain the ail2 list after io errors
        gfs2: Withdraw in gfs2_ail1_flush if write_cache_pages fails
        gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty
        ...
      018d21f5
    • Linus Torvalds's avatar
      Merge tag 'for-5.7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 15c981d1
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "A number of core changes that make things work better in general, code
        is simpler and cleaner.
      
        Core changes:
      
         - per-inode file extent tree, for in memory tracking of contiguous
           extent ranges to make sure i_size adjustments are accurate
      
         - tree root structures are protected by reference counts, replacing
           SRCU that did not cover some cases
      
         - leak detector for tree root structures
      
         - per-transaction pinned extent tracking
      
         - buffer heads are replaced by bios for super block access
      
         - speedup of extent back reference resolution, on an example test
           scenario the runtime of send went down from a hour to minutes
      
         - factor out locking scheme used for subvolume writer and NOCOW
           exclusion, abstracted as DREW lock, double reader-writer exclusion
           (allow either readers or writers)
      
         - cleanup and abstract extent allocation policies, preparation for
           zoned device support
      
         - make reflink/clone_range work on inline extents
      
         - add more cancellation point for relocation, improves long response
           from 'balance cancel'
      
         - add page migration callback for data pages
      
         - switch to guid for uuids, with additional cleanups of the interface
      
         - make ranged full fsyncs more efficient
      
         - removal of obsolete ioctl flag BTRFS_SUBVOL_CREATE_ASYNC
      
         - remove b-tree readahead from delayed refs paths, avoiding seek and
           read unnecessary blocks
      
        Features:
      
         - v2 of ioctl to delete subvolumes, allowing to delete by id and more
           future extensions
      
        Fixes:
      
         - fix qgroup rescan worker that could block umount
      
         - fix crash during unmount due to race with delayed inode workers
      
         - fix dellaloc flushing logic that could create unnecessary chunks
           under heavy load
      
         - fix missing file extent item for hole after ranged fsync
      
         - several fixes in relocation error handling
      
        Other:
      
         - more documentation of relocation, device replace, space
           reservations
      
         - many random cleanups"
      
      * tag 'for-5.7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (210 commits)
        btrfs: fix missing semaphore unlock in btrfs_sync_file
        btrfs: use nofs allocations for running delayed items
        btrfs: sysfs: Use scnprintf() instead of snprintf()
        btrfs: do not resolve backrefs for roots that are being deleted
        btrfs: track reloc roots based on their commit root bytenr
        btrfs: restart relocate_tree_blocks properly
        btrfs: reloc: reorder reservation before root selection
        btrfs: do not readahead in build_backref_tree
        btrfs: do not use readahead for running delayed refs
        btrfs: Remove async_transid from btrfs_mksubvol/create_subvol/create_snapshot
        btrfs: Remove transid argument from btrfs_ioctl_snap_create_transid
        btrfs: Remove BTRFS_SUBVOL_CREATE_ASYNC support
        btrfs: kill the subvol_srcu
        btrfs: make btrfs_cleanup_fs_roots use the radix tree lock
        btrfs: don't take an extra root ref at allocation time
        btrfs: hold a ref on the root on the dead roots list
        btrfs: make inodes hold a ref on their roots
        btrfs: move the root freeing stuff into btrfs_put_root
        btrfs: move ino_cache_inode dropping out of btrfs_free_fs_root
        btrfs: make the extent buffer leak check per fs info
        ...
      15c981d1
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt · 1455c699
      Linus Torvalds authored
      Pull fscrypt updates from Eric Biggers:
       "Add an ioctl FS_IOC_GET_ENCRYPTION_NONCE which retrieves a file's
        encryption nonce.
      
        This makes it easier to write automated tests which verify that
        fscrypt is doing the encryption correctly"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
        ubifs: wire up FS_IOC_GET_ENCRYPTION_NONCE
        f2fs: wire up FS_IOC_GET_ENCRYPTION_NONCE
        ext4: wire up FS_IOC_GET_ENCRYPTION_NONCE
        fscrypt: add FS_IOC_GET_ENCRYPTION_NONCE ioctl
      1455c699
    • Linus Torvalds's avatar
      Merge branch 'x86-vmware-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 42595ce9
      Linus Torvalds authored
      Pull x86 vmware updates from Ingo Molnar:
       "The main change in this tree is the addition of 'steal time clock
        support' for VMware guests"
      
      * 'x86-vmware-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vmware: Use bool type for vmw_sched_clock
        x86/vmware: Enable steal time accounting
        x86/vmware: Add steal time clock support for VMware guests
        x86/vmware: Remove vmware_sched_clock_setup()
        x86/vmware: Make vmware_select_hypercall() __init
      42595ce9
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d9d76778
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "A handful of changes:
      
         - two memory encryption related fixes
      
         - don't display the kernel's virtual memory layout plaintext on
           32-bit kernels either
      
         - two simplifications"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Remove the now redundant N_MEMORY check
        dma-mapping: Fix dma_pgprot() for unencrypted coherent pages
        x86: Don't let pgprot_modify() change the page encryption bit
        x86/mm/kmmio: Use this_cpu_ptr() instead get_cpu_var() for kmmio_ctx
        x86/mm/init/32: Stop printing the virtual memory layout
      d9d76778
    • Linus Torvalds's avatar
      Merge branch 'x86-misc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7cc7e935
      Linus Torvalds authored
      Pull misc x86 updates from Ingo Molnar:
      
       - extend the decoder maps with CET instructions
      
       - fix !vDSO corner cases
      
      * 'x86-misc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/tests: Add CET instructions to the new instructions test
        x86/insn: Add Control-flow Enforcement (CET) instructions to the opcode map
        selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault
        selftests/x86/vdso: Fix no-vDSO segfaults
      7cc7e935
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d0be2d53
      Linus Torvalds authored
      Pull x86 fpu updates from Ingo Molnar:
       "Misc changes:
      
         - add a pkey sanity check
      
         - three commits to improve and future-proof xstate/xfeature handling
           some more"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/pkeys: Add check for pkey "overflow"
        x86/fpu/xstate: Warn when checking alignment of disabled xfeatures
        x86/fpu/xstate: Fix XSAVES offsets in setup_xstate_comp()
        x86/fpu/xstate: Fix last_good_offset in setup_xstate_features()
      d0be2d53
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fdf5563a
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "This topic tree contains more commits than usual:
      
         - most of it are uaccess cleanups/reorganization by Al
      
         - there's a bunch of prototype declaration (--Wmissing-prototypes)
           cleanups
      
         - misc other cleanups all around the map"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
        x86/mm/set_memory: Fix -Wmissing-prototypes warnings
        x86/efi: Add a prototype for efi_arch_mem_reserve()
        x86/mm: Mark setup_emu2phys_nid() static
        x86/jump_label: Move 'inline' keyword placement
        x86/platform/uv: Add a missing prototype for uv_bau_message_interrupt()
        kill uaccess_try()
        x86: unsafe_put-style macro for sigmask
        x86: x32_setup_rt_frame(): consolidate uaccess areas
        x86: __setup_rt_frame(): consolidate uaccess areas
        x86: __setup_frame(): consolidate uaccess areas
        x86: setup_sigcontext(): list user_access_{begin,end}() into callers
        x86: get rid of put_user_try in __setup_rt_frame() (both 32bit and 64bit)
        x86: ia32_setup_rt_frame(): consolidate uaccess areas
        x86: ia32_setup_frame(): consolidate uaccess areas
        x86: ia32_setup_sigcontext(): lift user_access_{begin,end}() into the callers
        x86/alternatives: Mark text_poke_loc_init() static
        x86/cpu: Fix a -Wmissing-prototypes warning for init_ia32_feat_ctl()
        x86/mm: Drop pud_mknotpresent()
        x86: Replace setup_irq() by request_irq()
        x86/configs: Slightly reduce defconfigs
        ...
      fdf5563a
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 97cddfc3
      Linus Torvalds authored
      Pull x86 build updates from Ingo Molnar:
       "A handful of updates: two linker script cleanups and a stock
        defconfig+allmodconfig bootability fix"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Discard .note.gnu.property sections in vDSO
        x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS
        x86/Kconfig: Make CMDLINE_OVERRIDE depend on non-empty CMDLINE
      97cddfc3
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9589351c
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "Misc cleanups and small enhancements all around the map"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot/compressed: Fix debug_puthex() parameter type
        x86/setup: Fix static memory detection
        x86/vmlinux: Drop unneeded linker script discard of .eh_frame
        x86/*/Makefile: Use -fno-asynchronous-unwind-tables to suppress .eh_frame sections
        x86/boot/compressed: Remove .eh_frame section from bzImage
        x86/boot/compressed/64: Remove .bss/.pgtable from bzImage
        x86/boot/compressed/64: Use 32-bit (zero-extended) MOV for z_output_len
        x86/boot/compressed/64: Use LEA to initialize boot stack pointer
      9589351c
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 3cd86a58
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
       "The bulk is in-kernel pointer authentication, activity monitors and
        lots of asm symbol annotations. I also queued the sys_mremap() patch
        commenting the asymmetry in the address untagging.
      
        Summary:
      
         - In-kernel Pointer Authentication support (previously only offered
           to user space).
      
         - ARM Activity Monitors (AMU) extension support allowing better CPU
           utilisation numbers for the scheduler (frequency invariance).
      
         - Memory hot-remove support for arm64.
      
         - Lots of asm annotations (SYM_*) in preparation for the in-kernel
           Branch Target Identification (BTI) support.
      
         - arm64 perf updates: ARMv8.5-PMU 64-bit counters, refactoring the
           PMU init callbacks, support for new DT compatibles.
      
         - IPv6 header checksum optimisation.
      
         - Fixes: SDEI (software delegated exception interface) double-lock on
           hibernate with shared events.
      
         - Minor clean-ups and refactoring: cpu_ops accessor,
           cpu_do_switch_mm() converted to C, cpufeature finalisation helper.
      
         - sys_mremap() comment explaining the asymmetric address untagging
           behaviour"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (81 commits)
        mm/mremap: Add comment explaining the untagging behaviour of mremap()
        arm64: head: Convert install_el2_stub to SYM_INNER_LABEL
        arm64: Introduce get_cpu_ops() helper function
        arm64: Rename cpu_read_ops() to init_cpu_ops()
        arm64: Declare ACPI parking protocol CPU operation if needed
        arm64: move kimage_vaddr to .rodata
        arm64: use mov_q instead of literal ldr
        arm64: Kconfig: verify binutils support for ARM64_PTR_AUTH
        lkdtm: arm64: test kernel pointer authentication
        arm64: compile the kernel with ptrauth return address signing
        kconfig: Add support for 'as-option'
        arm64: suspend: restore the kernel ptrauth keys
        arm64: __show_regs: strip PAC from lr in printk
        arm64: unwind: strip PAC from kernel addresses
        arm64: mask PAC bits of __builtin_return_address
        arm64: initialize ptrauth keys for kernel booting task
        arm64: initialize and switch ptrauth kernel keys
        arm64: enable ptrauth earlier
        arm64: cpufeature: handle conflicts based on capability
        arm64: cpufeature: Move cpu capability helpers inside C file
        ...
      3cd86a58
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v5.7-rc1' of git://git.monstr.eu/linux-2.6-microblaze · a8222fd5
      Linus Torvalds authored
      Pull microblaze updates from Michal Simek:
      
       - convert license headers to SPDX
      
       - cleanup header handling and use asm-generic one
      
       - get rid of earlyprintk residues
      
       - define barriers and use it in the code
      
       - get rid of setup_irq() for timer
      
       - various small addons and fixes
      
      * tag 'microblaze-v5.7-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Replace setup_irq() by request_irq()
        microblaze: Stop printing the virtual memory layout
        microblaze: Use asm generic cmpxchg.h for !SMP case
        microblaze: Define percpu sestion in linker file
        microblaze: Remove unused boot_cpuid variable
        microblaze: Add missing irqflags.h header
        microblaze: Add sync to tlb operations
        microblaze: Define microblaze barrier
        microblaze: Remove empty headers
        microblaze: Remove early printk setup
        microblaze: Remove architecture tlb.h and use generic one
        microblaze: Convert headers to SPDX license
        microblaze: Fix _reset() function
        microblaze: Kernel parameters should be parsed earlier
      a8222fd5
    • Linus Torvalds's avatar
      Merge tag 'please-pull-ia64_for_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · cad18da0
      Linus Torvalds authored
      Pull ia64 updates from Tony Luck:
       "Couple of cleanup patches"
      
      * tag 'please-pull-ia64_for_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        tty/serial: cleanup after ioc*_serial driver removal
        ia64: replace setup_irq() by request_irq()
      cad18da0
    • Shuah Khan's avatar
      Makefile: Update kselftest help information · e51d8dac
      Shuah Khan authored
      Update kselftest help information.
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      e51d8dac
    • Linus Torvalds's avatar
      Merge tag 'mips_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · d71e0644
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - loongson64 irq rework
      
       - dmi support loongson
      
       - replace setup_irq() by request_irq()
      
       - jazz cleanups
      
       - minor cleanups and fixes
      
      * tag 'mips_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (44 commits)
        MIPS: ralink: mt7621: Fix soc_device introduction
        MIPS: Exclude more dsemul code when CONFIG_MIPS_FP_SUPPORT=n
        MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3
        MIPS: do not compile generic functions for CONFIG_CAVIUM_OCTEON_SOC
        MAINTAINERS: Update Loongson64 entry
        MIPS: Loongson64: Load built-in dtbs
        MIPS: Loongson64: Add generic dts
        dt-bindings: mips: Add loongson boards
        MIPS: Loongson64: Drop legacy IRQ code
        dt-bindings: interrupt-controller: Add Loongson-3 HTPIC
        irqchip: Add driver for Loongson-3 HyperTransport PIC controller
        dt-bindings: interrupt-controller: Add Loongson LIOINTC
        irqchip: loongson-liointc: Workaround LPC IRQ Errata
        irqchip: Add driver for Loongson I/O Local Interrupt Controller
        docs: mips: remove no longer needed au1xxx_ide.rst documentation
        MIPS: Alchemy: remove no longer used au1xxx_ide.h header
        ide: remove no longer used au1xxx-ide driver
        MIPS: Add support for Desktop Management Interface (DMI)
        firmware: dmi: Add macro SMBIOS_ENTRY_POINT_SCAN_START
        MIPS: ralink: mt7621: introduce 'soc_device' initialization
        ...
      d71e0644
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v5.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 58233ccf
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - pagetable layout rewrite, to facilitate global READ_ONCE() rework
      
       - Zorro (Amiga) and DIO (HP 9000/300) bus cleanups
      
       - defconfig updates
      
       - minor cleanups and fixes
      
      * tag 'm68k-for-v5.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (23 commits)
        m68k: defconfig: Update defconfigs for v5.6-rc4
        zorro: Replace zero-length array with flexible-array member
        m68k: Switch to asm-generic/hardirq.h
        fbdev: c2p: Use BUILD_BUG() instead of custom solution
        dio: Remove unused dio_dev_driver()
        dio: Fix dio_bus_match() kerneldoc
        dio: Make dio_match_device() static
        zorro: Move zorro_bus_type to bus-private header file
        zorro: Remove unused zorro_dev_driver()
        zorro: Use zorro_match_device() helper in zorro_bus_match()
        zorro: Fix zorro_bus_match() kerneldoc
        zorro: Make zorro_match_device() static
        m68k: Fix Kconfig indentation
        m68k: mm: Change ColdFire pgtable_t
        m68k: mm: Fully initialize the page-table allocator
        m68k: mm: Extend table allocator for multiple sizes
        m68k: mm: Use table allocator for pgtables
        m68k: mm: Improve kernel_page_table()
        m68k: mm: Restructure Motorola MMU page-table layout
        m68k: mm: Move the pointer table allocator to motorola.c
        ...
      58233ccf
    • Linus Torvalds's avatar
      Merge tag 'x86-timers-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 458ef2a2
      Linus Torvalds authored
      Pull x86 timer updates from Thomas Gleixner:
       "A series of commits to make the MSR derived CPU and TSC frequency more
        accurate.
      
        It turned out that the frequency tables which have been taken from the
        SDM are inaccurate because the SDM provides truncated and rounded
        values, e.g. 83.3Mhz (83.3333...) or 116.7Mhz (116.6666...).
      
        This causes time drift in the range of ~1 second per hour (20-30
        seconds per day). On some of these SoCs it's not possible to
        recalibrate the TSC because there is no reference (PIT, HPET)
        available.
      
        With some reverse engineering it was established that the possible
        frequencies are derived from the base clock with fixed multiplier /
        divider pairs.
      
        For the CPU models which have a known crystal frequency the kernel now
        uses multiplier / divider pairs which bring the frequencies closer to
        reality and fix the observed time drift issues"
      
      * tag 'x86-timers-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tsc_msr: Make MSR derived TSC frequency more accurate
        x86/tsc_msr: Fix MSR_FSB_FREQ mask for Cherry Trail devices
        x86/tsc_msr: Use named struct initializers
      458ef2a2
    • Linus Torvalds's avatar
      Merge tag 'x86-splitlock-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2853d5fa
      Linus Torvalds authored
      Pull x86 splitlock updates from Thomas Gleixner:
       "Support for 'split lock' detection:
      
        Atomic operations (lock prefixed instructions) which span two cache
        lines have to acquire the global bus lock. This is at least 1k cycles
        slower than an atomic operation within a cache line and disrupts
        performance on other cores. Aside of performance disruption this is a
        unpriviledged form of DoS.
      
        Some newer CPUs have the capability to raise an #AC trap when such an
        operation is attempted. The detection is by default enabled in warning
        mode which will warn once when a user space application is caught. A
        command line option allows to disable the detection or to select fatal
        mode which will terminate offending applications with SIGBUS"
      
      * tag 'x86-splitlock-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/split_lock: Avoid runtime reads of the TEST_CTRL MSR
        x86/split_lock: Rework the initialization flow of split lock detection
        x86/split_lock: Enable split lock detection by kernel
      2853d5fa
    • Linus Torvalds's avatar
      Merge tag 'x86-entry-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d5f744f9
      Linus Torvalds authored
      Pull x86 entry code updates from Thomas Gleixner:
      
       - Convert the 32bit syscalls to be pt_regs based which removes the
         requirement to push all 6 potential arguments onto the stack and
         consolidates the interface with the 64bit variant
      
       - The first small portion of the exception and syscall related entry
         code consolidation which aims to address the recently discovered
         issues vs. RCU, int3, NMI and some other exceptions which can
         interrupt any context. The bulk of the changes is still work in
         progress and aimed for 5.8.
      
       - A few lockdep namespace cleanups which have been applied into this
         branch to keep the prerequisites for the ongoing work confined.
      
      * tag 'x86-entry-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (35 commits)
        x86/entry: Fix build error x86 with !CONFIG_POSIX_TIMERS
        lockdep: Rename trace_{hard,soft}{irq_context,irqs_enabled}()
        lockdep: Rename trace_softirqs_{on,off}()
        lockdep: Rename trace_hardirq_{enter,exit}()
        x86/entry: Rename ___preempt_schedule
        x86: Remove unneeded includes
        x86/entry: Drop asmlinkage from syscalls
        x86/entry/32: Enable pt_regs based syscalls
        x86/entry/32: Use IA32-specific wrappers for syscalls taking 64-bit arguments
        x86/entry/32: Rename 32-bit specific syscalls
        x86/entry/32: Clean up syscall_32.tbl
        x86/entry: Remove ABI prefixes from functions in syscall tables
        x86/entry/64: Add __SYSCALL_COMMON()
        x86/entry: Remove syscall qualifier support
        x86/entry/64: Remove ptregs qualifier from syscall table
        x86/entry: Move max syscall number calculation to syscallhdr.sh
        x86/entry/64: Split X32 syscall table into its own file
        x86/entry/64: Move sys_ni_syscall stub to common.c
        x86/entry/64: Use syscall wrappers for x32_rt_sigreturn
        x86/entry: Refactor SYS_NI macros
        ...
      d5f744f9
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dbb381b6
      Linus Torvalds authored
      Pull timekeeping and timer updates from Thomas Gleixner:
       "Core:
      
         - Consolidation of the vDSO build infrastructure to address the
           difficulties of cross-builds for ARM64 compat vDSO libraries by
           restricting the exposure of header content to the vDSO build.
      
           This is achieved by splitting out header content into separate
           headers. which contain only the minimaly required information which
           is necessary to build the vDSO. These new headers are included from
           the kernel headers and the vDSO specific files.
      
         - Enhancements to the generic vDSO library allowing more fine grained
           control over the compiled in code, further reducing architecture
           specific storage and preparing for adopting the generic library by
           PPC.
      
         - Cleanup and consolidation of the exit related code in posix CPU
           timers.
      
         - Small cleanups and enhancements here and there
      
        Drivers:
      
         - The obligatory new drivers: Ingenic JZ47xx and X1000 TCU support
      
         - Correct the clock rate of PIT64b global clock
      
         - setup_irq() cleanup
      
         - Preparation for PWM and suspend support for the TI DM timer
      
         - Expand the fttmr010 driver to support ast2600 systems
      
         - The usual small fixes, enhancements and cleanups all over the
           place"
      
      * tag 'timers-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (80 commits)
        Revert "clocksource/drivers/timer-probe: Avoid creating dead devices"
        vdso: Fix clocksource.h macro detection
        um: Fix header inclusion
        arm64: vdso32: Enable Clang Compilation
        lib/vdso: Enable common headers
        arm: vdso: Enable arm to use common headers
        x86/vdso: Enable x86 to use common headers
        mips: vdso: Enable mips to use common headers
        arm64: vdso32: Include common headers in the vdso library
        arm64: vdso: Include common headers in the vdso library
        arm64: Introduce asm/vdso/processor.h
        arm64: vdso32: Code clean up
        linux/elfnote.h: Replace elf.h with UAPI equivalent
        scripts: Fix the inclusion order in modpost
        common: Introduce processor.h
        linux/ktime.h: Extract common header for vDSO
        linux/jiffies.h: Extract common header for vDSO
        linux/time64.h: Extract common header for vDSO
        linux/time32.h: Extract common header for vDSO
        linux/time.h: Extract common header for vDSO
        ...
      dbb381b6
    • Linus Torvalds's avatar
      Merge tag 'timers-nohz-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 336622e9
      Linus Torvalds authored
      Pull NOHZ update from Thomas Gleixner:
       "Remove TIF_NOHZ from three architectures
      
        These architectures use a static key to decide whether context
        tracking needs to be invoked and the TIF_NOHZ flag just causes a
        pointless slowpath execution for nothing"
      
      * tag 'timers-nohz-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        arm64: Remove TIF_NOHZ
        arm: Remove TIF_NOHZ
        x86: Remove TIF_NOHZ
        context-tracking: Introduce CONFIG_HAVE_TIF_NOHZ
        x86/entry: Remove _TIF_NOHZ from _TIF_WORK_SYSCALL_ENTRY
      336622e9
    • Linus Torvalds's avatar
      Merge tag 'smp-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 992a1a3b
      Linus Torvalds authored
      Pull core SMP updates from Thomas Gleixner:
       "CPU (hotplug) updates:
      
         - Support for locked CSD objects in smp_call_function_single_async()
           which allows to simplify callsites in the scheduler core and MIPS
      
         - Treewide consolidation of CPU hotplug functions which ensures the
           consistency between the sysfs interface and kernel state. The low
           level functions cpu_up/down() are now confined to the core code and
           not longer accessible from random code"
      
      * tag 'smp-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus()
        cpu/hotplug: Hide cpu_up/down()
        cpu/hotplug: Move bringup of secondary CPUs out of smp_init()
        torture: Replace cpu_up/down() with add/remove_cpu()
        firmware: psci: Replace cpu_up/down() with add/remove_cpu()
        xen/cpuhotplug: Replace cpu_up/down() with device_online/offline()
        parisc: Replace cpu_up/down() with add/remove_cpu()
        sparc: Replace cpu_up/down() with add/remove_cpu()
        powerpc: Replace cpu_up/down() with add/remove_cpu()
        x86/smp: Replace cpu_up/down() with add/remove_cpu()
        arm64: hibernate: Use bringup_hibernate_cpu()
        cpu/hotplug: Provide bringup_hibernate_cpu()
        arm64: Use reboot_cpu instead of hardconding it to 0
        arm64: Don't use disable_nonboot_cpus()
        ARM: Use reboot_cpu instead of hardcoding it to 0
        ARM: Don't use disable_nonboot_cpus()
        ia64: Replace cpu_down() with smp_shutdown_nonboot_cpus()
        cpu/hotplug: Create a new function to shutdown nonboot cpus
        cpu/hotplug: Add new {add,remove}_cpu() functions
        sched/core: Remove rq.hrtick_csd_pending
        ...
      992a1a3b
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2d385336
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "Updates for the interrupt subsystem:
      
        Treewide:
      
          - Cleanup of setup_irq() which is not longer required because the
            memory allocator is available early.
      
            Most cleanup changes come through the various maintainer trees, so
            the final removal of setup_irq() is postponed towards the end of
            the merge window.
      
        Core:
      
          - Protection against unsafe invocation of interrupt handlers and
            unsafe interrupt injection including a fixup of the offending
            PCI/AER error injection mechanism.
      
            Invoking interrupt handlers from arbitrary contexts, i.e. outside
            of an actual interrupt, can cause inconsistent state on the
            fragile x86 interrupt affinity changing hardware trainwreck.
      
        Drivers:
      
          - Second wave of support for the new ARM GICv4.1
      
          - Multi-instance support for Xilinx and PLIC interrupt controllers
      
          - CPU-Hotplug support for PLIC
      
          - The obligatory new driver for X1000 TCU
      
          - Enhancements, cleanups and fixes all over the place"
      
      * tag 'irq-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits)
        unicore32: Replace setup_irq() by request_irq()
        sh: Replace setup_irq() by request_irq()
        hexagon: Replace setup_irq() by request_irq()
        c6x: Replace setup_irq() by request_irq()
        alpha: Replace setup_irq() by request_irq()
        irqchip/gic-v4.1: Eagerly vmap vPEs
        irqchip/gic-v4.1: Add VSGI property setup
        irqchip/gic-v4.1: Add VSGI allocation/teardown
        irqchip/gic-v4.1: Move doorbell management to the GICv4 abstraction layer
        irqchip/gic-v4.1: Plumb set_vcpu_affinity SGI callbacks
        irqchip/gic-v4.1: Plumb get/set_irqchip_state SGI callbacks
        irqchip/gic-v4.1: Plumb mask/unmask SGI callbacks
        irqchip/gic-v4.1: Add initial SGI configuration
        irqchip/gic-v4.1: Plumb skeletal VSGI irqchip
        irqchip/stm32: Retrigger both in eoi and unmask callbacks
        irqchip/gic-v3: Move irq_domain_update_bus_token to after checking for NULL domain
        irqchip/xilinx: Do not call irq_set_default_host()
        irqchip/xilinx: Enable generic irq multi handler
        irqchip/xilinx: Fill error code when irq domain registration fails
        irqchip/xilinx: Add support for multiple instances
        ...
      2d385336
    • Randy Dunlap's avatar
      staging/octeon: fix up merge error · 673b41e0
      Randy Dunlap authored
      There's a semantic conflict in the Octeon staging network driver, which
      used the skb_reset_tc() function to reset skb state when re-using an
      skb.  But that inline helper function was removed in mainline by commit
      2c64605b ("net: Fix CONFIG_NET_CLS_ACT=n and
      CONFIG_NFT_FWD_NETDEV={y, m} build").
      
      Fix it by using skb_reset_redirect() instead.  Also move it out of the
      
      This code path only ends up triggering if REUSE_SKBUFFS_WITHOUT_FREE is
      enabled, which in turn only happens if you don't have CONFIG_NETFILTER
      configured.  Which was how this wasn't caught by the usual allmodconfig
      builds.
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      673b41e0
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 642e53ea
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - Various NUMA scheduling updates: harmonize the load-balancer and
           NUMA placement logic to not work against each other. The intended
           result is better locality, better utilization and fewer migrations.
      
         - Introduce Thermal Pressure tracking and optimizations, to improve
           task placement on thermally overloaded systems.
      
         - Implement frequency invariant scheduler accounting on (some) x86
           CPUs. This is done by observing and sampling the 'recent' CPU
           frequency average at ~tick boundaries. The CPU provides this data
           via the APERF/MPERF MSRs. This hopefully makes our capacity
           estimates more precise and keeps tasks on the same CPU better even
           if it might seem overloaded at a lower momentary frequency. (As
           usual, turbo mode is a complication that we resolve by observing
           the maximum frequency and renormalizing to it.)
      
         - Add asymmetric CPU capacity wakeup scan to improve capacity
           utilization on asymmetric topologies. (big.LITTLE systems)
      
         - PSI fixes and optimizations.
      
         - RT scheduling capacity awareness fixes & improvements.
      
         - Optimize the CONFIG_RT_GROUP_SCHED constraints code.
      
         - Misc fixes, cleanups and optimizations - see the changelog for
           details"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (62 commits)
        threads: Update PID limit comment according to futex UAPI change
        sched/fair: Fix condition of avg_load calculation
        sched/rt: cpupri_find: Trigger a full search as fallback
        kthread: Do not preempt current task if it is going to call schedule()
        sched/fair: Improve spreading of utilization
        sched: Avoid scale real weight down to zero
        psi: Move PF_MEMSTALL out of task->flags
        MAINTAINERS: Add maintenance information for psi
        psi: Optimize switching tasks inside shared cgroups
        psi: Fix cpu.pressure for cpu.max and competing cgroups
        sched/core: Distribute tasks within affinity masks
        sched/fair: Fix enqueue_task_fair warning
        thermal/cpu-cooling, sched/core: Move the arch_set_thermal_pressure() API to generic scheduler code
        sched/rt: Remove unnecessary push for unfit tasks
        sched/rt: Allow pulling unfitting task
        sched/rt: Optimize cpupri_find() on non-heterogenous systems
        sched/rt: Re-instate old behavior in select_task_rq_rt()
        sched/rt: cpupri_find: Implement fallback mechanism for !fit case
        sched/fair: Fix reordering of enqueue/dequeue_task_fair()
        sched/fair: Fix runnable_avg for throttled cfs
        ...
      642e53ea
  2. 30 Mar, 2020 9 commits
    • Colin Ian King's avatar
      selinux: clean up indentation issue with assignment statement · c753924b
      Colin Ian King authored
      The assignment of e->type_names is indented one level too deep,
      clean this up by removing the extraneous tab.
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
      c753924b
    • Scott Mayhew's avatar
      NFS: Ensure security label is set for root inode · 779df6a5
      Scott Mayhew authored
      When using NFSv4.2, the security label for the root inode should be set
      via a call to nfs_setsecurity() during the mount process, otherwise the
      inode will appear as unlabeled for up to acdirmin seconds.  Currently
      the label for the root inode is allocated, retrieved, and freed entirely
      witin nfs4_proc_get_root().
      
      Add a field for the label to the nfs_fattr struct, and allocate & free
      the label in nfs_get_root(), where we also add a call to
      nfs_setsecurity().  Note that for the call to nfs_setsecurity() to
      succeed, it's necessary to also move the logic calling
      security_sb_{set,clone}_security() from nfs_get_tree_common() down into
      nfs_get_root()... otherwise the SBLABEL_MNT flag will not be set in the
      super_block's security flags and nfs_setsecurity() will silently fail.
      Reported-by: default avatarRichard Haines <richard_c_haines@btinternet.com>
      Signed-off-by: default avatarScott Mayhew <smayhew@redhat.com>
      Acked-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      Tested-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      [PM: fixed 80-char line width problems]
      Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
      779df6a5
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9b82f05f
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "The main changes in this cycle were:
      
        Kernel side changes:
      
         - A couple of x86/cpu cleanups and changes were grandfathered in due
           to patch dependencies. These clean up the set of CPU model/family
           matching macros with a consistent namespace and C99 initializer
           style.
      
         - A bunch of updates to various low level PMU drivers:
             * AMD Family 19h L3 uncore PMU
             * Intel Tiger Lake uncore support
             * misc fixes to LBR TOS sampling
      
         - optprobe fixes
      
         - perf/cgroup: optimize cgroup event sched-in processing
      
         - misc cleanups and fixes
      
        Tooling side changes are to:
      
         - perf {annotate,expr,record,report,stat,test}
      
         - perl scripting
      
         - libapi, libperf and libtraceevent
      
         - vendor events on Intel and S390, ARM cs-etm
      
         - Intel PT updates
      
         - Documentation changes and updates to core facilities
      
         - misc cleanups, fixes and other enhancements"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (89 commits)
        cpufreq/intel_pstate: Fix wrong macro conversion
        x86/cpu: Cleanup the now unused CPU match macros
        hwrng: via_rng: Convert to new X86 CPU match macros
        crypto: Convert to new CPU match macros
        ASoC: Intel: Convert to new X86 CPU match macros
        powercap/intel_rapl: Convert to new X86 CPU match macros
        PCI: intel-mid: Convert to new X86 CPU match macros
        mmc: sdhci-acpi: Convert to new X86 CPU match macros
        intel_idle: Convert to new X86 CPU match macros
        extcon: axp288: Convert to new X86 CPU match macros
        thermal: Convert to new X86 CPU match macros
        hwmon: Convert to new X86 CPU match macros
        platform/x86: Convert to new CPU match macros
        EDAC: Convert to new X86 CPU match macros
        cpufreq: Convert to new X86 CPU match macros
        ACPI: Convert to new X86 CPU match macros
        x86/platform: Convert to new CPU match macros
        x86/kernel: Convert to new CPU match macros
        x86/kvm: Convert to new CPU match macros
        x86/perf/events: Convert to new CPU match macros
        ...
      9b82f05f
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4b9fd8a8
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Continued user-access cleanups in the futex code.
      
         - percpu-rwsem rewrite that uses its own waitqueue and atomic_t
           instead of an embedded rwsem. This addresses a couple of
           weaknesses, but the primary motivation was complications on the -rt
           kernel.
      
         - Introduce raw lock nesting detection on lockdep
           (CONFIG_PROVE_RAW_LOCK_NESTING=y), document the raw_lock vs. normal
           lock differences. This too originates from -rt.
      
         - Reuse lockdep zapped chain_hlocks entries, to conserve RAM
           footprint on distro-ish kernels running into the "BUG:
           MAX_LOCKDEP_CHAIN_HLOCKS too low!" depletion of the lockdep
           chain-entries pool.
      
         - Misc cleanups, smaller fixes and enhancements - see the changelog
           for details"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (55 commits)
        fs/buffer: Make BH_Uptodate_Lock bit_spin_lock a regular spinlock_t
        thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t
        Documentation/locking/locktypes: Minor copy editor fixes
        Documentation/locking/locktypes: Further clarifications and wordsmithing
        m68knommu: Remove mm.h include from uaccess_no.h
        x86: get rid of user_atomic_cmpxchg_inatomic()
        generic arch_futex_atomic_op_inuser() doesn't need access_ok()
        x86: don't reload after cmpxchg in unsafe_atomic_op2() loop
        x86: convert arch_futex_atomic_op_inuser() to user_access_begin/user_access_end()
        objtool: whitelist __sanitizer_cov_trace_switch()
        [parisc, s390, sparc64] no need for access_ok() in futex handling
        sh: no need of access_ok() in arch_futex_atomic_op_inuser()
        futex: arch_futex_atomic_op_inuser() calling conventions change
        completion: Use lockdep_assert_RT_in_threaded_ctx() in complete_all()
        lockdep: Add posixtimer context tracing bits
        lockdep: Annotate irq_work
        lockdep: Add hrtimer context tracing bits
        lockdep: Introduce wait-type checks
        completion: Use simple wait queues
        sched/swait: Prepare usage in completions
        ...
      4b9fd8a8
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a776c270
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The EFI changes in this cycle are much larger than usual, for two
        (positive) reasons:
      
         - The GRUB project is showing signs of life again, resulting in the
           introduction of the generic Linux/UEFI boot protocol, instead of
           x86 specific hacks which are increasingly difficult to maintain.
           There's hope that all future extensions will now go through that
           boot protocol.
      
         - Preparatory work for RISC-V EFI support.
      
        The main changes are:
      
         - Boot time GDT handling changes
      
         - Simplify handling of EFI properties table on arm64
      
         - Generic EFI stub cleanups, to improve command line handling, file
           I/O, memory allocation, etc.
      
         - Introduce a generic initrd loading method based on calling back
           into the firmware, instead of relying on the x86 EFI handover
           protocol or device tree.
      
         - Introduce a mixed mode boot method that does not rely on the x86
           EFI handover protocol either, and could potentially be adopted by
           other architectures (if another one ever surfaces where one
           execution mode is a superset of another)
      
         - Clean up the contents of 'struct efi', and move out everything that
           doesn't need to be stored there.
      
         - Incorporate support for UEFI spec v2.8A changes that permit
           firmware implementations to return EFI_UNSUPPORTED from UEFI
           runtime services at OS runtime, and expose a mask of which ones are
           supported or unsupported via a configuration table.
      
         - Partial fix for the lack of by-VA cache maintenance in the
           decompressor on 32-bit ARM.
      
         - Changes to load device firmware from EFI boot service memory
           regions
      
         - Various documentation updates and minor code cleanups and fixes"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
        efi/libstub/arm: Fix spurious message that an initrd was loaded
        efi/libstub/arm64: Avoid image_base value from efi_loaded_image
        partitions/efi: Fix partition name parsing in GUID partition entry
        efi/x86: Fix cast of image argument
        efi/libstub/x86: Use ULONG_MAX as upper bound for all allocations
        efi: Fix a mistype in comments mentioning efivar_entry_iter_begin()
        efi/libstub: Avoid linking libstub/lib-ksyms.o into vmlinux
        efi/x86: Preserve %ebx correctly in efi_set_virtual_address_map()
        efi/x86: Ignore the memory attributes table on i386
        efi/x86: Don't relocate the kernel unless necessary
        efi/x86: Remove extra headroom for setup block
        efi/x86: Add kernel preferred address to PE header
        efi/x86: Decompress at start of PE image load address
        x86/boot/compressed/32: Save the output address instead of recalculating it
        efi/libstub/x86: Deal with exit() boot service returning
        x86/boot: Use unsigned comparison for addresses
        efi/x86: Avoid using code32_start
        efi/x86: Make efi32_pe_entry() more readable
        efi/x86: Respect 32-bit ABI in efi32_pe_entry()
        efi/x86: Annotate the LOADED_IMAGE_PROTOCOL_GUID with SYM_DATA
        ...
      a776c270
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7c4fa150
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Make kfree_rcu() use kfree_bulk() for added performance
      
         - RCU updates
      
         - Callback-overload handling updates
      
         - Tasks-RCU KCSAN and sparse updates
      
         - Locking torture test and RCU torture test updates
      
         - Documentation updates
      
         - Miscellaneous fixes"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (74 commits)
        rcu: Make rcu_barrier() account for offline no-CBs CPUs
        rcu: Mark rcu_state.gp_seq to detect concurrent writes
        Documentation/memory-barriers: Fix typos
        doc: Add rcutorture scripting to torture.txt
        doc/RCU/rcu: Use https instead of http if possible
        doc/RCU/rcu: Use absolute paths for non-rst files
        doc/RCU/rcu: Use ':ref:' for links to other docs
        doc/RCU/listRCU: Update example function name
        doc/RCU/listRCU: Fix typos in a example code snippets
        doc/RCU/Design: Remove remaining HTML tags in ReST files
        doc: Add some more RCU list patterns in the kernel
        rcutorture: Set KCSAN Kconfig options to detect more data races
        rcutorture: Manually clean up after rcu_barrier() failure
        rcutorture: Make rcu_torture_barrier_cbs() post from corresponding CPU
        rcuperf: Measure memory footprint during kfree_rcu() test
        rcutorture: Annotation lockless accesses to rcu_torture_current
        rcutorture: Add READ_ONCE() to rcu_torture_count and rcu_torture_batch
        rcutorture: Fix stray access to rcu_fwd_cb_nodelay
        rcutorture: Fix rcu_torture_one_read()/rcu_torture_writer() data race
        rcutorture: Make kvm-find-errors.sh abort on bad directory
        ...
      7c4fa150
    • Linus Torvalds's avatar
      Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d937a6df
      Linus Torvalds authored
      Pull objtool updates from Ingo Molnar:
       "The biggest changes in this cycle were the vmlinux.o optimizations by
         Peter Zijlstra, which are preparatory and optimization work to run
         objtool against the much richer vmlinux.o object file, to perform
         new, whole-program section based logic. That work exposed a handful
         of problems with the existing code, which fixes and optimizations are
         merged here. The complete 'vmlinux.o and noinstr' work is still work
         in progress, targeted for v5.8.
      
        There's also assorted fixes and enhancements from Josh Poimboeuf.
      
        In particular I'd like to draw attention to commit 644592d3,
        which turns fatal objtool errors into failed kernel builds. This
        behavior is IMO now justified on multiple grounds (it's easy currently
        to not notice an essentially corrupted kernel build), and the commit
        has been in -next testing for several weeks, but there could still be
        build failures with old or weird toolchains. Should that be widespread
        or high profile enough then I'd suggest a quick revert, to not hold up
        the merge window"
      
      * 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        objtool: Re-arrange validate_functions()
        objtool: Optimize find_rela_by_dest_range()
        objtool: Delete cleanup()
        objtool: Optimize read_sections()
        objtool: Optimize find_symbol_by_name()
        objtool: Resize insn_hash
        objtool: Rename find_containing_func()
        objtool: Optimize find_symbol_*() and read_symbols()
        objtool: Optimize find_section_by_name()
        objtool: Optimize find_section_by_index()
        objtool: Add a statistics mode
        objtool: Optimize find_symbol_by_index()
        x86/kexec: Make relocate_kernel_64.S objtool clean
        x86/kexec: Use RIP relative addressing
        objtool: Rename func_for_each_insn_all()
        objtool: Rename func_for_each_insn()
        objtool: Introduce validate_return()
        objtool: Improve call destination function detection
        objtool: Fix clang switch table edge case
        objtool: Add relocation check for alternative sections
        ...
      d937a6df
    • Linus Torvalds's avatar
      Merge tag 'pnp-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2ce94bc4
      Linus Torvalds authored
      Pull PNP subsystem updates from Rafael Wysocki:
      
       - Update MAINTAINERS to cover include/linux/pnp.h and add the
         linux-acpi list to the PNP entry in it
      
       - add the const modifier to the name field definition in struct
         pnp_driver
      
       - drop a pointer case in the RTC CMOS driver that has become redundant
      
      All by Corentin Labbe.
      
      * tag 'pnp-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        MAINTAINERS: Add linux-acpi list to PNP
        rtc: cmos: remove useless cast for driver_name
        PNP: constify driver name
        PNP: add missing include/linux/pnp.h to MAINTAINERS
      2ce94bc4
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6d905081
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
      
         - Update the ACPICA code in the kernel to the 20200214 upstream
           release including:
      
             * Fix to re-enable the sleep button after wakeup (Anchal
               Agarwal).
      
             * Fixes for mistakes in comments and typos (Bob Moore).
      
             * ASL-ASL+ converter updates (Erik Kaneda).
      
             * Type casting cleanups (Sven Barth).
      
         - Clean up the intialization of the EC driver and eliminate some dead
           code from it (Rafael Wysocki).
      
         - Clean up the quirk tables in the AC and battery drivers (Hans de
           Goede).
      
         - Fix the global lock handling on x86 to ignore unspecified bit
           positions in the global lock field (Jan Engelhardt).
      
         - Add a new "tiny" driver for ACPI button devices exposed by VMs to
           guest kernels to send signals directly to init (Josh Triplett).
      
         - Add a kernel parameter to disable ACPI BGRT on x86 (Alex Hung).
      
         - Make the ACPI PCI host bridge and fan drivers use scnprintf() to
           avoid potential buffer overflows (Takashi Iwai).
      
         - Clean up assorted pieces of code:
      
             * Reorder "asmlinkage" to make g++ happy (Alexey Dobriyan).
      
             * Drop unneeded variable initialization (Colin Ian King).
      
             * Add missing __acquires/__releases annotations (Jules Irenge).
      
             * Replace list_for_each_safe() with list_for_each_entry_safe()
               (chenqiwu)"
      
      * tag 'acpi-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (31 commits)
        ACPICA: Update version to 20200214
        ACPI: PCI: Use scnprintf() for avoiding potential buffer overflow
        ACPI: fan: Use scnprintf() for avoiding potential buffer overflow
        ACPI: EC: Eliminate EC_FLAGS_QUERY_HANDSHAKE
        ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add()
        ACPI: EC: Simplify acpi_ec_ecdt_start() and acpi_ec_init()
        ACPI: EC: Consolidate event handler installation code
        acpi/x86: ignore unspecified bit positions in the ACPI global lock field
        acpi/x86: add a kernel parameter to disable ACPI BGRT
        x86/acpi: make "asmlinkage" part first thing in the function definition
        ACPI: list_for_each_safe() -> list_for_each_entry_safe()
        ACPI: video: remove redundant assignments to variable result
        ACPI: OSL: Add missing __acquires/__releases annotations
        ACPI / battery: Cleanup Lenovo Ideapad Miix 320 DMI table entry
        ACPI / AC: Cleanup DMI quirk table
        ACPI: EC: Use fast path in acpi_ec_add() for DSDT boot EC
        ACPI: EC: Simplify acpi_ec_add()
        ACPI: EC: Drop AE_NOT_FOUND special case from ec_install_handlers()
        ACPI: EC: Avoid passing redundant argument to functions
        ACPI: EC: Avoid printing confusing messages in acpi_ec_setup()
        ...
      6d905081