01 Apr, 2020

20 commits

  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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: : fix all kernel-doc warnings

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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()

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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()

    Linus Torvalds
     
  • Update kselftest help information.

    Signed-off-by: Shuah Khan
    Signed-off-by: Masahiro Yamada

    Shuah Khan
     

31 Mar, 2020

20 commits

  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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
    2c64605b590e ("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: Randy Dunlap
    Reported-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • 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
    ...

    Linus Torvalds
     
  • The assignment of e->type_names is indented one level too deep,
    clean this up by removing the extraneous tab.

    Signed-off-by: Colin Ian King
    Signed-off-by: Paul Moore

    Colin Ian King
     
  • 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: Richard Haines
    Signed-off-by: Scott Mayhew
    Acked-by: Stephen Smalley
    Tested-by: Stephen Smalley
    [PM: fixed 80-char line width problems]
    Signed-off-by: Paul Moore

    Scott Mayhew
     
  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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 644592d328370,
    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
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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()
    ...

    Linus Torvalds