Skip to content
  1. Jun 30, 2021
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2021-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a941a034
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "Time and clocksource/clockevent related updates:
      
        Core changes:
      
         - Infrastructure to support per CPU "broadcast" devices for per CPU
           clockevent devices which stop in deep idle states. This allows us
           to utilize the more efficient architected timer on certain ARM SoCs
           for normal operation instead of permanentely using the slow to
           access SoC specific clockevent device.
      
         - Print the name of the broadcast/wakeup device in /proc/timer_list
      
         - Make the clocksource watchdog more robust against delays between
           reading the current active clocksource and the watchdog
           clocksource. Such delays can be caused by NMIs, SMIs and vCPU
           preemption.
      
           Handle this by reading the watchdog clocksource twice, i.e. before
           and after reading the current active clocksource. In case that the
           two watchdog reads shows an excessive time delta, the read sequence
           is repeated up to 3 times.
      
         - Improve the debug output and add a test module for the watchdog
           mechanism.
      
         - Reimplementation of the venerable time64_to_tm() function with a
           faster and significantly smaller version. Straight from the source,
           i.e. the author of the related research paper contributed this!
      
        Driver changes:
      
         - No new drivers, not even new device tree bindings!
      
         - Fixes, improvements and cleanups and all over the place"
      
      * tag 'timers-core-2021-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
        time/kunit: Add missing MODULE_LICENSE()
        time: Improve performance of time64_to_tm()
        clockevents: Use list_move() instead of list_del()/list_add()
        clocksource: Print deviation in nanoseconds when a clocksource becomes unstable
        clocksource: Provide kernel module to test clocksource watchdog
        clocksource: Reduce clocksource-skew threshold
        clocksource: Limit number of CPUs checked for clock synchronization
        clocksource: Check per-CPU clock synchronization when marked unstable
        clocksource: Retry clock read if long delays detected
        clockevents: Add missing parameter documentation
        clocksource/drivers/timer-ti-dm: Drop unnecessary restore
        clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround
        clocksource/drivers/arm_global_timer: Remove duplicated argument in arm_global_timer
        clocksource/drivers/arm_global_timer: Make symbol 'gt_clk_rate_change_nb' static
        arm: zynq: don't disable CONFIG_ARM_GLOBAL_TIMER due to CONFIG_CPU_FREQ anymore
        clocksource/drivers/arm_global_timer: Implement rate compensation whenever source clock changes
        clocksource/drivers/ingenic: Rename unreasonable array names
        clocksource/drivers/timer-ti-dm: Save and restore timer TIOCP_CFG
        clocksource/drivers/mediatek: Ack and disable interrupts on suspend
        clocksource/drivers/samsung_pwm: Constify source IO memory
        ...
      a941a034
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2021-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 21edf509
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "Updates for the interrupt subsystem:
      
        Core changes:
      
         - Cleanup and simplification of common code to invoke the low level
           interrupt flow handlers when this invocation requires irqdomain
           resolution. Add the necessary core infrastructure.
      
         - Provide a proper interface for modular PMU drivers to set the
           interrupt affinity.
      
         - Add a request flag which allows to exclude interrupts from spurious
           interrupt detection. Useful especially for IPI handlers which
           always return IRQ_HANDLED which turns the spurious interrupt
           detection into a pointless waste of CPU cycles.
      
        Driver changes:
      
         - Bulk convert interrupt chip drivers to the new irqdomain low level
           flow handler invocation mechanism.
      
         - Add device tree bindings for the Renesas R-Car M3-W+ SoC
      
         - Enable modular build of the Qualcomm PDC driver
      
         - The usual small fixes and improvements"
      
      * tag 'irq-core-2021-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (38 commits)
        dt-bindings: interrupt-controller: arm,gic-v3: Describe GICv3 optional properties
        irqchip: gic-pm: Remove redundant error log of clock bulk
        irqchip/sun4i: Remove unnecessary oom message
        irqchip/irq-imx-gpcv2: Remove unnecessary oom message
        irqchip/imgpdc: Remove unnecessary oom message
        irqchip/gic-v3-its: Remove unnecessary oom message
        irqchip/gic-v2m: Remove unnecessary oom message
        irqchip/exynos-combiner: Remove unnecessary oom message
        irqchip: Bulk conversion to generic_handle_domain_irq()
        genirq: Move non-irqdomain handle_domain_irq() handling into ARM's handle_IRQ()
        genirq: Add generic_handle_domain_irq() helper
        irqchip/nvic: Convert from handle_IRQ() to handle_domain_irq()
        irqdesc: Fix __handle_domain_irq() comment
        genirq: Use irq_resolve_mapping() to implement __handle_domain_irq() and co
        irqdomain: Introduce irq_resolve_mapping()
        irqdomain: Protect the linear revmap with RCU
        irqdomain: Cache irq_data instead of a virq number in the revmap
        irqdomain: Use struct_size() helper when allocating irqdomain
        irqdomain: Make normal and nomap irqdomains exclusive
        powerpc: Move the use of irq_domain_add_nomap() behind a config option
        ...
      21edf509
    • Linus Torvalds's avatar
      Merge tag 'smp-urgent-2021-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 62180152
      Linus Torvalds authored
      Pull CPU hotplug fix from Thomas Gleixner:
       "A fix for the CPU hotplug and cpusets interaction:
      
        cpusets delegate the hotplug work to a workqueue to prevent a lock
        order inversion vs. the CPU hotplug lock. The work is not flushed
        before the hotplug operation returns which creates user visible
        inconsistent state. Prevent this by flushing the work after dropping
        CPU hotplug lock and before releasing the outer mutex which serializes
        the CPU hotplug related sysfs interface operations"
      
      * tag 'smp-urgent-2021-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        cpu/hotplug: Cure the cpusets trainwreck
      62180152
    • Linus Torvalds's avatar
      Merge tag 'smp-core-2021-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 371fb854
      Linus Torvalds authored
      Pull CPU hotplug cleanup from Thomas Gleixner:
       "A simple cleanup for the CPU hotplug code to avoid per_cpu_ptr()
        reevaluation"
      
      * tag 'smp-core-2021-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        cpu/hotplug: Simplify access to percpu cpuhp_state
      371fb854
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · e563592c
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Add %pt[RT]s modifier to vsprintf(). It overrides ISO 8601 separator
         by using ' ' (space). It produces "YYYY-mm-dd HH:MM:SS" instead of
         "YYYY-mm-ddTHH:MM:SS".
      
       - Correctly parse long row of numbers by sscanf() when using the field
         width. Add extensive sscanf() selftest.
      
       - Generalize re-entrant CPU lock that has already been used to
         serialize dump_stack() output. It is part of the ongoing printk
         rework. It will allow to remove the obsoleted printk_safe buffers and
         introduce atomic consoles.
      
       - Some code clean up and sparse warning fixes.
      
      * tag 'printk-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        printk: fix cpu lock ordering
        lib/dump_stack: move cpu lock to printk.c
        printk: Remove trailing semicolon in macros
        random32: Fix implicit truncation warning in prandom_seed_state()
        lib: test_scanf: Remove pointless use of type_min() with unsigned types
        selftests: lib: Add wrapper script for test_scanf
        lib: test_scanf: Add tests for sscanf number conversion
        lib: vsprintf: Fix handling of number field widths in vsscanf
        lib: vsprintf: scanf: Negative number must have field width > 1
        usb: host: xhci-tegra: Switch to use %ptTs
        nilfs2: Switch to use %ptTs
        kdb: Switch to use %ptTs
        lib/vsprintf: Allow to override ISO 8601 date and time separator
      e563592c
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed-20210629' of... · b694011a
      Linus Torvalds authored
      Merge tag 'hyperv-next-signed-20210629' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
      
      Pull hyperv updates from Wei Liu:
       "Just a few minor enhancement patches and bug fixes"
      
      * tag 'hyperv-next-signed-20210629' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
        PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv()
        Drivers: hv: Move Hyper-V extended capability check to arch neutral code
        drivers: hv: Fix missing error code in vmbus_connect()
        x86/hyperv: fix logical processor creation
        hv_utils: Fix passing zero to 'PTR_ERR' warning
        scsi: storvsc: Use blk_mq_unique_tag() to generate requestIDs
        Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer
        hv_balloon: Remove redundant assignment to region_start
      b694011a
  2. Jun 29, 2021
    • Petr Mladek's avatar
      Merge branch 'printk-rework' into for-linus · 94f2be50
      Petr Mladek authored
      94f2be50
    • Petr Mladek's avatar
      d8c03214
    • Petr Mladek's avatar
      80ae5529
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · c54b245d
      Linus Torvalds authored
      Pull user namespace rlimit handling update from Eric Biederman:
       "This is the work mainly by Alexey Gladkov to limit rlimits to the
        rlimits of the user that created a user namespace, and to allow users
        to have stricter limits on the resources created within a user
        namespace."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        cred: add missing return error code when set_cred_ucounts() failed
        ucounts: Silence warning in dec_rlimit_ucounts
        ucounts: Set ucount_max to the largest positive value the type can hold
        kselftests: Add test to check for rlimit changes in different user namespaces
        Reimplement RLIMIT_MEMLOCK on top of ucounts
        Reimplement RLIMIT_SIGPENDING on top of ucounts
        Reimplement RLIMIT_MSGQUEUE on top of ucounts
        Reimplement RLIMIT_NPROC on top of ucounts
        Use atomic_t for ucounts reference counting
        Add a reference to ucounts for each cred
        Increase size of ucounts to atomic_long_t
      c54b245d
    • Linus Torvalds's avatar
      Merge tag 'array-bounds-fixes-5.14-rc1' of... · e17c120f
      Linus Torvalds authored
      Merge tag 'array-bounds-fixes-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull array-bounds fixes from Gustavo Silva:
       "Fix an out-of-bounds warning in the media subsystem.
      
        This is part of the ongoing efforts to globally enable -Warray-bounds"
      
      * tag 'array-bounds-fixes-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
        media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2()
      e17c120f
    • Linus Torvalds's avatar
      Merge tag 'fallthrough-fixes-clang-5.14-rc1' of... · 8ec035ac
      Linus Torvalds authored
      Merge tag 'fallthrough-fixes-clang-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull fallthrough fixes from Gustavo Silva:
       "Fix many fall-through warnings when building with Clang 12.0.0 and
        '-Wimplicit-fallthrough' so that we at some point will be able to
        enable that warning by default"
      
      * tag 'fallthrough-fixes-clang-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux: (26 commits)
        rxrpc: Fix fall-through warnings for Clang
        drm/nouveau/clk: Fix fall-through warnings for Clang
        drm/nouveau/therm: Fix fall-through warnings for Clang
        drm/nouveau: Fix fall-through warnings for Clang
        xfs: Fix fall-through warnings for Clang
        xfrm: Fix fall-through warnings for Clang
        tipc: Fix fall-through warnings for Clang
        sctp: Fix fall-through warnings for Clang
        rds: Fix fall-through warnings for Clang
        net/packet: Fix fall-through warnings for Clang
        net: netrom: Fix fall-through warnings for Clang
        ide: Fix fall-through warnings for Clang
        hwmon: (max6621) Fix fall-through warnings for Clang
        hwmon: (corsair-cpro) Fix fall-through warnings for Clang
        firewire: core: Fix fall-through warnings for Clang
        braille_console: Fix fall-through warnings for Clang
        ipv4: Fix fall-through warnings for Clang
        qlcnic: Fix fall-through warnings for Clang
        bnxt_en: Fix fall-through warnings for Clang
        netxen_nic: Fix fall-through warnings for Clang
        ...
      8ec035ac
    • Linus Torvalds's avatar
      Merge tag 'pstore-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 07bdc074
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
       "Use normal block device I/O path for pstore/blk. (Christoph Hellwig,
        Kees Cook, Pu Lehui)"
      
      * tag 'pstore-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore/blk: Include zone in pstore_device_info
        pstore/blk: Fix kerndoc and redundancy on blkdev param
        pstore/blk: Use the normal block device I/O path
        pstore/blk: Move verify_size() macro out of function
        pstore/blk: Improve failure reporting
      07bdc074
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 616ea5cc
      Linus Torvalds authored
      Pull seccomp updates from Kees Cook:
      
       - Add "atomic addfd + send reply" mode to SECCOMP_USER_NOTIF to better
         handle EINTR races visible to seccomp monitors. (Rodrigo Campos,
         Sargun Dhillon)
      
       - Improve seccomp selftests for readability in CI systems. (Kees Cook)
      
      * tag 'seccomp-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        selftests/seccomp: Avoid using "sysctl" for report
        selftests/seccomp: Flush benchmark output
        selftests/seccomp: More closely track fds being assigned
        selftests/seccomp: Add test for atomic addfd+send
        seccomp: Support atomic "addfd + send reply"
      616ea5cc
    • Linus Torvalds's avatar
      Merge tag 'docs-5.14' of git://git.lwn.net/linux · 233a806b
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "This was a reasonably active cycle for documentation; this includes:
      
         - Some kernel-doc cleanups. That script is still regex onslaught from
           hell, but it has gotten a little better.
      
         - Improvements to the checkpatch docs, which are also used by the
           tool itself.
      
         - A major update to the pathname lookup documentation.
      
         - Elimination of :doc: markup, since our automarkup magic can create
           references from filenames without all the extra noise.
      
         - The flurry of Chinese translation activity continues.
      
        Plus, of course, the usual collection of updates, typo fixes, and
        warning fixes"
      
      * tag 'docs-5.14' of git://git.lwn.net/linux: (115 commits)
        docs: path-lookup: use bare function() rather than literals
        docs: path-lookup: update symlink description
        docs: path-lookup: update get_link() ->follow_link description
        docs: path-lookup: update WALK_GET, WALK_PUT desc
        docs: path-lookup: no get_link()
        docs: path-lookup: update i_op->put_link and cookie description
        docs: path-lookup: i_op->follow_link replaced with i_op->get_link
        docs: path-lookup: Add macro name to symlink limit description
        docs: path-lookup: remove filename_mountpoint
        docs: path-lookup: update do_last() part
        docs: path-lookup: update path_mountpoint() part
        docs: path-lookup: update path_to_nameidata() part
        docs: path-lookup: update follow_managed() part
        docs: Makefile: Use CONFIG_SHELL not SHELL
        docs: Take a little noise out of the build process
        docs: x86: avoid using ReST :doc:`foo` markup
        docs: virt: kvm: s390-pv-boot.rst: avoid using ReST :doc:`foo` markup
        docs: userspace-api: landlock.rst: avoid using ReST :doc:`foo` markup
        docs: trace: ftrace.rst: avoid using ReST :doc:`foo` markup
        docs: trace: coresight: coresight.rst: avoid using ReST :doc:`foo` markup
        ...
      233a806b
    • Linus Torvalds's avatar
      Merge tag 'for-5.14-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 122fa8c5
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "A normal mix of improvements, core changes and features that user have
        been missing or complaining about.
      
        User visible changes:
      
         - new sysfs exports:
            - add sysfs knob to limit scrub IO bandwidth per device
            - device stats are also available in
                 /sys/fs/btrfs/FSID/devinfo/DEVID/error_stats
      
         - support cancellable resize and device delete ioctls
      
         - change how the empty value is interpreted when setting a property,
           so far we have only 'btrfs.compression' and we need to distinguish
           a reset to defaults and setting "do not compress", in general the
           empty value will always mean 'reset to defaults' for any other
           property, for compression it's either 'no' or 'none' to forbid
           compression
      
        Performance improvements:
      
         - no need for full sync when truncation does not touch extents,
           reported run time change is -12%
      
         - avoid unnecessary logging of xattrs during fast fsyncs (+17%
           throughput, -17% runtime on xattr stress workload)
      
        Core:
      
         - preemptive flushing improvements and fixes
            - adjust clamping logic on multi-threaded workloads to avoid
              flushing too soon
            - take into account global block reserve, may help on almost full
              filesystems
            - continue flushing when there are enough pending delalloc and
              ordered bytes
      
         - simplify logic around conditional transaction commit, a workaround
           used in the past for throttling that's been superseded by ticket
           reservations that manage the throttling in a better way
      
         - subpage blocksize preparation:
            - submit read time repair only for each corrupted sector
            - scrub repair now works with sectors and not pages
            - free space cache (v1) works with sectors and not pages
            - more fine grained bio tracking for extents
            - subpage support in page callbacks, extent callbacks, end io
              callbacks
      
         - simplify transaction abort logic and always abort and don't check
           various potentially unreliable stats tracked by the transaction
      
         - exclusive operations can do more checks when started and allow eg.
           cancellation of the same running operation
      
         - ensure relocation never runs while we have send operations running,
           e.g. when zoned background auto reclaim starts
      
        Fixes:
      
         - zoned: more sanity checks of write pointer
      
         - improve error handling in delayed inodes
      
         - send:
            - fix invalid path for unlink operations after parent
              orphanization
            - fix crash when memory allocations trigger reclaim
      
         - skip compression of we have only one page (can't make things
           better)
      
         - empty value of a property newly means reset to default
      
        Other:
      
         - lots of cleanups, comment updates, yearly typo fixing
      
         - disable build on platforms having page size 256K"
      
      * tag 'for-5.14-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (101 commits)
        btrfs: remove unused btrfs_fs_info::total_pinned
        btrfs: rip out btrfs_space_info::total_bytes_pinned
        btrfs: rip the first_ticket_bytes logic from fail_all_tickets
        btrfs: remove FLUSH_DELAYED_REFS from data ENOSPC flushing
        btrfs: rip out may_commit_transaction
        btrfs: send: fix crash when memory allocations trigger reclaim
        btrfs: ensure relocation never runs while we have send operations running
        btrfs: shorten integrity checker extent data mount option
        btrfs: switch mount option bits to enums and use wider type
        btrfs: props: change how empty value is interpreted
        btrfs: compression: don't try to compress if we don't have enough pages
        btrfs: fix unbalanced unlock in qgroup_account_snapshot()
        btrfs: sysfs: export dev stats in devinfo directory
        btrfs: fix typos in comments
        btrfs: remove a stale comment for btrfs_decompress_bio()
        btrfs: send: use list_move_tail instead of list_del/list_add_tail
        btrfs: disable build on platforms having page size 256K
        btrfs: send: fix invalid path for unlink operations after parent orphanization
        btrfs: inline wait_current_trans_commit_start in its caller
        btrfs: sink wait_for_unblock parameter to async commit
        ...
      122fa8c5
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · 7aed4d57
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "No noticable change available for this cycle. Just a bugfix related to
        sb chksum feature, two minor cleanups and Chao's email address update:
      
         - fix wrong error code overwritten due to sb checksum feature
      
         - two minor cleanups
      
         - update Chao's email address"
      
      * tag 'erofs-for-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        MAINTAINERS: erofs: update my email address
        erofs: clean up file headers & footers
        erofs: remove the occupied parameter from z_erofs_pagevec_enqueue()
        erofs: fix error return code in erofs_read_superblock()
      7aed4d57
    • Linus Torvalds's avatar
      Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt · a58e2035
      Linus Torvalds authored
      Pull fscrypt updates from Eric Biggers:
       "A couple bug fixes for fs/crypto/:
      
         - Fix handling of major dirhash values that happen to be 0.
      
         - Fix cases where keys were derived differently on big endian systems
           than on little endian systems (affecting some newer features only)"
      
      * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
        fscrypt: fix derivation of SipHash keys on big endian CPUs
        fscrypt: don't ignore minor_hash when hash is 0
      a58e2035
    • Linus Torvalds's avatar
      Merge tag 'integrity-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · a60c538e
      Linus Torvalds authored
      Pull integrity subsystem updates from Mimi Zohar:
       "The large majority of the changes are EVM portable & immutable
        signature related: removing a dependency on loading an HMAC key,
        safely allowing file metadata included in the EVM portable & immutable
        signatures to be modified, allowing EVM signatures to fulfill IMA file
        signature policy requirements, including the EVM file metadata
        signature in lieu of an IMA file data signature in the measurement
        list, and adding dynamic debugging of EVM file metadata.
      
        In addition, in order to detect critical data or file change
        reversions, duplicate measurement records are permitted in the IMA
        measurement list.
      
        The remaining patches address compiler, sparse, and doc warnings"
      
      * tag 'integrity-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity: (31 commits)
        evm: Check xattr size discrepancy between kernel and user
        evm: output EVM digest calculation info
        IMA: support for duplicate measurement records
        ima: Fix warning: no previous prototype for function 'ima_add_kexec_buffer'
        ima: differentiate between EVM failures in the audit log
        ima: Fix fall-through warning for Clang
        ima: Pass NULL instead of 0 to ima_get_action() in ima_file_mprotect()
        ima: Include header defining ima_post_key_create_or_update()
        ima/evm: Fix type mismatch
        ima: Set correct casting types
        doc: Fix warning in Documentation/security/IMA-templates.rst
        evm: Don't return an error in evm_write_xattrs() if audit is not enabled
        ima: Define new template evm-sig
        ima: Define new template fields xattrnames, xattrlengths and xattrvalues
        evm: Verify portable signatures against all protected xattrs
        ima: Define new template field imode
        ima: Define new template fields iuid and igid
        ima: Add ima_show_template_uint() template library function
        ima: Don't remove security.ima if file must not be appraised
        ima: Introduce template field evmsig and write to field sig as fallback
        ...
      a60c538e
    • Linus Torvalds's avatar
      Merge tag 'tomoyo-pr-20210628' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1 · 9cd19f02
      Linus Torvalds authored
      Pull tomoyo fix from Tetsuo Handa:
       "A doc warning fix from ChenXiaoSong"
      
      * tag 'tomoyo-pr-20210628' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1:
        tomoyo: fix doc warnings
      9cd19f02
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 6159c49e
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "Algorithms:
      
         - Fix rmmod crash with x86/curve25519
      
         - Add ECDH NIST P384
      
         - Generate assembly files at build-time with perl scripts on arm
      
         - Switch to HMAC SHA512 DRBG as default DRBG
      
        Drivers:
      
         - Add sl3516 crypto engine
      
         - Add ECDH NIST P384 support in hisilicon/hpre
      
         - Add {ofb,cfb,ctr} over {aes,sm4} in hisilicon/sec
      
         - Add {ccm,gcm} over {aes,sm4} in hisilicon/sec
      
         - Enable omap hwrng driver for TI K3 family
      
         - Add support for AEAD algorithms in qce"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (142 commits)
        crypto: sl3516 - depends on HAS_IOMEM
        crypto: hisilicon/qm - implement for querying hardware tasks status.
        crypto: sl3516 - Fix build warning without CONFIG_PM
        MAINTAINERS: update caam crypto driver maintainers list
        crypto: nx - Fix numerous sparse byte-order warnings
        crypto: nx - Fix RCU warning in nx842_OF_upd_status
        crypto: api - Move crypto attr definitions out of crypto.h
        crypto: nx - Fix memcpy() over-reading in nonce
        crypto: hisilicon/sec - Fix spelling mistake "fallbcak" -> "fallback"
        crypto: sa2ul - Remove unused auth_len variable
        crypto: sl3516 - fix duplicated inclusion
        crypto: hisilicon/zip - adds the max shaper type rate
        crypto: hisilicon/hpre - adds the max shaper type rate
        crypto: hisilicon/sec - adds the max shaper type rate
        crypto: hisilicon/qm - supports to inquiry each function's QoS
        crypto: hisilicon/qm - add pf ping single vf function
        crypto: hisilicon/qm - merges the work initialization process into a single function
        crypto: hisilicon/qm - add the "alg_qos" file node
        crypto: hisilicon/qm - supports writing QoS int the host
        crypto: api - remove CRYPTOA_U32 and related functions
        ...
      6159c49e
    • Linus Torvalds's avatar
      Merge tag 'media/v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 31e798fd
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - V4L2 core control API was split into separate files
      
       - New RC maps: tango and tc-90405
      
       - Hantro driver got support for G2/HEVC decoder
      
       - av7710 is moving to staging, together with some legacy APIs
      
       - several cleanups related to compat_ioctl32 code
      
       - Move the MPEG-2 stateless control type out of staging
      
       - Address several issues with RPM get logic on media drivers
      
       - Lots of cleanups, bug fixes and improvements.
      
      * tag 'media/v5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (394 commits)
        media: s5p-mfc: Fix display delay control creation
        media: mtk-vpu: on suspend, read/write regs only if vpu is running
        media: video-mux: Skip dangling endpoints
        media: Fix Media Controller API config checks
        media: i2c: rdacm20: Re-work ov10635 reset
        media: i2c: rdacm20: Check return values
        media: i2c: rdacm20: Report camera module name
        media: i2c: rdacm20: Enable noise immunity
        media: i2c: rdacm20: Embed 'serializer' field
        media: i2c: rdacm21: Power up OV10640 before OV490
        media: i2c: rdacm21: Fix OV10640 powerup
        media: i2c: rdacm21: Add delay after OV490 reset
        media: i2c: max9271: Introduce wake_up() function
        media: i2c: max9271: Check max9271_write() return
        media: i2c: max9286: Rework comments in .bound()
        media: i2c: max9286: Define high channel amplitude
        media: i2c: max9286: Cache channel amplitude
        media: i2c: max9286: Rename reverse_channel_mv
        media: i2c: max9286: Adjust parameters indent
        media: hantro: add support for Rockchip RK3036
        ...
      31e798fd
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 36824f19
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "This covers all architectures (except MIPS) so I don't expect any
        other feature pull requests this merge window.
      
        ARM:
      
         - Add MTE support in guests, complete with tag save/restore interface
      
         - Reduce the impact of CMOs by moving them in the page-table code
      
         - Allow device block mappings at stage-2
      
         - Reduce the footprint of the vmemmap in protected mode
      
         - Support the vGIC on dumb systems such as the Apple M1
      
         - Add selftest infrastructure to support multiple configuration and
           apply that to PMU/non-PMU setups
      
         - Add selftests for the debug architecture
      
         - The usual crop of PMU fixes
      
        PPC:
      
         - Support for the H_RPT_INVALIDATE hypercall
      
         - Conversion of Book3S entry/exit to C
      
         - Bug fixes
      
        S390:
      
         - new HW facilities for guests
      
         - make inline assembly more robust with KASAN and co
      
        x86:
      
         - Allow userspace to handle emulation errors (unknown instructions)
      
         - Lazy allocation of the rmap (host physical -> guest physical
           address)
      
         - Support for virtualizing TSC scaling on VMX machines
      
         - Optimizations to avoid shattering huge pages at the beginning of
           live migration
      
         - Support for initializing the PDPTRs without loading them from
           memory
      
         - Many TLB flushing cleanups
      
         - Refuse to load if two-stage paging is available but NX is not (this
           has been a requirement in practice for over a year)
      
         - A large series that separates the MMU mode (WP/SMAP/SMEP etc.) from
           CR0/CR4/EFER, using the MMU mode everywhere once it is computed
           from the CPU registers
      
         - Use PM notifier to notify the guest about host suspend or hibernate
      
         - Support for passing arguments to Hyper-V hypercalls using XMM
           registers
      
         - Support for Hyper-V TLB flush hypercalls and enlightened MSR bitmap
           on AMD processors
      
         - Hide Hyper-V hypercalls that are not included in the guest CPUID
      
         - Fixes for live migration of virtual machines that use the Hyper-V
           "enlightened VMCS" optimization of nested virtualization
      
         - Bugfixes (not many)
      
        Generic:
      
         - Support for retrieving statistics without debugfs
      
         - Cleanups for the KVM selftests API"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (314 commits)
        KVM: x86: rename apic_access_page_done to apic_access_memslot_enabled
        kvm: x86: disable the narrow guest module parameter on unload
        selftests: kvm: Allows userspace to handle emulation errors.
        kvm: x86: Allow userspace to handle emulation errors
        KVM: x86/mmu: Let guest use GBPAGES if supported in hardware and TDP is on
        KVM: x86/mmu: Get CR4.SMEP from MMU, not vCPU, in shadow page fault
        KVM: x86/mmu: Get CR0.WP from MMU, not vCPU, in shadow page fault
        KVM: x86/mmu: Drop redundant rsvd bits reset for nested NPT
        KVM: x86/mmu: Optimize and clean up so called "last nonleaf level" logic
        KVM: x86: Enhance comments for MMU roles and nested transition trickiness
        KVM: x86/mmu: WARN on any reserved SPTE value when making a valid SPTE
        KVM: x86/mmu: Add helpers to do full reserved SPTE checks w/ generic MMU
        KVM: x86/mmu: Use MMU's role to determine PTTYPE
        KVM: x86/mmu: Collapse 32-bit PAE and 64-bit statements for helpers
        KVM: x86/mmu: Add a helper to calculate root from role_regs
        KVM: x86/mmu: Add helper to update paging metadata
        KVM: x86/mmu: Don't update nested guest's paging bitmasks if CR0.PG=0
        KVM: x86/mmu: Consolidate reset_rsvds_bits_mask() calls
        KVM: x86/mmu: Use MMU role_regs to get LA57, and drop vCPU LA57 helper
        KVM: x86/mmu: Get nested MMU's root level from the MMU's role
        ...
      36824f19
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 9840cfcb
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
       "There's a reasonable amount here and the juicy details are all below.
      
        It's worth noting that the MTE/KASAN changes strayed outside of our
        usual directories due to core mm changes and some associated changes
        to some other architectures; Andrew asked for us to carry these [1]
        rather that take them via the -mm tree.
      
        Summary:
      
         - Optimise SVE switching for CPUs with 128-bit implementations.
      
         - Fix output format from SVE selftest.
      
         - Add support for versions v1.2 and 1.3 of the SMC calling
           convention.
      
         - Allow Pointer Authentication to be configured independently for
           kernel and userspace.
      
         - PMU driver cleanups for managing IRQ affinity and exposing event
           attributes via sysfs.
      
         - KASAN optimisations for both hardware tagging (MTE) and out-of-line
           software tagging implementations.
      
         - Relax frame record alignment requirements to facilitate 8-byte
           alignment with KASAN and Clang.
      
         - Cleanup of page-table definitions and removal of unused memory
           types.
      
         - Reduction of ARCH_DMA_MINALIGN back to 64 bytes.
      
         - Refactoring of our instruction decoding routines and addition of
           some missing encodings.
      
         - Move entry code moved into C and hardened against harmful compiler
           instrumentation.
      
         - Update booting requirements for the FEAT_HCX feature, added to v8.7
           of the architecture.
      
         - Fix resume from idle when pNMI is being used.
      
         - Additional CPU sanity checks for MTE and preparatory changes for
           systems where not all of the CPUs support 32-bit EL0.
      
         - Update our kernel string routines to the latest Cortex Strings
           implementation.
      
         - Big cleanup of our cache maintenance routines, which were
           confusingly named and inconsistent in their implementations.
      
         - Tweak linker flags so that GDB can understand vmlinux when using
           RELR relocations.
      
         - Boot path cleanups to enable early initialisation of per-cpu
           operations needed by KCSAN.
      
         - Non-critical fixes and miscellaneous cleanup"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (150 commits)
        arm64: tlb: fix the TTL value of tlb_get_level
        arm64: Restrict undef hook for cpufeature registers
        arm64/mm: Rename ARM64_SWAPPER_USES_SECTION_MAPS
        arm64: insn: avoid circular include dependency
        arm64: smp: Bump debugging information print down to KERN_DEBUG
        drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe()
        perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number
        arm64: suspend: Use cpuidle context helpers in cpu_suspend()
        PSCI: Use cpuidle context helpers in psci_cpu_suspend_enter()
        arm64: Convert cpu_do_idle() to using cpuidle context helpers
        arm64: Add cpuidle context save/restore helpers
        arm64: head: fix code comments in set_cpu_boot_mode_flag
        arm64: mm: drop unused __pa(__idmap_text_start)
        arm64: mm: fix the count comments in compute_indices
        arm64/mm: Fix ttbr0 values stored in struct thread_info for software-pan
        arm64: mm: Pass original fault address to handle_mm_fault()
        arm64/mm: Drop SECTION_[SHIFT|SIZE|MASK]
        arm64/mm: Use CONT_PMD_SHIFT for ARM64_MEMSTART_SHIFT
        arm64/mm: Drop SWAPPER_INIT_MAP_SIZE
        arm64: Conditionally configure PTR_AUTH key of the kernel.
        ...
      9840cfcb
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v5.14-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 17cfb9d3
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
        - update Finn's email address in MAINTAINERS
      
        - defconfig updates
      
        - minor fixes and improvements
      
      * tag 'm68k-for-v5.14-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: atari: Fix ATARI_KBD_CORE kconfig unmet dependency warning
        m68k: defconfig: Update defconfigs for v5.13-rc1
        MAINTAINERS, .mailmap: Update Finn Thain's email address
        m68k: dma: Remove unnecessary include of asm/cacheflush.h
        m68k: Drop -fno-strength-reduce from KBUILD_CFLAGS
      17cfb9d3
    • Linus Torvalds's avatar
      Merge tag 'x86-splitlock-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1b1cf8fe
      Linus Torvalds authored
      Pull x86 splitlock updates from Ingo Molnar:
      
       - Add the "ratelimit:N" parameter to the split_lock_detect= boot
         option, to rate-limit the generation of bus-lock exceptions.
      
         This is both easier on system resources and kinder to offending
         applications than the current policy of outright killing them.
      
       - Document the split-lock detection feature and its parameters.
      
      * tag 'x86-splitlock-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Documentation/x86: Add ratelimit in buslock.rst
        Documentation/admin-guide: Add bus lock ratelimit
        x86/bus_lock: Set rate limit for bus lock
        Documentation/x86: Add buslock.rst
      1b1cf8fe
    • Linus Torvalds's avatar
      Merge tag 'x86-mm-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5f498328
      Linus Torvalds authored
      Pull x86 mm update from Ingo Molnar:
       "Do not create the x86/init_pkru debugfs file if the CPU doesn't
        support PKRU"
      
      * tag 'x86-mm-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/pkeys: Skip 'init_pkru' debugfs file creation when pkeys not supported
      5f498328
    • Linus Torvalds's avatar
      Merge tag 'x86-misc-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e98e8864
      Linus Torvalds authored
      Pull x86 uapi fixlet from Ingo Molnar:
       "Fix the <uapi/asm/hwcap2.h> UAPI header to build in user-space too"
      
      * tag 'x86-misc-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/elf: Use _BITUL() macro in UAPI headers
      e98e8864
    • Linus Torvalds's avatar
      Merge tag 'x86-cleanups-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8e4d7a78
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups & removal of obsolete code"
      
      * tag 'x86-cleanups-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/sgx: Correct kernel-doc's arg name in sgx_encl_release()
        doc: Remove references to IBM Calgary
        x86/setup: Document that Windows reserves the first MiB
        x86/crash: Remove crash_reserve_low_1M()
        x86/setup: Remove CONFIG_X86_RESERVE_LOW and reservelow= options
        x86/alternative: Align insn bytes vertically
        x86: Fix leftover comment typos
        x86/asm: Simplify __smp_mb() definition
        x86/alternatives: Make the x86nops[] symbol static
      8e4d7a78
    • Linus Torvalds's avatar
      Merge tag 'x86-cache-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 98e62da8
      Linus Torvalds authored
      Pull x86 resource control documentation fixes from Ingo Molnar:
       "Fix Docbook comments in the x86/resctrl code"
      
      * tag 'x86-cache-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Fix kernel-doc in internal.h
        x86/resctrl: Fix kernel-doc in pseudo_lock.c
      98e62da8
    • Linus Torvalds's avatar
      Merge tag 'x86-boot-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1b98ed0e
      Linus Torvalds authored
      Pull x86 boot update from Ingo Molnar:
       "Modernize the genimage.sh script, add a 'hdimage' target and EFI
        support"
      
      * tag 'x86-boot-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Modernize genimage script; hdimage+EFI support
      1b98ed0e
    • Linus Torvalds's avatar
      Merge tag 'x86-asm-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 909489bf
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
      
       - Micro-optimize and standardize the do_syscall_64() calling convention
      
       - Make syscall entry flags clearing more conservative
      
       - Clean up syscall table handling
      
       - Clean up & standardize assembly macros, in preparation of FRED
      
       - Misc cleanups and fixes
      
      * tag 'x86-asm-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/asm: Make <asm/asm.h> valid on cross-builds as well
        x86/regs: Syscall_get_nr() returns -1 for a non-system call
        x86/entry: Split PUSH_AND_CLEAR_REGS into two submacros
        x86/syscall: Maximize MSR_SYSCALL_MASK
        x86/syscall: Unconditionally prototype {ia32,x32}_sys_call_table[]
        x86/entry: Reverse arguments to do_syscall_64()
        x86/entry: Unify definitions from <asm/calling.h> and <asm/ptrace-abi.h>
        x86/asm: Use _ASM_BYTES() in <asm/nops.h>
        x86/asm: Add _ASM_BYTES() macro for a .byte ... opcode sequence
        x86/asm: Have the __ASM_FORM macros handle commas in arguments
      909489bf
    • Kees Cook's avatar
      selftests/seccomp: Avoid using "sysctl" for report · 9a03abc1
      Kees Cook authored
      
      
      Instead of depending on "sysctl" being installed, just use "grep -H" for
      sysctl status reporting. Additionally report kernel version for easier
      comparisons.
      
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      9a03abc1
    • Kees Cook's avatar
      selftests/seccomp: Flush benchmark output · 62ddb91b
      Kees Cook authored
      
      
      When running the seccomp benchmark under a test runner, it wouldn't
      provide any feedback on progress. Set stdout unbuffered.
      
      Suggested-by: default avatarWill Drewry <wad@chromium.org>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      62ddb91b
    • Kees Cook's avatar
      selftests/seccomp: More closely track fds being assigned · 93e720d7
      Kees Cook authored
      
      
      Since the open fds might not always start at "4" (especially when
      running under kselftest, etc), start counting from the first assigned
      fd, rather than using the more permissive EXPECT_GE(fd, 0).
      
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Link: https://lore.kernel.org/lkml/20210527032948.3730953-1-keescook@chromium.org
      
      
      Reviewed-by: default avatarRodrigo Campos <rodrigo@kinvolk.io>
      Acked-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
      93e720d7
    • Rodrigo Campos's avatar
      selftests/seccomp: Add test for atomic addfd+send · e540ad97
      Rodrigo Campos authored
      
      
      This just adds a test to verify that when using the new introduced flag
      to ADDFD, a valid fd is added and returned as the syscall result.
      
      Signed-off-by: default avatarRodrigo Campos <rodrigo@kinvolk.io>
      Signed-off-by: default avatarSargun Dhillon <sargun@sargun.me>
      Acked-by: default avatarTycho Andersen <tycho@tycho.pizza>
      Acked-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Link: https://lore.kernel.org/r/20210517193908.3113-5-sargun@sargun.me
      e540ad97
    • Rodrigo Campos's avatar
      seccomp: Support atomic "addfd + send reply" · 0ae71c77
      Rodrigo Campos authored
      Alban Crequy reported a race condition userspace faces when we want to
      add some fds and make the syscall return them[1] using seccomp notify.
      
      The problem is that currently two different ioctl() calls are needed by
      the process handling the syscalls (agent) for another userspace process
      (target): SECCOMP_IOCTL_NOTIF_ADDFD to allocate the fd and
      SECCOMP_IOCTL_NOTIF_SEND to return that value. Therefore, it is possible
      for the agent to do the first ioctl to add a file descriptor but the
      target is interrupted (EINTR) before the agent does the second ioctl()
      call.
      
      This patch adds a flag to the ADDFD ioctl() so it adds the fd and
      returns that value atomically to the target program, as suggested by
      Kees Cook[2]. This is done by simply allowing
      seccomp_do_user_notification() to add the fd and return it in this case.
      Therefore, in this case the target wakes up from the wait in
      seccomp_do_user_notification() either to interrupt the syscall or to add
      the fd and return it.
      
      This "allocate an fd and return" functionality is useful for syscalls
      that return a file descriptor only, like connect(2). Other syscalls that
      return a file descriptor but not as return value (or return more than
      one fd), like socketpair(), pipe(), recvmsg with SCM_RIGHTs, will not
      work with this flag.
      
      This effectively combines SECCOMP_IOCTL_NOTIF_ADDFD and
      SECCOMP_IOCTL_NOTIF_SEND into an atomic opteration. The notification's
      return value, nor error can be set by the user. Upon successful invocation
      of the SECCOMP_IOCTL_NOTIF_ADDFD ioctl with the SECCOMP_ADDFD_FLAG_SEND
      flag, the notifying process's errno will be 0, and the return value will
      be the file descriptor number that was installed.
      
      [1]: https://lore.kernel.org/lkml/CADZs7q4sw71iNHmV8EOOXhUKJMORPzF7thraxZYddTZsxta-KQ@mail.gmail.com/
      [2]: https://lore.kernel.org/lkml/202012011322.26DCBC64F2@keescook/
      
      
      
      Signed-off-by: default avatarRodrigo Campos <rodrigo@kinvolk.io>
      Signed-off-by: default avatarSargun Dhillon <sargun@sargun.me>
      Acked-by: default avatarTycho Andersen <tycho@tycho.pizza>
      Acked-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Link: https://lore.kernel.org/r/20210517193908.3113-4-sargun@sargun.me
      0ae71c77
    • Linus Torvalds's avatar
      Merge tag 'x86-apic-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e5a0fc4e
      Linus Torvalds authored
      Pull x86 exception handling updates from Ingo Molnar:
      
       - Clean up & simplify AP exception handling setup.
      
       - Consolidate the disjoint IDT setup code living in idt_setup_traps()
         and idt_setup_ist_traps() into a single idt_setup_traps()
         initialization function and call it before cpu_init().
      
      * tag 'x86-apic-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/idt: Rework IDT setup for boot CPU
        x86/cpu: Init AP exception handling from cpu_init_secondary()
      e5a0fc4e
    • Linus Torvalds's avatar
      Merge tag 'timers-nohz-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9269d27e
      Linus Torvalds authored
      Pull timers/nohz updates from Ingo Molnar:
      
       - Micro-optimize tick_nohz_full_cpu()
      
       - Optimize idle exit tick restarts to be less eager
      
       - Optimize tick_nohz_dep_set_task() to only wake up a single CPU.
         This reduces IPIs and interruptions on nohz_full CPUs.
      
       - Optimize tick_nohz_dep_set_signal() in a similar fashion.
      
       - Skip IPIs in tick_nohz_kick_task() when trying to kick a
         non-running task.
      
       - Micro-optimize tick_nohz_task_switch() IRQ flags handling to
         reduce context switching costs.
      
       - Misc cleanups and fixes
      
      * tag 'timers-nohz-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        MAINTAINERS: Add myself as context tracking maintainer
        tick/nohz: Call tick_nohz_task_switch() with interrupts disabled
        tick/nohz: Kick only _queued_ task whose tick dependency is updated
        tick/nohz: Change signal tick dependency to wake up CPUs of member tasks
        tick/nohz: Only wake up a single target cpu when kicking a task
        tick/nohz: Update nohz_full Kconfig help
        tick/nohz: Update idle_exittime on actual idle exit
        tick/nohz: Remove superflous check for CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
        tick/nohz: Conditionally restart tick on idle exit
        tick/nohz: Evaluate the CPU expression after the static key
      9269d27e
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 54a728dc
      Linus Torvalds authored
      Pull scheduler udpates from Ingo Molnar:
      
       - Changes to core scheduling facilities:
      
          - Add "Core Scheduling" via CONFIG_SCHED_CORE=y, which enables
            coordinated scheduling across SMT siblings. This is a much
            requested feature for cloud computing platforms, to allow the
            flexible utilization of SMT siblings, without exposing untrusted
            domains to information leaks & side channels, plus to ensure more
            deterministic computing performance on SMT systems used by
            heterogenous workloads.
      
            There are new prctls to set core scheduling groups, which allows
            more flexible management of workloads that can share siblings.
      
          - Fix task->state access anti-patterns that may result in missed
            wakeups and rename it to ->__state in the process to catch new
            abuses.
      
       - Load-balancing changes:
      
          - Tweak newidle_balance for fair-sched, to improve 'memcache'-like
            workloads.
      
          - "Age" (decay) average idle time, to better track & improve
            workloads such as 'tbench'.
      
          - Fix & improve energy-aware (EAS) balancing logic & metrics.
      
          - Fix & improve the uclamp metrics.
      
          - Fix task migration (taskset) corner case on !CONFIG_CPUSET.
      
          - Fix RT and deadline utilization tracking across policy changes
      
          - Introduce a "burstable" CFS controller via cgroups, which allows
            bursty CPU-bound workloads to borrow a bit against their future
            quota to improve overall latencies & batching. Can be tweaked via
            /sys/fs/cgroup/cpu/<X>/cpu.cfs_burst_us.
      
          - Rework assymetric topology/capacity detection & handling.
      
       - Scheduler statistics & tooling:
      
          - Disable delayacct by default, but add a sysctl to enable it at
            runtime if tooling needs it. Use static keys and other
            optimizations to make it more palatable.
      
          - Use sched_clock() in delayacct, instead of ktime_get_ns().
      
       - Misc cleanups and fixes.
      
      * tag 'sched-core-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (72 commits)
        sched/doc: Update the CPU capacity asymmetry bits
        sched/topology: Rework CPU capacity asymmetry detection
        sched/core: Introduce SD_ASYM_CPUCAPACITY_FULL sched_domain flag
        psi: Fix race between psi_trigger_create/destroy
        sched/fair: Introduce the burstable CFS controller
        sched/uclamp: Fix uclamp_tg_restrict()
        sched/rt: Fix Deadline utilization tracking during policy change
        sched/rt: Fix RT utilization tracking during policy change
        sched: Change task_struct::state
        sched,arch: Remove unused TASK_STATE offsets
        sched,timer: Use __set_current_state()
        sched: Add get_current_state()
        sched,perf,kvm: Fix preemption condition
        sched: Introduce task_is_running()
        sched: Unbreak wakeups
        sched/fair: Age the average idle time
        sched/cpufreq: Consider reduced CPU capacity in energy calculation
        sched/fair: Take thermal pressure into account while estimating energy
        thermal/cpufreq_cooling: Update offline CPUs per-cpu thermal_pressure
        sched/fair: Return early from update_tg_cfs_load() if delta == 0
        ...
      54a728dc