1. 02 Nov, 2021 39 commits
    • Linus Torvalds's avatar
      Merge tag 'printk-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux · 0aaa58ec
      Linus Torvalds authored
      Pull printk updates from Petr Mladek:
      
       - Extend %pGp print format to print hex value of the page flags
      
       - Use kvmalloc instead of kmalloc to allocate devkmsg buffers
      
       - Misc cleanup and warning fixes
      
      * tag 'printk-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
        vsprintf: Update %pGp documentation about that it prints hex value
        lib/vsprintf.c: Amend static asserts for format specifier flags
        vsprintf: Make %pGp print the hex value
        test_printf: Append strings more efficiently
        test_printf: Remove custom appending of '|'
        test_printf: Remove separate page_flags variable
        test_printf: Make pft array const
        ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
        printk: use gnu_printf format attribute for printk_sprint()
        printk: avoid -Wsometimes-uninitialized warning
        printk: use kvmalloc instead of kmalloc for devkmsg_user
      0aaa58ec
    • Linus Torvalds's avatar
      Merge tag 'integrity-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity · c150d66b
      Linus Torvalds authored
      Pull integrity subsystem updates from Mimi Zohar:
       "Other than the new gid IMA policy rule support and the RCU locking
        fix, the couple of remaining changes are minor/trivial (e.g.
        __ro_after_init, replacing strscpy)"
      
      * tag 'integrity-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        evm: mark evm_fixmode as __ro_after_init
        ima: Use strscpy instead of strlcpy
        ima_policy: Remove duplicate 'the' in docs comment
        ima: add gid support
        ima: fix uid code style problems
        ima: fix deadlock when traversing "ima_default_rules".
      c150d66b
    • Linus Torvalds's avatar
      Merge tag 'libata-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 61f90a8e
      Linus Torvalds authored
      Pull libata updates from Damien Le Moal:
      
       - Remove duplicated AHCI adapter PCI device IDs (from Krzysztof)
      
       - Cleanup of device DMA state checking to consistantly use
         ata_dma_enabled() (from Reimar)
      
      * tag 'libata-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        pata_radisys: fix checking of DMA state
        pata_optidma: fix checking of DMA state
        pata_amd: fix checking of DMA state
        pata_ali: fix checking of DMA state
        libata-scsi: fix checking of DMA state
        libata: fix checking of DMA state
        Add AHCI support for ASM1062+JBM575 cards
        ahci: remove duplicated PCI device IDs
      61f90a8e
    • Linus Torvalds's avatar
      Merge tag 'x86_core_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cc0356d6
      Linus Torvalds authored
      Pull x86 core updates from Borislav Petkov:
      
       - Do not #GP on userspace use of CLI/STI but pretend it was a NOP to
         keep old userspace from breaking. Adjust the corresponding iopl
         selftest to that.
      
       - Improve stack overflow warnings to say which stack got overflowed and
         raise the exception stack sizes to 2 pages since overflowing the
         single page of exception stack is very easy to do nowadays with all
         the tracing machinery enabled. With that, rip out the custom mapping
         of AMD SEV's too.
      
       - A bunch of changes in preparation for FGKASLR like supporting more
         than 64K section headers in the relocs tool, correct ORC lookup table
         size to cover the whole kernel .text and other adjustments.
      
      * tag 'x86_core_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage
        vmlinux.lds.h: Have ORC lookup cover entire _etext - _stext
        x86/boot/compressed: Avoid duplicate malloc() implementations
        x86/boot: Allow a "silent" kaslr random byte fetch
        x86/tools/relocs: Support >64K section headers
        x86/sev: Make the #VC exception stacks part of the default stacks storage
        x86: Increase exception stack sizes
        x86/mm/64: Improve stack overflow warnings
        x86/iopl: Fake iopl(3) CLI/STI usage
      cc0356d6
    • Linus Torvalds's avatar
      Merge tag 'net-next-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · fc02cb2b
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core:
      
         - Remove socket skb caches
      
         - Add a SO_RESERVE_MEM socket op to forward allocate buffer space and
           avoid memory accounting overhead on each message sent
      
         - Introduce managed neighbor entries - added by control plane and
           resolved by the kernel for use in acceleration paths (BPF / XDP
           right now, HW offload users will benefit as well)
      
         - Make neighbor eviction on link down controllable by userspace to
           work around WiFi networks with bad roaming implementations
      
         - vrf: Rework interaction with netfilter/conntrack
      
         - fq_codel: implement L4S style ce_threshold_ect1 marking
      
         - sch: Eliminate unnecessary RCU waits in mini_qdisc_pair_swap()
      
        BPF:
      
         - Add support for new btf kind BTF_KIND_TAG, arbitrary type tagging
           as implemented in LLVM14
      
         - Introduce bpf_get_branch_snapshot() to capture Last Branch Records
      
         - Implement variadic trace_printk helper
      
         - Add a new Bloomfilter map type
      
         - Track <8-byte scalar spill and refill
      
         - Access hw timestamp through BPF's __sk_buff
      
         - Disallow unprivileged BPF by default
      
         - Document BPF licensing
      
        Netfilter:
      
         - Introduce egress hook for looking at raw outgoing packets
      
         - Allow matching on and modifying inner headers / payload data
      
         - Add NFT_META_IFTYPE to match on the interface type either from
           ingress or egress
      
        Protocols:
      
         - Multi-Path TCP:
            - increase default max additional subflows to 2
            - rework forward memory allocation
            - add getsockopts: MPTCP_INFO, MPTCP_TCPINFO, MPTCP_SUBFLOW_ADDRS
      
         - MCTP flow support allowing lower layer drivers to configure msg
           muxing as needed
      
         - Automatic Multicast Tunneling (AMT) driver based on RFC7450
      
         - HSR support the redbox supervision frames (IEC-62439-3:2018)
      
         - Support for the ip6ip6 encapsulation of IOAM
      
         - Netlink interface for CAN-FD's Transmitter Delay Compensation
      
         - Support SMC-Rv2 eliminating the current same-subnet restriction, by
           exploiting the UDP encapsulation feature of RoCE adapters
      
         - TLS: add SM4 GCM/CCM crypto support
      
         - Bluetooth: initial support for link quality and audio/codec offload
      
        Driver APIs:
      
         - Add a batched interface for RX buffer allocation in AF_XDP buffer
           pool
      
         - ethtool: Add ability to control transceiver modules' power mode
      
         - phy: Introduce supported interfaces bitmap to express MAC
           capabilities and simplify PHY code
      
         - Drop rtnl_lock from DSA .port_fdb_{add,del} callbacks
      
        New drivers:
      
         - WiFi driver for Realtek 8852AE 802.11ax devices (rtw89)
      
         - Ethernet driver for ASIX AX88796C SPI device (x88796c)
      
        Drivers:
      
         - Broadcom PHYs
            - support 72165, 7712 16nm PHYs
            - support IDDQ-SR for additional power savings
      
         - PHY support for QCA8081, QCA9561 PHYs
      
         - NXP DPAA2: support for IRQ coalescing
      
         - NXP Ethernet (enetc): support for software TCP segmentation
      
         - Renesas Ethernet (ravb) - support DMAC and EMAC blocks of
           Gigabit-capable IP found on RZ/G2L SoC
      
         - Intel 100G Ethernet
            - support for eswitch offload of TC/OvS flow API, including
              offload of GRE, VxLAN, Geneve tunneling
            - support application device queues - ability to assign Rx and Tx
              queues to application threads
            - PTP and PPS (pulse-per-second) extensions
      
         - Broadcom Ethernet (bnxt)
            - devlink health reporting and device reload extensions
      
         - Mellanox Ethernet (mlx5)
            - offload macvlan interfaces
            - support HW offload of TC rules involving OVS internal ports
            - support HW-GRO and header/data split
            - support application device queues
      
         - Marvell OcteonTx2:
            - add XDP support for PF
            - add PTP support for VF
      
         - Qualcomm Ethernet switch (qca8k): support for QCA8328
      
         - Realtek Ethernet DSA switch (rtl8366rb)
            - support bridge offload
            - support STP, fast aging, disabling address learning
            - support for Realtek RTL8365MB-VC, a 4+1 port 10M/100M/1GE switch
      
         - Mellanox Ethernet/IB switch (mlxsw)
            - multi-level qdisc hierarchy offload (e.g. RED, prio and shaping)
            - offload root TBF qdisc as port shaper
            - support multiple routing interface MAC address prefixes
            - support for IP-in-IP with IPv6 underlay
      
         - MediaTek WiFi (mt76)
            - mt7921 - ASPM, 6GHz, SDIO and testmode support
            - mt7915 - LED and TWT support
      
         - Qualcomm WiFi (ath11k)
            - include channel rx and tx time in survey dump statistics
            - support for 80P80 and 160 MHz bandwidths
            - support channel 2 in 6 GHz band
            - spectral scan support for QCN9074
            - support for rx decapsulation offload (data frames in 802.3
              format)
      
         - Qualcomm phone SoC WiFi (wcn36xx)
            - enable Idle Mode Power Save (IMPS) to reduce power consumption
              during idle
      
         - Bluetooth driver support for MediaTek MT7922 and MT7921
      
         - Enable support for AOSP Bluetooth extension in Qualcomm WCN399x and
           Realtek 8822C/8852A
      
         - Microsoft vNIC driver (mana)
            - support hibernation and kexec
      
         - Google vNIC driver (gve)
            - support for jumbo frames
            - implement Rx page reuse
      
        Refactor:
      
         - Make all writes to netdev->dev_addr go thru helpers, so that we can
           add this address to the address rbtree and handle the updates
      
         - Various TCP cleanups and optimizations including improvements to
           CPU cache use
      
         - Simplify the gnet_stats, Qdisc stats' handling and remove
           qdisc->running sequence counter
      
         - Driver changes and API updates to address devlink locking
           deficiencies"
      
      * tag 'net-next-for-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2122 commits)
        Revert "net: avoid double accounting for pure zerocopy skbs"
        selftests: net: add arp_ndisc_evict_nocarrier
        net: ndisc: introduce ndisc_evict_nocarrier sysctl parameter
        net: arp: introduce arp_evict_nocarrier sysctl parameter
        libbpf: Deprecate AF_XDP support
        kbuild: Unify options for BTF generation for vmlinux and modules
        selftests/bpf: Add a testcase for 64-bit bounds propagation issue.
        bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit.
        bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off.
        net: vmxnet3: remove multiple false checks in vmxnet3_ethtool.c
        net: avoid double accounting for pure zerocopy skbs
        tcp: rename sk_wmem_free_skb
        netdevsim: fix uninit value in nsim_drv_configure_vfs()
        selftests/bpf: Fix also no-alu32 strobemeta selftest
        bpf: Add missing map_delete_elem method to bloom filter map
        selftests/bpf: Add bloom map success test for userspace calls
        bpf: Add alignment padding for "map_extra" + consolidate holes
        bpf: Bloom filter map naming fixups
        selftests/bpf: Add test cases for struct_ops prog
        bpf: Add dummy BPF STRUCT_OPS for test purpose
        ...
      fc02cb2b
    • Petr Mladek's avatar
      40e64a88
    • Jakub Kicinski's avatar
      Revert "net: avoid double accounting for pure zerocopy skbs" · 84882cf7
      Jakub Kicinski authored
      This reverts commit f1a456f8.
      
        WARNING: CPU: 1 PID: 6819 at net/core/skbuff.c:5429 skb_try_coalesce+0x78b/0x7e0
        CPU: 1 PID: 6819 Comm: xxxxxxx Kdump: loaded Tainted: G S                5.15.0-04194-gd852503f7711 #16
        RIP: 0010:skb_try_coalesce+0x78b/0x7e0
        Code: e8 2a bf 41 ff 44 8b b3 bc 00 00 00 48 8b 7c 24 30 e8 19 c0 41 ff 44 89 f0 48 03 83 c0 00 00 00 48 89 44 24 40 e9 47 fb ff ff <0f> 0b e9 ca fc ff ff 4c 8d 70 ff 48 83 c0 07 48 89 44 24 38 e9 61
        RSP: 0018:ffff88881f449688 EFLAGS: 00010282
        RAX: 00000000fffffe96 RBX: ffff8881566e4460 RCX: ffffffff82079f7e
        RDX: 0000000000000003 RSI: dffffc0000000000 RDI: ffff8881566e47b0
        RBP: ffff8881566e46e0 R08: ffffed102619235d R09: ffffed102619235d
        R10: ffff888130c91ae3 R11: ffffed102619235c R12: ffff88881f4498a0
        R13: 0000000000000056 R14: 0000000000000009 R15: ffff888130c91ac0
        FS:  00007fec2cbb9700(0000) GS:ffff88881f440000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 00007fec1b060d80 CR3: 00000003acf94005 CR4: 00000000003706e0
        DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
        DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
        Call Trace:
         <IRQ>
         tcp_try_coalesce+0xeb/0x290
         ? tcp_parse_options+0x610/0x610
         ? mark_held_locks+0x79/0xa0
         tcp_queue_rcv+0x69/0x2f0
         tcp_rcv_established+0xa49/0xd40
         ? tcp_data_queue+0x18a0/0x18a0
         tcp_v6_do_rcv+0x1c9/0x880
         ? rt6_mtu_change_route+0x100/0x100
         tcp_v6_rcv+0x1624/0x1830
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      84882cf7
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · bfc484fe
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "API:
      
         - Delay boot-up self-test for built-in algorithms
      
        Algorithms:
      
         - Remove fallback path on arm64 as SIMD now runs with softirq off
      
        Drivers:
      
         - Add Keem Bay OCS ECC Driver"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (61 commits)
        crypto: testmgr - fix wrong key length for pkcs1pad
        crypto: pcrypt - Delay write to padata->info
        crypto: ccp - Make use of the helper macro kthread_run()
        crypto: sa2ul - Use the defined variable to clean code
        crypto: s5p-sss - Add error handling in s5p_aes_probe()
        crypto: keembay-ocs-ecc - Add Keem Bay OCS ECC Driver
        dt-bindings: crypto: Add Keem Bay ECC bindings
        crypto: ecc - Export additional helper functions
        crypto: ecc - Move ecc.h to include/crypto/internal
        crypto: engine - Add KPP Support to Crypto Engine
        crypto: api - Do not create test larvals if manager is disabled
        crypto: tcrypt - fix skcipher multi-buffer tests for 1420B blocks
        hwrng: s390 - replace snprintf in show functions with sysfs_emit
        crypto: octeontx2 - set assoclen in aead_do_fallback()
        crypto: ccp - Fix whitespace in sev_cmd_buffer_len()
        hwrng: mtk - Force runtime pm ops for sleep ops
        crypto: testmgr - Only disable migration in crypto_disable_simd_for_test()
        crypto: qat - share adf_enable_pf2vf_comms() from adf_pf2vf_msg.c
        crypto: qat - extract send and wait from adf_vf2pf_request_version()
        crypto: qat - add VF and PF wrappers to common send function
        ...
      bfc484fe
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · d2fac0af
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Add some additional audit logging to capture the openat2() syscall
        open_how struct info.
      
        Previous variations of the open()/openat() syscalls allowed audit
        admins to inspect the syscall args to get the information contained in
        the new open_how struct used in openat2()"
      
      * tag 'audit-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: return early if the filter rule has a lower priority
        audit: add OPENAT2 record to list "how" info
        audit: add support for the openat2 syscall
        audit: replace magic audit syscall class numbers with macros
        lsm_audit: avoid overloading the "key" audit field
        audit: Convert to SPDX identifier
        audit: rename struct node to struct audit_node to prevent future name collisions
      d2fac0af
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · cdab10bf
      Linus Torvalds authored
      Pull selinux updates from Paul Moore:
      
       - Add LSM/SELinux/Smack controls and auditing for io-uring.
      
         As usual, the individual commit descriptions have more detail, but we
         were basically missing two things which we're adding here:
      
            + establishment of a proper audit context so that auditing of
              io-uring ops works similarly to how it does for syscalls (with
              some io-uring additions because io-uring ops are *not* syscalls)
      
            + additional LSM hooks to enable access control points for some of
              the more unusual io-uring features, e.g. credential overrides.
      
         The additional audit callouts and LSM hooks were done in conjunction
         with the io-uring folks, based on conversations and RFC patches
         earlier in the year.
      
       - Fixup the binder credential handling so that the proper credentials
         are used in the LSM hooks; the commit description and the code
         comment which is removed in these patches are helpful to understand
         the background and why this is the proper fix.
      
       - Enable SELinux genfscon policy support for securityfs, allowing
         improved SELinux filesystem labeling for other subsystems which make
         use of securityfs, e.g. IMA.
      
      * tag 'selinux-pr-20211101' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        security: Return xattr name from security_dentry_init_security()
        selinux: fix a sock regression in selinux_ip_postroute_compat()
        binder: use cred instead of task for getsecid
        binder: use cred instead of task for selinux checks
        binder: use euid from cred instead of using task
        LSM: Avoid warnings about potentially unused hook variables
        selinux: fix all of the W=1 build warnings
        selinux: make better use of the nf_hook_state passed to the NF hooks
        selinux: fix race condition when computing ocontext SIDs
        selinux: remove unneeded ipv6 hook wrappers
        selinux: remove the SELinux lockdown implementation
        selinux: enable genfscon labeling for securityfs
        Smack: Brutalist io_uring support
        selinux: add support for the io_uring access controls
        lsm,io_uring: add LSM hooks to io_uring
        io_uring: convert io_uring to the secure anon inode interface
        fs: add anon_inode_getfile_secure() similar to anon_inode_getfd_secure()
        audit: add filtering for io_uring records
        audit,io_uring,io-wq: add some basic audit support to io_uring
        audit: prepare audit_context for use in calling contexts beyond syscalls
      cdab10bf
    • Linus Torvalds's avatar
      Merge tag 'rcu.2021.11.01a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 6fedc280
      Linus Torvalds authored
      Pull RCU updates from Paul McKenney:
      
       - Miscellaneous fixes
      
       - Torture-test updates for smp_call_function(), most notably improved
         checking of module parameters.
      
       - Tasks-trace RCU updates that fix a number of rare but important
         race-condition bugs.
      
       - Other torture-test updates, most notably better checking of module
         parameters. In addition, rcutorture may once again be run on
         CONFIG_PREEMPT_RT kernels.
      
       - Torture-test scripting updates, most notably specifying the new
         CONFIG_KCSAN_STRICT kconfig option rather than maintaining an
         ever-changing list of individual KCSAN kconfig options.
      
      * tag 'rcu.2021.11.01a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (46 commits)
        rcu: Fix rcu_dynticks_curr_cpu_in_eqs() vs noinstr
        rcu: Always inline rcu_dynticks_task*_{enter,exit}()
        torture: Make kvm-remote.sh print size of downloaded tarball
        torture: Allot 1G of memory for scftorture runs
        tools/rcu: Add an extract-stall script
        scftorture: Warn on individual scf_torture_init() error conditions
        scftorture: Count reschedule IPIs
        scftorture: Account for weight_resched when checking for all zeroes
        scftorture: Shut down if nonsensical arguments given
        scftorture: Allow zero weight to exclude an smp_call_function*() category
        rcu: Avoid unneeded function call in rcu_read_unlock()
        rcu-tasks: Update comments to cond_resched_tasks_rcu_qs()
        rcu-tasks: Fix IPI failure handling in trc_wait_for_one_reader
        rcu-tasks: Fix read-side primitives comment for call_rcu_tasks_trace
        rcu-tasks: Clarify read side section info for rcu_tasks_rude GP primitives
        rcu-tasks: Correct comparisons for CPU numbers in show_stalled_task_trace
        rcu-tasks: Correct firstreport usage in check_all_holdout_tasks_trace
        rcu-tasks: Fix s/rcu_add_holdout/trc_add_holdout/ typo in comment
        rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop
        rcu-tasks: Fix s/instruction/instructions/ typo in comment
        ...
      6fedc280
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 79ef0c00
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
      
       - kprobes: Restructured stack unwinder to show properly on x86 when a
         stack dump happens from a kretprobe callback.
      
       - Fix to bootconfig parsing
      
       - Have tracefs allow owner and group permissions by default (only
         denying others). There's been pressure to allow non root to tracefs
         in a controlled fashion, and using groups is probably the safest.
      
       - Bootconfig memory managament updates.
      
       - Bootconfig clean up to have the tools directory be less dependent on
         changes in the kernel tree.
      
       - Allow perf to be traced by function tracer.
      
       - Rewrite of function graph tracer to be a callback from the function
         tracer instead of having its own trampoline (this change will happen
         on an arch by arch basis, and currently only x86_64 implements it).
      
       - Allow multiple direct trampolines (bpf hooks to functions) be batched
         together in one synchronization.
      
       - Allow histogram triggers to add variables that can perform
         calculations against the event's fields.
      
       - Use the linker to determine architecture callbacks from the ftrace
         trampoline to allow for proper parameter prototypes and prevent
         warnings from the compiler.
      
       - Extend histogram triggers to key off of variables.
      
       - Have trace recursion use bit magic to determine preempt context over
         if branches.
      
       - Have trace recursion disable preemption as all use cases do anyway.
      
       - Added testing for verification of tracing utilities.
      
       - Various small clean ups and fixes.
      
      * tag 'trace-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (101 commits)
        tracing/histogram: Fix semicolon.cocci warnings
        tracing/histogram: Fix documentation inline emphasis warning
        tracing: Increase PERF_MAX_TRACE_SIZE to handle Sentinel1 and docker together
        tracing: Show size of requested perf buffer
        bootconfig: Initialize ret in xbc_parse_tree()
        ftrace: do CPU checking after preemption disabled
        ftrace: disable preemption when recursion locked
        tracing/histogram: Document expression arithmetic and constants
        tracing/histogram: Optimize division by a power of 2
        tracing/histogram: Covert expr to const if both operands are constants
        tracing/histogram: Simplify handling of .sym-offset in expressions
        tracing: Fix operator precedence for hist triggers expression
        tracing: Add division and multiplication support for hist triggers
        tracing: Add support for creating hist trigger variables from literal
        selftests/ftrace: Stop tracing while reading the trace file by default
        MAINTAINERS: Update KPROBES and TRACING entries
        test_kprobes: Move it from kernel/ to lib/
        docs, kprobes: Remove invalid URL and add new reference
        samples/kretprobes: Fix return value if register_kretprobe() failed
        lib/bootconfig: Fix the xbc_get_info kerneldoc
        ...
      79ef0c00
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 8a33dcc2
      Jakub Kicinski authored
      Merge in the fixes we had queued in case there was another -rc.
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8a33dcc2
    • Jakub Kicinski's avatar
      Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · b7b98f86
      Jakub Kicinski authored
      Alexei Starovoitov says:
      
      ====================
      pull-request: bpf-next 2021-11-01
      
      We've added 181 non-merge commits during the last 28 day(s) which contain
      a total of 280 files changed, 11791 insertions(+), 5879 deletions(-).
      
      The main changes are:
      
      1) Fix bpf verifier propagation of 64-bit bounds, from Alexei.
      
      2) Parallelize bpf test_progs, from Yucong and Andrii.
      
      3) Deprecate various libbpf apis including af_xdp, from Andrii, Hengqi, Magnus.
      
      4) Improve bpf selftests on s390, from Ilya.
      
      5) bloomfilter bpf map type, from Joanne.
      
      6) Big improvements to JIT tests especially on Mips, from Johan.
      
      7) Support kernel module function calls from bpf, from Kumar.
      
      8) Support typeless and weak ksym in light skeleton, from Kumar.
      
      9) Disallow unprivileged bpf by default, from Pawan.
      
      10) BTF_KIND_DECL_TAG support, from Yonghong.
      
      11) Various bpftool cleanups, from Quentin.
      
      * https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (181 commits)
        libbpf: Deprecate AF_XDP support
        kbuild: Unify options for BTF generation for vmlinux and modules
        selftests/bpf: Add a testcase for 64-bit bounds propagation issue.
        bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit.
        bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off.
        selftests/bpf: Fix also no-alu32 strobemeta selftest
        bpf: Add missing map_delete_elem method to bloom filter map
        selftests/bpf: Add bloom map success test for userspace calls
        bpf: Add alignment padding for "map_extra" + consolidate holes
        bpf: Bloom filter map naming fixups
        selftests/bpf: Add test cases for struct_ops prog
        bpf: Add dummy BPF STRUCT_OPS for test purpose
        bpf: Factor out helpers for ctx access checking
        bpf: Factor out a helper to prepare trampoline for struct_ops prog
        selftests, bpf: Fix broken riscv build
        riscv, libbpf: Add RISC-V (RV64) support to bpf_tracing.h
        tools, build: Add RISC-V to HOSTARCH parsing
        riscv, bpf: Increase the maximum number of iterations
        selftests, bpf: Add one test for sockmap with strparser
        selftests, bpf: Fix test_txmsg_ingress_parser error
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20211102013123.9005-1-alexei.starovoitov@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b7b98f86
    • Jakub Kicinski's avatar
      Merge branch 'make-neighbor-eviction-controllable-by-userspace' · 52fa3ee0
      Jakub Kicinski authored
      James Prestwood says:
      
      ====================
      Make neighbor eviction controllable by userspace
      ====================
      
      Link: https://lore.kernel.org/r/20211101173630.300969-1-prestwoj@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      52fa3ee0
    • James Prestwood's avatar
      selftests: net: add arp_ndisc_evict_nocarrier · f86ca07e
      James Prestwood authored
      This tests the sysctl options for ARP/ND:
      
      /net/ipv4/conf/<iface>/arp_evict_nocarrier
      /net/ipv4/conf/all/arp_evict_nocarrier
      /net/ipv6/conf/<iface>/ndisc_evict_nocarrier
      /net/ipv6/conf/all/ndisc_evict_nocarrier
      Signed-off-by: default avatarJames Prestwood <prestwoj@gmail.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f86ca07e
    • James Prestwood's avatar
      net: ndisc: introduce ndisc_evict_nocarrier sysctl parameter · 18ac597a
      James Prestwood authored
      In most situations the neighbor discovery cache should be cleared on a
      NOCARRIER event which is currently done unconditionally. But for wireless
      roams the neighbor discovery cache can and should remain intact since
      the underlying network has not changed.
      
      This patch introduces a sysctl option ndisc_evict_nocarrier which can
      be disabled by a wireless supplicant during a roam. This allows packets
      to be sent after a roam immediately without having to wait for
      neighbor discovery.
      
      A user reported roughly a 1 second delay after a roam before packets
      could be sent out (note, on IPv4). This delay was due to the ARP
      cache being cleared. During testing of this same scenario using IPv6
      no delay was noticed, but regardless there is no reason to clear
      the ndisc cache for wireless roams.
      Signed-off-by: default avatarJames Prestwood <prestwoj@gmail.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      18ac597a
    • James Prestwood's avatar
      net: arp: introduce arp_evict_nocarrier sysctl parameter · fcdb44d0
      James Prestwood authored
      This change introduces a new sysctl parameter, arp_evict_nocarrier.
      When set (default) the ARP cache will be cleared on a NOCARRIER event.
      This new option has been defaulted to '1' which maintains existing
      behavior.
      
      Clearing the ARP cache on NOCARRIER is relatively new, introduced by:
      
      commit 859bd2ef
      Author: David Ahern <dsahern@gmail.com>
      Date:   Thu Oct 11 20:33:49 2018 -0700
      
          net: Evict neighbor entries on carrier down
      
      The reason for this changes is to prevent the ARP cache from being
      cleared when a wireless device roams. Specifically for wireless roams
      the ARP cache should not be cleared because the underlying network has not
      changed. Clearing the ARP cache in this case can introduce significant
      delays sending out packets after a roam.
      
      A user reported such a situation here:
      
      https://lore.kernel.org/linux-wireless/CACsRnHWa47zpx3D1oDq9JYnZWniS8yBwW1h0WAVZ6vrbwL_S0w@mail.gmail.com/
      
      After some investigation it was found that the kernel was holding onto
      packets until ARP finished which resulted in this 1 second delay. It
      was also found that the first ARP who-has was never responded to,
      which is actually what caues the delay. This change is more or less
      working around this behavior, but again, there is no reason to clear
      the cache on a roam anyways.
      
      As for the unanswered who-has, we know the packet made it OTA since
      it was seen while monitoring. Why it never received a response is
      unknown. In any case, since this is a problem on the AP side of things
      all that can be done is to work around it until it is solved.
      
      Some background on testing/reproducing the packet delay:
      
      Hardware:
       - 2 access points configured for Fast BSS Transition (Though I don't
         see why regular reassociation wouldn't have the same behavior)
       - Wireless station running IWD as supplicant
       - A device on network able to respond to pings (I used one of the APs)
      
      Procedure:
       - Connect to first AP
       - Ping once to establish an ARP entry
       - Start a tcpdump
       - Roam to second AP
       - Wait for operstate UP event, and note the timestamp
       - Start pinging
      
      Results:
      
      Below is the tcpdump after UP. It was recorded the interface went UP at
      10:42:01.432875.
      
      10:42:01.461871 ARP, Request who-has 192.168.254.1 tell 192.168.254.71, length 28
      10:42:02.497976 ARP, Request who-has 192.168.254.1 tell 192.168.254.71, length 28
      10:42:02.507162 ARP, Reply 192.168.254.1 is-at ac:86:74:55:b0:20, length 46
      10:42:02.507185 IP 192.168.254.71 > 192.168.254.1: ICMP echo request, id 52792, seq 1, length 64
      10:42:02.507205 IP 192.168.254.71 > 192.168.254.1: ICMP echo request, id 52792, seq 2, length 64
      10:42:02.507212 IP 192.168.254.71 > 192.168.254.1: ICMP echo request, id 52792, seq 3, length 64
      10:42:02.507219 IP 192.168.254.71 > 192.168.254.1: ICMP echo request, id 52792, seq 4, length 64
      10:42:02.507225 IP 192.168.254.71 > 192.168.254.1: ICMP echo request, id 52792, seq 5, length 64
      10:42:02.507232 IP 192.168.254.71 > 192.168.254.1: ICMP echo request, id 52792, seq 6, length 64
      10:42:02.515373 IP 192.168.254.1 > 192.168.254.71: ICMP echo reply, id 52792, seq 1, length 64
      10:42:02.521399 IP 192.168.254.1 > 192.168.254.71: ICMP echo reply, id 52792, seq 2, length 64
      10:42:02.521612 IP 192.168.254.1 > 192.168.254.71: ICMP echo reply, id 52792, seq 3, length 64
      10:42:02.521941 IP 192.168.254.1 > 192.168.254.71: ICMP echo reply, id 52792, seq 4, length 64
      10:42:02.522419 IP 192.168.254.1 > 192.168.254.71: ICMP echo reply, id 52792, seq 5, length 64
      10:42:02.523085 IP 192.168.254.1 > 192.168.254.71: ICMP echo reply, id 52792, seq 6, length 64
      
      You can see the first ARP who-has went out very quickly after UP, but
      was never responded to. Nearly a second later the kernel retries and
      gets a response. Only then do the ping packets go out. If an ARP entry
      is manually added prior to UP (after the cache is cleared) it is seen
      that the first ping is never responded to, so its not only an issue with
      ARP but with data packets in general.
      
      As mentioned prior, the wireless interface was also monitored to verify
      the ping/ARP packet made it OTA which was observed to be true.
      Signed-off-by: default avatarJames Prestwood <prestwoj@gmail.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      fcdb44d0
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · d54f4860
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
       "New driver:
      
         - Maxim MAX6620
      
        Notable functional enhancements:
      
         - Add Asus WMI support to nct6775 driver, and list boards supporting
           it
      
         - Move TMP461 support from tm401 driver to lm90 driver
      
         - Add support for fanX_min, fanX_max and fanX_target to dell-smm
           driver, and clean it up while doing so
      
         - Extend mlxreg-fan driver to support multiple cooling devices and
           multiple PWM channels. Also increase number of supported fan
           tachometers.
      
         - Add a new customer ID (for ASRock) to nct6683 driver
      
         - Make temperature/voltage sensors on nct7802 configurable
      
         - Add mfg_id debugfs entry to pmbus/ibm-cffps driver
      
         - Support configurable sense resistor values in pmbus/lm25066, and
           fix various coefficients
      
         - Use generic notification mechanism in raspberrypi driver
      
        Notable cleanups:
      
         - Convert various devicetree bindings to dtschema, and add missing
           bindings
      
         - Convert i5500_temp and tmp103 drivers to
           devm_hwmon_device_register_with_info
      
         - Clean up non-bool "valid" data fields
      
         - Improve devicetree configurability for tmp421 driver"
      
      * tag 'hwmon-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (73 commits)
        hwmon: (nct7802) Add of_node_put() before return
        hwmon: (tmp401) Drop support for TMP461
        hwmon: (lm90) Add basic support for TI TMP461
        hwmon: (lm90) Introduce flag indicating extended temperature support
        hwmon: (nct6775) add ProArt X570-CREATOR WIFI.
        hwmon: (nct7802) Make temperature/voltage sensors configurable
        dt-bindings: hwmon: Add nct7802 bindings
        hwmon: (dell-smm) Speed up setting of fan speed
        hwmon: (dell-smm) Add comment explaining usage of i8k_config_data[]
        hwmon: (dell-smm) Return -ENOIOCTLCMD instead of -EINVAL
        hwmon: (dell-smm) Use strscpy_pad()
        hwmon: (dell-smm) Sort includes in alphabetical order
        hwmon: (tmp421) Add of_node_put() before return
        hwmon: (max31722) Warn about failure to put device in stand-by in .remove()
        hwmon: (acpi_power_meter) Use acpi_bus_get_acpi_device()
        hwmon: (dell-smm) Add support for fanX_min, fanX_max and fanX_target
        dt-bindings: hwmon: allow specifying channels for tmp421
        hwmon: (tmp421) ignore non-channel related DT nodes
        hwmon: (tmp421) update documentation
        hwmon: (tmp421) support HWMON_T_ENABLE
        ...
      d54f4860
    • Linus Torvalds's avatar
      Merge tag 'spi-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 2019295c
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "This is quite a quiet release for SPI, there's been a bit of cleanup
        to the core from Uwe but nothing functionality wise.
      
        We have added several new drivers, Cadence XSPI, Ingenic JZ47xx,
        Qualcomm SC7280 and SC7180 and Xilinx Versal OSPI"
      
      * tag 'spi-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (41 commits)
        spi: Convert NXP flexspi to json schema
        spi: spi-geni-qcom: Add support for GPI dma
        spi: fsi: Fix contention in the FSI2SPI engine
        spi: spi-rpc-if: Check return value of rpcif_sw_init()
        spi: tegra210-quad: Put device into suspend on driver removal
        spi: tegra20-slink: Put device into suspend on driver removal
        spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in bcm_qspi_probe()
        spi: at91-usart: replacing legacy gpio interface for gpiod
        spi: replace snprintf in show functions with sysfs_emit
        spi: cadence: Add of_node_put() before return
        spi: orion: Add of_node_put() before goto
        spi: cadence-quadspi: fix dma_unmap_single() call
        spi: tegra20: fix build with CONFIG_PM_SLEEP=n
        spi: bcm-qspi: add support for 3-wire mode for half duplex transfer
        spi: bcm-qspi: Add mspi spcr3 32/64-bits xfer mode
        spi: Make several public functions private to spi.c
        spi: Reorder functions to simplify the next commit
        spi: Remove unused function spi_busnum_to_master()
        spi: Move comment about chipselect check to the right place
        spi: fsi: Print status on error
        ...
      2019295c
    • Linus Torvalds's avatar
      Merge tag 'regulator-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 1260d242
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Thanks to the removal of the unused TPS80021 driver the regulator
        updates for this cycle actually have a negative diffstat.
      
        Otherwise it's been quite a quiet release, lots of fixes and small
        improvements with the biggest individual changes being several
        conversions of DT bindings to YAML format"
      
      * tag 'regulator-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (34 commits)
        regulator: Don't error out fixed regulator in regulator_sync_voltage()
        regulator: tps80031: Remove driver
        regulator: Fix SY7636A breakage
        regulator: uniphier: Add binding for NX1 SoC
        regulator: uniphier: Add USB-VBUS compatible string for NX1 SoC
        regulator: qcom,rpmh: Add compatible for PM6350
        regulator: qcom-rpmh: Add PM6350 regulators
        regulator: sy7636a: Remove requirement on sy7636a mfd
        regulator: tps62360: replacing legacy gpio interface for gpiod
        regulator: lp872x: Remove lp872x_dvs_state
        regulator: lp872x: replacing legacy gpio interface for gpiod
        regulator: dt-bindings: samsung,s5m8767: convert to dtschema
        regulator: dt-bindings: samsung,s2mpa01: convert to dtschema
        regulator: dt-bindings: samsung,s2m: convert to dtschema
        dt-bindings: clock: samsung,s2mps11: convert to dtschema
        regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property
        regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled
        regulator: dt-bindings: maxim,max8973: convert to dtschema
        regulator: dt-bindings: maxim,max8997: convert to dtschema
        regulator: dt-bindings: maxim,max8952: convert to dtschema
        ...
      1260d242
    • Linus Torvalds's avatar
      Merge tag 'regmap-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · d2cdb122
      Linus Torvalds authored
      Pull regmap update from Mark Brown:
       "A single change to use the maximum transfer and message sizes
        advertised by SPI controllers to configure limits within the
        regmap core, ensuring better interoperation"
      
      * tag 'regmap-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: spi: Set regmap max raw r/w from max_transfer_size
      d2cdb122
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v5.16' of git://git.linaro.org/landing-teams/working/fujitsu/integration · 247ee3e7
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
       "qcom:
         - add support for qcm2290
         - consolidate msm8994 type apcs_data
      
        mtk:
         - fix clock id usage
      
        apple:
         - add driver for ASC/M3 controllers
      
        pcc:
         - reorganise PCC pcc_mbox_request_channel
         - add support for PCCT extended PCC subspaces
      
        misc:
         - make use of devm_platform_ioremap_resource()
         - change Altera, PCC and Apple mailbox maintainers"
      
      * tag 'mailbox-v5.16' of git://git.linaro.org/landing-teams/working/fujitsu/integration: (38 commits)
        mailbox: imx: support i.MX8ULP S4 MU
        dt-bindings: mailbox: imx-mu: add i.MX8ULP S400 MU support
        ACPI/PCC: Add maintainer for PCC mailbox driver
        mailbox: pcc: Move bulk of PCCT parsing into pcc_mbox_probe
        mailbox: pcc: Add support for PCCT extended PCC subspaces(type 3/4)
        mailbox: pcc: Drop handling invalid bit-width in {read,write}_register
        mailbox: pcc: Avoid accessing PCCT table in pcc_send_data and pcc_mbox_irq
        mailbox: pcc: Add PCC register bundle and associated accessor functions
        mailbox: pcc: Rename doorbell ack to platform interrupt ack register
        mailbox: pcc: Use PCC mailbox channel pointer instead of standard
        mailbox: pcc: Add pcc_mbox_chan structure to hold shared memory region info
        mailbox: pcc: Consolidate subspace doorbell register parsing
        mailbox: pcc: Consolidate subspace interrupt information parsing
        mailbox: pcc: Refactor all PCC channel information into a structure
        mailbox: pcc: Fix kernel doc warnings
        mailbox: apple: Add driver for Apple mailboxes
        dt-bindings: mailbox: Add Apple mailbox bindings
        MAINTAINERS: Add Apple mailbox files
        mailbox: mtk-cmdq: Fix local clock ID usage
        mailbox: mtk-cmdq: Validate alias_id on probe
        ...
      247ee3e7
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 8a73c77c
      Linus Torvalds authored
      Pull MMC and MEMSTICK updates from Ulf Hansson:
       "MMC core:
         - Update maintainer and URL for the mmc-utils
         - Set default label for slot-gpio in case of no con-id
         - Convert MMC card DT bindings to a schema
         - Add optional host specific tuning support for eMMC HS400
         - Add error handling of add_disk()
      
        MMC host:
         - mtk-sd: Add host specific tuning support for eMMC HS400
         - mtk-sd: Make DMA handling more robust
         - dw_mmc: Prevent hangs for some data writes
         - dw_mmc: Move away from using the ->init_card() callback
         - mxs-mmc: Manage the regulator in the error path and in ->remove()
         - sdhci-cadence: Add support for the Microchip MPFS variant
         - sdhci-esdhc-imx: Add support for the NXP S32G2 variant
         - sdhci-of-arasan: Add support for the Intel Thunder Bay variant
         - sdhci-omap: Prepare to support more SoCs
         - sdhci-omap: Add support for omap3 and omap4 variants
         - sdhci-omap: Add support for power management
         - sdhci-omap: Add support for system wakeups
         - sdhci-msm: Add support for the msm8226 variant
         - sdhci-sprd: Verify that the DLL locks according to spec
      
        MEMSTICK:
         - Add error handling of add_disk()
         - A couple of small fixes and improvements"
      
      * tag 'mmc-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (60 commits)
        docs: mmc: update maintainer name and URL
        mmc: dw_mmc: exynos: Fix spelling mistake "candiates" -> candidates
        MAINTAINERS: drop obsolete file pattern in SDHCI DRIVER section
        mmc: sdhci-esdhc-imx: add NXP S32G2 support
        dt-bindings: mmc: fsl-imx-esdhc: add NXP S32G2 support
        mmc: dw_mmc: Drop use of ->init_card() callback
        mmc: sdhci-omap: Fix build if CONFIG_PM_SLEEP is not set
        mmc: sdhci-omap: Remove forward declaration of sdhci_omap_context_save()
        memstick: r592: Fix a UAF bug when removing the driver
        mmc: mxs-mmc: disable regulator on error and in the remove function
        mmc: sdhci-omap: Configure optional wakeirq
        mmc: sdhci-omap: Allow SDIO card power off and enable aggressive PM
        mmc: sdhci-omap: Implement PM runtime functions
        mmc: sdhci-omap: Add omap_offset to support omap3 and earlier
        mmc: sdhci-omap: Handle voltages to add support omap4
        dt-bindings: sdhci-omap: Update binding for legacy SoCs
        mmc: sdhci-pci: Remove dead code (rst_n_gpio et al)
        mmc: sdhci-pci: Remove dead code (cd_gpio, cd_irq et al)
        mmc: sdhci-pci: Remove dead code (struct sdhci_pci_data et al)
        mmc: sdhci: Remove unused prototype declaration in the header
        ...
      8a73c77c
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.16-1' of https://github.com/cminyard/linux-ipmi · 316b7eaa
      Linus Torvalds authored
      Pull IPMI driver updates from Corey Minyard:
       "A new type of low-level IPMI driver is added for direct communication
        over the IPMI message bus without a BMC between the driver and the
        bus.
      
        Other than that, lots of little bug fixes and enhancements"
      
      * tag 'for-linus-5.16-1' of https://github.com/cminyard/linux-ipmi:
        ipmi: kcs_bmc: Fix a memory leak in the error handling path of 'kcs_bmc_serio_add_device()'
        char: ipmi: replace snprintf in show functions with sysfs_emit
        ipmi: ipmb: fix dependencies to eliminate build error
        ipmi:ipmb: Add OF support
        ipmi: bt: Add ast2600 compatible string
        ipmi: bt-bmc: Use registers directly
        ipmi: ipmb: Fix off-by-one size check on rcvlen
        ipmi:ssif: Use depends on, not select, for I2C
        ipmi: Add docs for the IPMI IPMB driver
        ipmi: Add docs for IPMB direct addressing
        ipmi:ipmb: Add initial support for IPMI over IPMB
        ipmi: Add support for IPMB direct messages
        ipmi: Export ipmb_checksum()
        ipmi: Fix a typo
        ipmi: Check error code before processing BMC response
        ipmi:devintf: Return a proper error when recv buffer too small
        ipmi: Disable some operations during a panic
        ipmi:watchdog: Set panic count to proper value on a panic
      316b7eaa
    • Linus Torvalds's avatar
      Merge tag 'leds-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 4dee0606
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Johannes pointed out that locking is still problematic with triggers
        list, attempt to solve that by using RCU"
      
      * tag 'leds-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: trigger: Disable CPU trigger on PREEMPT_RT
        leds: trigger: use RCU to protect the led_cdevs list
        led-class-flash: fix -Wrestrict warning
      4dee0606
    • Linus Torvalds's avatar
      Merge tag 'media/v5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 73d21a35
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - New driver for SK Hynix Hi-846 8M pixel camera
      
       - New driver for the ov13b10 camera
      
       - New driver for Renesas R-Car ISP
      
       - mtk-vcodec gained support for version 2 of decoder firmware ABI
      
       - The legacy sir_ir driver got removed
      
       - videobuf2: the vb2_mem_ops kAPI had some improvements
      
       - lots of cleanups, fixes and new features at device drivers
      
      * tag 'media/v5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (328 commits)
        media: venus: core: Add sdm660 DT compatible and resource struct
        media: dt-bindings: media: venus: Add sdm660 dt schema
        media: venus: vdec: decoded picture buffer handling during reconfig sequence
        media: venus: Handle fatal errors during encoding and decoding
        media: venus: helpers: Add helper to mark fatal vb2 error
        media: venus: hfi: Check for sys error on session hfi functions
        media: venus: Make sys_error flag an atomic bitops
        media: venus: venc: Use pmruntime autosuspend
        media: allegro: write vui parameters for HEVC
        media: allegro: nal-hevc: implement generator for vui
        media: allegro: write correct colorspace into SPS
        media: allegro: extract nal value lookup functions to header
        media: allegro: correctly scale the bit rate in SPS
        media: allegro: remove external QP table
        media: allegro: fix row and column in response message
        media: allegro: add control to disable encoder buffer
        media: allegro: add encoder buffer support
        media: allegro: add pm_runtime support
        media: allegro: lookup VCU settings
        media: allegro: fix module removal if initialization failed
        ...
      73d21a35
    • Magnus Karlsson's avatar
      libbpf: Deprecate AF_XDP support · 0b170456
      Magnus Karlsson authored
      Deprecate AF_XDP support in libbpf ([0]). This has been moved to
      libxdp as it is a better fit for that library. The AF_XDP support only
      uses the public libbpf functions and can therefore just use libbpf as
      a library from libxdp. The libxdp APIs are exactly the same so it
      should just be linking with libxdp instead of libbpf for the AF_XDP
      functionality. If not, please submit a bug report. Linking with both
      libraries is supported but make sure you link in the correct order so
      that the new functions in libxdp are used instead of the deprecated
      ones in libbpf.
      
      Libxdp can be found at https://github.com/xdp-project/xdp-tools.
      
        [0] Closes: https://github.com/libbpf/libbpf/issues/270Signed-off-by: default avatarMagnus Karlsson <magnus.karlsson@intel.com>
      Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Acked-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Link: https://lore.kernel.org/bpf/20211029090111.4733-1-magnus.karlsson@gmail.com
      0b170456
    • Jiri Olsa's avatar
      kbuild: Unify options for BTF generation for vmlinux and modules · 9741e07e
      Jiri Olsa authored
      Using new PAHOLE_FLAGS variable to pass extra arguments to
      pahole for both vmlinux and modules BTF data generation.
      
      Adding new scripts/pahole-flags.sh script that detect and
      prints pahole options.
      
      [ fixed issues found by kernel test robot ]
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Acked-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Link: https://lore.kernel.org/bpf/20211029125729.70002-1-jolsa@kernel.org
      9741e07e
    • Alexei Starovoitov's avatar
      selftests/bpf: Add a testcase for 64-bit bounds propagation issue. · 0869e507
      Alexei Starovoitov authored
      ./test_progs-no_alu32 -vv -t twfw
      
      Before the 64-bit_into_32-bit fix:
      19: (25) if r1 > 0x3f goto pc+6
       R1_w=inv(id=0,umax_value=63,var_off=(0x0; 0xff),s32_max_value=255,u32_max_value=255)
      
      and eventually:
      
      invalid access to map value, value_size=8 off=7 size=8
      R6 max value is outside of the allowed memory range
      libbpf: failed to load object 'no_alu32/twfw.o'
      
      After the fix:
      19: (25) if r1 > 0x3f goto pc+6
       R1_w=inv(id=0,umax_value=63,var_off=(0x0; 0x3f))
      
      verif_twfw:OK
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Acked-by: default avatarYonghong Song <yhs@fb.com>
      Link: https://lore.kernel.org/bpf/20211101222153.78759-3-alexei.starovoitov@gmail.com
      0869e507
    • Alexei Starovoitov's avatar
      bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit. · 388e2c0b
      Alexei Starovoitov authored
      Similar to unsigned bounds propagation fix signed bounds.
      The 'Fixes' tag is a hint. There is no security bug here.
      The verifier was too conservative.
      
      Fixes: 3f50f132 ("bpf: Verifier, do explicit ALU32 bounds tracking")
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Acked-by: default avatarYonghong Song <yhs@fb.com>
      Link: https://lore.kernel.org/bpf/20211101222153.78759-2-alexei.starovoitov@gmail.com
      388e2c0b
    • Alexei Starovoitov's avatar
      bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off. · b9979db8
      Alexei Starovoitov authored
      Before this fix:
      166: (b5) if r2 <= 0x1 goto pc+22
      from 166 to 189: R2=invP(id=1,umax_value=1,var_off=(0x0; 0xffffffff))
      
      After this fix:
      166: (b5) if r2 <= 0x1 goto pc+22
      from 166 to 189: R2=invP(id=1,umax_value=1,var_off=(0x0; 0x1))
      
      While processing BPF_JLE the reg_set_min_max() would set true_reg->umax_value = 1
      and call __reg_combine_64_into_32(true_reg).
      
      Without the fix it would not pass the condition:
      if (__reg64_bound_u32(reg->umin_value) && __reg64_bound_u32(reg->umax_value))
      
      since umin_value == 0 at this point.
      Before commit 10bf4e83 the umin was incorrectly ingored.
      The commit 10bf4e83 fixed the correctness issue, but pessimized
      propagation of 64-bit min max into 32-bit min max and corresponding var_off.
      
      Fixes: 10bf4e83 ("bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds")
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Acked-by: default avatarYonghong Song <yhs@fb.com>
      Link: https://lore.kernel.org/bpf/20211101222153.78759-1-alexei.starovoitov@gmail.com
      b9979db8
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-5.16' of https://github.com/cschaufler/smack-next · 6f2b76a4
      Linus Torvalds authored
      Pull smack updates from Casey Schaufler:
       "Multiple corrections to smackfs:
      
         - a change for overlayfs support that corrects the initial attributes
           on created files
      
         - code clean-up for netlabel processing
      
         - several fixes in smackfs for a variety of reasons
      
         - Errors reported by W=1 have been addressed
      
        All told, nothing challenging"
      
      * tag 'Smack-for-5.16' of https://github.com/cschaufler/smack-next:
        smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi
        smackfs: use __GFP_NOFAIL for smk_cipso_doi()
        Smack: fix W=1 build warnings
        smack: remove duplicated hook function
        Smack:- Use overlay inode label in smack_inode_copy_up()
        smack: Guard smack_ipv6_lock definition within a SMACK_IPV6_PORT_LABELING block
        smackfs: Fix use-after-free in netlbl_catmap_walk()
      6f2b76a4
    • Linus Torvalds's avatar
      Merge tag 'fallthrough-fixes-clang-5.16-rc1' of... · f2786f43
      Linus Torvalds authored
      Merge tag 'fallthrough-fixes-clang-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull fallthrough fixes from Gustavo A. R. Silva:
       "Fix some fall-through warnings when building with Clang and
        -Wimplicit-fallthrough"
      
      * tag 'fallthrough-fixes-clang-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
        pcmcia: db1xxx_ss: Fix fall-through warning for Clang
        MIPS: Fix fall-through warnings for Clang
        scsi: st: Fix fall-through warning for Clang
      f2786f43
    • Linus Torvalds's avatar
      Merge tag 'kspp-misc-fixes-5.16-rc1' of... · bf953917
      Linus Torvalds authored
      Merge tag 'kspp-misc-fixes-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull hardening fixes and cleanups from Gustavo A. R. Silva:
       "Various hardening fixes and cleanups that I've been collecting during
        the last development cycle:
      
        Fix -Wcast-function-type error:
      
         - firewire: Remove function callback casts (Oscar Carter)
      
        Fix application of sizeof operator:
      
         - firmware/psci: fix application of sizeof to pointer (jing yangyang)
      
        Replace open coded instances with size_t saturating arithmetic
        helpers:
      
         - assoc_array: Avoid open coded arithmetic in allocator arguments
           (Len Baker)
      
         - writeback: prefer struct_size over open coded arithmetic (Len
           Baker)
      
         - aio: Prefer struct_size over open coded arithmetic (Len Baker)
      
         - dmaengine: pxa_dma: Prefer struct_size over open coded arithmetic
           (Len Baker)
      
        Flexible array transformation:
      
         - KVM: PPC: Replace zero-length array with flexible array member (Len
           Baker)
      
        Use 2-factor argument multiplication form:
      
         - nouveau/svm: Use kvcalloc() instead of kvzalloc() (Gustavo A. R.
           Silva)
      
         - xfs: Use kvcalloc() instead of kvzalloc() (Gustavo A. R. Silva)"
      
      * tag 'kspp-misc-fixes-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
        firewire: Remove function callback casts
        nouveau/svm: Use kvcalloc() instead of kvzalloc()
        firmware/psci: fix application of sizeof to pointer
        dmaengine: pxa_dma: Prefer struct_size over open coded arithmetic
        KVM: PPC: Replace zero-length array with flexible array member
        aio: Prefer struct_size over open coded arithmetic
        writeback: prefer struct_size over open coded arithmetic
        xfs: Use kvcalloc() instead of kvzalloc()
        assoc_array: Avoid open coded arithmetic in allocator arguments
      bf953917
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · a5a9e006
      Linus Torvalds authored
      Pull seccomp updates from Kees Cook:
       "These are x86-specific, but I carried these since they're also
        seccomp-specific.
      
        This flips the defaults for spec_store_bypass_disable and
        spectre_v2_user from "seccomp" to "prctl", as enough time has passed
        to allow system owners to have updated the defensive stances of their
        various workloads, and it's long overdue to unpessimize seccomp
        threads.
      
        Extensive rationale and details are in Andrea's main patch.
      
        Summary:
      
         - set spec_store_bypass_disable & spectre_v2_user to prctl (Andrea Arcangeli)"
      
      * tag 'seccomp-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        x86: deduplicate the spectre_v2_user documentation
        x86: change default to spec_store_bypass_disable=prctl spectre_v2_user=prctl
      a5a9e006
    • Linus Torvalds's avatar
      Merge tag 'overflow-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 2dc26d98
      Linus Torvalds authored
      Pull overflow updates from Kees Cook:
       "The end goal of the current buffer overflow detection work[0] is to
        gain full compile-time and run-time coverage of all detectable buffer
        overflows seen via array indexing or memcpy(), memmove(), and
        memset(). The str*() family of functions already have full coverage.
      
        While much of the work for these changes have been on-going for many
        releases (i.e. 0-element and 1-element array replacements, as well as
        avoiding false positives and fixing discovered overflows[1]), this
        series contains the foundational elements of several related buffer
        overflow detection improvements by providing new common helpers and
        FORTIFY_SOURCE changes needed to gain the introspection required for
        compiler visibility into array sizes. Also included are a handful of
        already Acked instances using the helpers (or related clean-ups), with
        many more waiting at the ready to be taken via subsystem-specific
        trees[2].
      
        The new helpers are:
      
         - struct_group() for gaining struct member range introspection
      
         - memset_after() and memset_startat() for clearing to the end of
           structures
      
         - DECLARE_FLEX_ARRAY() for using flex arrays in unions or alone in
           structs
      
        Also included is the beginning of the refactoring of FORTIFY_SOURCE to
        support memcpy() introspection, fix missing and regressed coverage
        under GCC, and to prepare to fix the currently broken Clang support.
        Finishing this work is part of the larger series[0], but depends on
        all the false positives and buffer overflow bug fixes to have landed
        already and those that depend on this series to land.
      
        As part of the FORTIFY_SOURCE refactoring, a set of both a
        compile-time and run-time tests are added for FORTIFY_SOURCE and the
        mem*()-family functions respectively. The compile time tests have
        found a legitimate (though corner-case) bug[6] already.
      
        Please note that the appearance of "panic" and "BUG" in the
        FORTIFY_SOURCE refactoring are the result of relocating existing code,
        and no new use of those code-paths are expected nor desired.
      
        Finally, there are two tree-wide conversions for 0-element arrays and
        flexible array unions to gain sane compiler introspection coverage
        that result in no known object code differences.
      
        After this series (and the changes that have now landed via netdev and
        usb), we are very close to finally being able to build with
        -Warray-bounds and -Wzero-length-bounds.
      
        However, due corner cases in GCC[3] and Clang[4], I have not included
        the last two patches that turn on these options, as I don't want to
        introduce any known warnings to the build. Hopefully these can be
        solved soon"
      
      Link: https://lore.kernel.org/lkml/20210818060533.3569517-1-keescook@chromium.org/ [0]
      Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/?qt=grep&q=FORTIFY_SOURCE [1]
      Link: https://lore.kernel.org/lkml/202108220107.3E26FE6C9C@keescook/ [2]
      Link: https://lore.kernel.org/lkml/3ab153ec-2798-da4c-f7b1-81b0ac8b0c5b@roeck-us.net/ [3]
      Link: https://bugs.llvm.org/show_bug.cgi?id=51682 [4]
      Link: https://lore.kernel.org/lkml/202109051257.29B29745C0@keescook/ [5]
      Link: https://lore.kernel.org/lkml/20211020200039.170424-1-keescook@chromium.org/ [6]
      
      * tag 'overflow-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (30 commits)
        fortify: strlen: Avoid shadowing previous locals
        compiler-gcc.h: Define __SANITIZE_ADDRESS__ under hwaddress sanitizer
        treewide: Replace 0-element memcpy() destinations with flexible arrays
        treewide: Replace open-coded flex arrays in unions
        stddef: Introduce DECLARE_FLEX_ARRAY() helper
        btrfs: Use memset_startat() to clear end of struct
        string.h: Introduce memset_startat() for wiping trailing members and padding
        xfrm: Use memset_after() to clear padding
        string.h: Introduce memset_after() for wiping trailing members/padding
        lib: Introduce CONFIG_MEMCPY_KUNIT_TEST
        fortify: Add compile-time FORTIFY_SOURCE tests
        fortify: Allow strlen() and strnlen() to pass compile-time known lengths
        fortify: Prepare to improve strnlen() and strlen() warnings
        fortify: Fix dropped strcpy() compile-time write overflow check
        fortify: Explicitly disable Clang support
        fortify: Move remaining fortify helpers into fortify-string.h
        lib/string: Move helper functions out of string.c
        compiler_types.h: Remove __compiletime_object_size()
        cm4000_cs: Use struct_group() to zero struct cm4000_dev region
        can: flexcan: Use struct_group() to zero struct flexcan_regs regions
        ...
      2dc26d98
    • Linus Torvalds's avatar
      Merge tag 'hardening-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · f594e28d
      Linus Torvalds authored
      Pull compiler hardening updates from Kees Cook:
       "These are various compiler-related hardening feature updates. Notable
        is the addition of an explicit limited rationale for, and deprecation
        schedule of, gcc-plugins.
      
        gcc-plugins:
         - remove support for GCC 4.9 and older (Ard Biesheuvel)
         - remove duplicate include in gcc-common.h (Ye Guojin)
         - Explicitly document purpose and deprecation schedule (Kees Cook)
         - Remove cyc_complexity (Kees Cook)
      
        instrumentation:
         - Avoid harmless Clang option under CONFIG_INIT_STACK_ALL_ZERO (Kees Cook)
      
        Clang LTO:
         - kallsyms: strip LTO suffixes from static functions (Nick Desaulniers)"
      
      * tag 'hardening-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        gcc-plugins: remove duplicate include in gcc-common.h
        gcc-plugins: Remove cyc_complexity
        gcc-plugins: Explicitly document purpose and deprecation schedule
        kallsyms: strip LTO suffixes from static functions
        gcc-plugins: remove support for GCC 4.9 and older
        hardening: Avoid harmless Clang option under CONFIG_INIT_STACK_ALL_ZERO
      f594e28d
    • Linus Torvalds's avatar
      Merge tag 'cpu-to-thread_info-v5.16-rc1' of... · 01463374
      Linus Torvalds authored
      Merge tag 'cpu-to-thread_info-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
      
      Pull thread_info update to move 'cpu' back from task_struct from Kees Cook:
       "Cross-architecture update to move task_struct::cpu back into
        thread_info on arm64, x86, s390, powerpc, and riscv. All Acked by arch
        maintainers.
      
        Quoting Ard Biesheuvel:
      
           'Move task_struct::cpu back into thread_info
      
            Keeping CPU in task_struct is problematic for architectures that
            define raw_smp_processor_id() in terms of this field, as it
            requires linux/sched.h to be included, which causes a lot of pain
            in terms of circular dependencies (aka 'header soup')
      
            This series moves it back into thread_info (where it came from)
            for all architectures that enable THREAD_INFO_IN_TASK, addressing
            the header soup issue as well as some pointless differences in the
            implementations of task_cpu() and set_task_cpu()'"
      
      * tag 'cpu-to-thread_info-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        riscv: rely on core code to keep thread_info::cpu updated
        powerpc: smp: remove hack to obtain offset of task_struct::cpu
        sched: move CPU field back into thread_info if THREAD_INFO_IN_TASK=y
        powerpc: add CPU field to struct thread_info
        s390: add CPU field to struct thread_info
        x86: add CPU field to struct thread_info
        arm64: add CPU field to struct thread_info
      01463374
  2. 01 Nov, 2021 1 commit