1. 04 Nov, 2021 3 commits
    • Eric Dumazet's avatar
      net: fix possible NULL deref in sock_reserve_memory · d00c8ee3
      Eric Dumazet authored
      Sanity check in sock_reserve_memory() was not enough to prevent malicious
      user to trigger a NULL deref.
      
      In this case, the isse is that sk_prot->memory_allocated is NULL.
      
      Use standard sk_has_account() helper to deal with this.
      
      BUG: KASAN: null-ptr-deref in instrument_atomic_read_write include/linux/instrumented.h:101 [inline]
      BUG: KASAN: null-ptr-deref in atomic_long_add_return include/linux/atomic/atomic-instrumented.h:1218 [inline]
      BUG: KASAN: null-ptr-deref in sk_memory_allocated_add include/net/sock.h:1371 [inline]
      BUG: KASAN: null-ptr-deref in sock_reserve_memory net/core/sock.c:994 [inline]
      BUG: KASAN: null-ptr-deref in sock_setsockopt+0x22ab/0x2b30 net/core/sock.c:1443
      Write of size 8 at addr 0000000000000000 by task syz-executor.0/11270
      
      CPU: 1 PID: 11270 Comm: syz-executor.0 Not tainted 5.15.0-syzkaller #0
      Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
      Call Trace:
       <TASK>
       __dump_stack lib/dump_stack.c:88 [inline]
       dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
       __kasan_report mm/kasan/report.c:446 [inline]
       kasan_report.cold+0x66/0xdf mm/kasan/report.c:459
       check_region_inline mm/kasan/generic.c:183 [inline]
       kasan_check_range+0x13d/0x180 mm/kasan/generic.c:189
       instrument_atomic_read_write include/linux/instrumented.h:101 [inline]
       atomic_long_add_return include/linux/atomic/atomic-instrumented.h:1218 [inline]
       sk_memory_allocated_add include/net/sock.h:1371 [inline]
       sock_reserve_memory net/core/sock.c:994 [inline]
       sock_setsockopt+0x22ab/0x2b30 net/core/sock.c:1443
       __sys_setsockopt+0x4f8/0x610 net/socket.c:2172
       __do_sys_setsockopt net/socket.c:2187 [inline]
       __se_sys_setsockopt net/socket.c:2184 [inline]
       __x64_sys_setsockopt+0xba/0x150 net/socket.c:2184
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x44/0xae
      RIP: 0033:0x7f56076d5ae9
      Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
      RSP: 002b:00007f5604c4b188 EFLAGS: 00000246 ORIG_RAX: 0000000000000036
      RAX: ffffffffffffffda RBX: 00007f56077e8f60 RCX: 00007f56076d5ae9
      RDX: 0000000000000049 RSI: 0000000000000001 RDI: 0000000000000003
      RBP: 00007f560772ff25 R08: 000000000000fec7 R09: 0000000000000000
      R10: 0000000020000000 R11: 0000000000000246 R12: 0000000000000000
      R13: 00007fffb61a100f R14: 00007f5604c4b300 R15: 0000000000022000
       </TASK>
      
      Fixes: 2bb2f5fb ("net: add new socket option SO_RESERVE_MEM")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Acked-by: default avatarWei Wang <weiwan@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d00c8ee3
    • Leonard Crestez's avatar
      tcp: Use BIT() for OPTION_* constants · 3b65abb8
      Leonard Crestez authored
      Extending these flags using the existing (1 << x) pattern triggers
      complaints from checkpatch. Instead of ignoring checkpatch modify the
      existing values to use BIT(x) style in a separate commit.
      Signed-off-by: default avatarLeonard Crestez <cdleonard@gmail.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3b65abb8
    • Andrea Righi's avatar
      selftests: net: properly support IPv6 in GSO GRE test · a985442f
      Andrea Righi authored
      Explicitly pass -6 to netcat when the test is using IPv6 to prevent
      failures.
      
      Also make sure to pass "-N" to netcat to close the socket after EOF on
      the client side, otherwise we would always hit the timeout and the test
      would fail.
      
      Without this fix applied:
      
       TEST: GREv6/v4 - copy file w/ TSO                                   [FAIL]
       TEST: GREv6/v4 - copy file w/ GSO                                   [FAIL]
       TEST: GREv6/v6 - copy file w/ TSO                                   [FAIL]
       TEST: GREv6/v6 - copy file w/ GSO                                   [FAIL]
      
      With this fix applied:
      
       TEST: GREv6/v4 - copy file w/ TSO                                   [ OK ]
       TEST: GREv6/v4 - copy file w/ GSO                                   [ OK ]
       TEST: GREv6/v6 - copy file w/ TSO                                   [ OK ]
       TEST: GREv6/v6 - copy file w/ GSO                                   [ OK ]
      
      Fixes: 025efa0a ("selftests: add simple GSO GRE test")
      Signed-off-by: default avatarAndrea Righi <andrea.righi@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a985442f
  2. 03 Nov, 2021 28 commits
  3. 02 Nov, 2021 9 commits
    • 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
    • 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