Skip to content
Permalink
Wells-Lu/devic…
Switch branches/tags

Commits on Nov 11, 2021

  1. net: ethernet: Add driver for Sunplus SP7021

    Add driver for Sunplus SP7021.
    
    Signed-off-by: Wells Lu <wells.lu@sunplus.com>
    Wells Lu authored and intel-lab-lkp committed Nov 11, 2021
  2. devicetree: bindings: net: Add bindings doc for Sunplus SP7021.

    Add bindings documentation for Sunplus SP7021.
    
    Signed-off-by: Wells Lu <wells.lu@sunplus.com>
    Wells Lu authored and intel-lab-lkp committed Nov 11, 2021

Commits on Nov 2, 2021

  1. Merge tag 'x86_core_for_v5.16_rc1' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tip/tip
    
    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
    torvalds committed Nov 2, 2021
  2. Merge tag 'net-next-for-5.16' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/netdev/net-next
    
    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
      ...
    torvalds committed Nov 2, 2021
  3. Revert "net: avoid double accounting for pure zerocopy skbs"

    This reverts commit f1a456f.
    
      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 torvalds#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: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Nov 2, 2021
  4. Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/herbert/crypto-2.6
    
    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
      ...
    torvalds committed Nov 2, 2021
  5. Merge tag 'audit-pr-20211101' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/pcmoore/audit
    
    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
    torvalds committed Nov 2, 2021
  6. Merge tag 'selinux-pr-20211101' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/pcmoore/selinux
    
    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
    torvalds committed Nov 2, 2021
  7. Merge tag 'rcu.2021.11.01a' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/paulmck/linux-rcu
    
    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
      ...
    torvalds committed Nov 2, 2021
  8. Merge tag 'trace-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/rostedt/linux-trace
    
    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
      ...
    torvalds committed Nov 2, 2021
  9. Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

    Merge in the fixes we had queued in case there was another -rc.
    
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Nov 2, 2021
  10. Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next

    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.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Nov 2, 2021
  11. Merge branch 'make-neighbor-eviction-controllable-by-userspace'

    James Prestwood says:
    
    ====================
    Make neighbor eviction controllable by userspace
    ====================
    
    Link: https://lore.kernel.org/r/20211101173630.300969-1-prestwoj@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Nov 2, 2021
  12. selftests: net: add arp_ndisc_evict_nocarrier

    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: James Prestwood <prestwoj@gmail.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    jprestwo authored and Jakub Kicinski committed Nov 2, 2021
  13. net: ndisc: introduce ndisc_evict_nocarrier sysctl parameter

    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: James Prestwood <prestwoj@gmail.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    jprestwo authored and Jakub Kicinski committed Nov 2, 2021
  14. net: arp: introduce arp_evict_nocarrier sysctl parameter

    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 859bd2e
    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: James Prestwood <prestwoj@gmail.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    jprestwo authored and Jakub Kicinski committed Nov 2, 2021
  15. Merge tag 'hwmon-for-v5.16' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/groeck/linux-staging
    
    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
      ...
    torvalds committed Nov 2, 2021
  16. Merge tag 'spi-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/broonie/spi
    
    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
      ...
    torvalds committed Nov 2, 2021
  17. Merge tag 'regulator-v5.16' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/broonie/regulator
    
    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
      ...
    torvalds committed Nov 2, 2021
  18. Merge tag 'regmap-v5.16' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/broonie/regmap
    
    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
    torvalds committed Nov 2, 2021
  19. Merge tag 'mailbox-v5.16' of git://git.linaro.org/landing-teams/worki…

    …ng/fujitsu/integration
    
    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
      ...
    torvalds committed Nov 2, 2021
  20. Merge tag 'mmc-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/ulfh/mmc
    
    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
      ...
    torvalds committed Nov 2, 2021
  21. Merge tag 'for-linus-5.16-1' of https://github.com/cminyard/linux-ipmi

    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
    torvalds committed Nov 2, 2021
  22. Merge tag 'leds-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/pavel/linux-leds
    
    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
    torvalds committed Nov 2, 2021
  23. Merge tag 'media/v5.16-1' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/mchehab/linux-media
    
    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
      ...
    torvalds committed Nov 2, 2021
  24. libbpf: Deprecate AF_XDP support

    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: libbpf/libbpf#270
    
    Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
    Link: https://lore.kernel.org/bpf/20211029090111.4733-1-magnus.karlsson@gmail.com
    magnus-karlsson authored and anakryiko committed Nov 2, 2021
  25. kbuild: Unify options for BTF generation for vmlinux and modules

    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: Jiri Olsa <jolsa@kernel.org>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Andrii Nakryiko <andrii@kernel.org>
    Link: https://lore.kernel.org/bpf/20211029125729.70002-1-jolsa@kernel.org
    Jiri Olsa authored and anakryiko committed Nov 2, 2021
  26. selftests/bpf: Add a testcase for 64-bit bounds propagation issue.

    ./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: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Yonghong Song <yhs@fb.com>
    Link: https://lore.kernel.org/bpf/20211101222153.78759-3-alexei.starovoitov@gmail.com
    Alexei Starovoitov authored and anakryiko committed Nov 2, 2021
  27. bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit.

    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: 3f50f13 ("bpf: Verifier, do explicit ALU32 bounds tracking")
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Yonghong Song <yhs@fb.com>
    Link: https://lore.kernel.org/bpf/20211101222153.78759-2-alexei.starovoitov@gmail.com
    Alexei Starovoitov authored and anakryiko committed Nov 2, 2021
  28. bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and va…

    …r_off.
    
    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 10bf4e8 the umin was incorrectly ingored.
    The commit 10bf4e8 fixed the correctness issue, but pessimized
    propagation of 64-bit min max into 32-bit min max and corresponding var_off.
    
    Fixes: 10bf4e8 ("bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds")
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Acked-by: Yonghong Song <yhs@fb.com>
    Link: https://lore.kernel.org/bpf/20211101222153.78759-1-alexei.starovoitov@gmail.com
    Alexei Starovoitov authored and anakryiko committed Nov 2, 2021
  29. Merge tag 'Smack-for-5.16' of https://github.com/cschaufler/smack-next

    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()
    torvalds committed Nov 2, 2021
  30. 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
    torvalds committed Nov 2, 2021
  31. 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
    torvalds committed Nov 2, 2021
  32. Merge tag 'seccomp-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/kees/linux
    
    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
    torvalds committed Nov 2, 2021
  33. Merge tag 'overflow-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/kees/linux
    
    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
      ...
    torvalds committed Nov 2, 2021
Older