1. 12 Jan, 2022 22 commits
    • Neil Armstrong's avatar
      dt-bindings: net: oxnas-dwmac: Add bindings for OX810SE · 8973d7b8
      Neil Armstrong authored
      Add SoC specific bindings for OX810SE support.
      Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8973d7b8
    • Jie Wang's avatar
      net: bonding: fix bond_xmit_broadcast return value error bug · 4e5bd03a
      Jie Wang authored
      In Linux bonding scenario, one packet is copied to several copies and sent
      by all slave device of bond0 in mode 3(broadcast mode). The mode 3 xmit
      function bond_xmit_broadcast() only ueses the last slave device's tx result
      as the final result. In this case, if the last slave device is down, then
      it always return NET_XMIT_DROP, even though the other slave devices xmit
      success. It may cause the tx statistics error, and cause the application
      (e.g. scp) consider the network is unreachable.
      
      For example, use the following command to configure server A.
      
      echo 3 > /sys/class/net/bond0/bonding/mode
      ifconfig bond0 up
      ifenslave bond0 eth0 eth1
      ifconfig bond0 192.168.1.125
      ifconfig eth0 up
      ifconfig eth1 down
      The slave device eth0 and eth1 are connected to server B(192.168.1.107).
      Run the ping 192.168.1.107 -c 3 -i 0.2 command, the following information
      is displayed.
      
      PING 192.168.1.107 (192.168.1.107) 56(84) bytes of data.
      64 bytes from 192.168.1.107: icmp_seq=1 ttl=64 time=0.077 ms
      64 bytes from 192.168.1.107: icmp_seq=2 ttl=64 time=0.056 ms
      64 bytes from 192.168.1.107: icmp_seq=3 ttl=64 time=0.051 ms
      
       192.168.1.107 ping statistics
      0 packets transmitted, 3 received
      
      Actually, the slave device eth0 of the bond successfully sends three
      ICMP packets, but the result shows that 0 packets are transmitted.
      
      Also if we use scp command to get remote files, the command end with the
      following printings.
      
      ssh_exchange_identification: read: Connection timed out
      
      So this patch modifies the bond_xmit_broadcast to return NET_XMIT_SUCCESS
      if one slave device in the bond sends packets successfully. If all slave
      devices send packets fail, the discarded packets stats is increased. The
      skb is released when there is no slave device in the bond or the last slave
      device is down.
      
      Fixes: ae46f184 ("bonding: propagate transmit status")
      Signed-off-by: default avatarJie Wang <wangjie125@huawei.com>
      Signed-off-by: default avatarGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4e5bd03a
    • Eric Dumazet's avatar
      net/smc: fix possible NULL deref in smc_pnet_add_eth() · 7b9b1d44
      Eric Dumazet authored
      I missed that @ndev value can be NULL.
      
      I prefer not factorizing this NULL check, and instead
      clearly document where a NULL might be expected.
      
      general protection fault, probably for non-canonical address 0xdffffc00000000ba: 0000 [#1] PREEMPT SMP KASAN
      KASAN: null-ptr-deref in range [0x00000000000005d0-0x00000000000005d7]
      CPU: 0 PID: 19875 Comm: syz-executor.2 Not tainted 5.16.0-syzkaller #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      RIP: 0010:__lock_acquire+0xd7a/0x5470 kernel/locking/lockdep.c:4897
      Code: 14 0e 41 bf 01 00 00 00 0f 86 c8 00 00 00 89 05 5c 20 14 0e e9 bd 00 00 00 48 b8 00 00 00 00 00 fc ff df 4c 89 f2 48 c1 ea 03 <80> 3c 02 00 0f 85 9f 2e 00 00 49 81 3e 20 c5 1a 8f 0f 84 52 f3 ff
      RSP: 0018:ffffc900057071d0 EFLAGS: 00010002
      RAX: dffffc0000000000 RBX: 1ffff92000ae0e65 RCX: 1ffff92000ae0e4c
      RDX: 00000000000000ba RSI: 0000000000000000 RDI: 0000000000000001
      RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000001
      R10: fffffbfff1b24ae2 R11: 000000000008808a R12: 0000000000000000
      R13: ffff888040ca4000 R14: 00000000000005d0 R15: 0000000000000000
      FS:  00007fbd683e0700(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000001b2be22000 CR3: 0000000013fea000 CR4: 00000000003526f0
      Call Trace:
       <TASK>
       lock_acquire kernel/locking/lockdep.c:5637 [inline]
       lock_acquire+0x1ab/0x510 kernel/locking/lockdep.c:5602
       __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
       _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162
       ref_tracker_alloc+0x182/0x440 lib/ref_tracker.c:84
       netdev_tracker_alloc include/linux/netdevice.h:3859 [inline]
       smc_pnet_add_eth net/smc/smc_pnet.c:372 [inline]
       smc_pnet_enter net/smc/smc_pnet.c:492 [inline]
       smc_pnet_add+0x49a/0x14d0 net/smc/smc_pnet.c:555
       genl_family_rcv_msg_doit+0x228/0x320 net/netlink/genetlink.c:731
       genl_family_rcv_msg net/netlink/genetlink.c:775 [inline]
       genl_rcv_msg+0x328/0x580 net/netlink/genetlink.c:792
       netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2494
       genl_rcv+0x24/0x40 net/netlink/genetlink.c:803
       netlink_unicast_kernel net/netlink/af_netlink.c:1317 [inline]
       netlink_unicast+0x539/0x7e0 net/netlink/af_netlink.c:1343
       netlink_sendmsg+0x904/0xe00 net/netlink/af_netlink.c:1919
       sock_sendmsg_nosec net/socket.c:705 [inline]
       sock_sendmsg+0xcf/0x120 net/socket.c:725
       ____sys_sendmsg+0x6e8/0x810 net/socket.c:2413
       ___sys_sendmsg+0xf3/0x170 net/socket.c:2467
       __sys_sendmsg+0xe5/0x1b0 net/socket.c:2496
       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
      
      Fixes: b6064524 ("net/smc: add net device tracker to struct smc_pnetentry")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7b9b1d44
    • Eric Dumazet's avatar
      net: bridge: fix net device refcount tracking issue in error path · fcfb894d
      Eric Dumazet authored
      I left one dev_put() in br_add_if() error path and sure enough
      syzbot found its way.
      
      As the tracker is allocated in new_nbp(), we must make sure
      to properly free it.
      
      We have to call dev_put_track(dev, &p->dev_tracker) before
      @p object is freed, of course. This is not an issue because
      br_add_if() owns a reference on @dev.
      
      Fixes: b2dcdc7f ("net: bridge: add net device refcount tracker")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fcfb894d
    • David S. Miller's avatar
      Merge branch 'ipa-fixes' · 0bbed88a
      David S. Miller authored
      Alex Elder says:
      
      ====================
      net: ipa: fix two replenish bugs
      
      This series contains two fixes for bugs in the IPA receive buffer
      replenishing code.  The (new) second patch defines a bitmap to
      represent endpoint the replenish enabled flag.  Its purpose is to
      prepare for the third patch, which adds an additional flag.
      
      Version 2 of this series uses bitmap operations in the second bug
      fix rather than an atomic variable, as suggested by Jakub.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0bbed88a
    • Alex Elder's avatar
      net: ipa: prevent concurrent replenish · 998c0bd2
      Alex Elder authored
      We have seen cases where an endpoint RX completion interrupt arrives
      while replenishing for the endpoint is underway.  This causes another
      instance of replenishing to begin as part of completing the receive
      transaction.  If this occurs it can lead to transaction corruption.
      
      Use a new flag to ensure only one replenish instance for an endpoint
      executes at a time.
      
      Fixes: 84f9bd12 ("soc: qcom: ipa: IPA endpoints")
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      998c0bd2
    • Alex Elder's avatar
      net: ipa: use a bitmap for endpoint replenish_enabled · c1aaa01d
      Alex Elder authored
      Define a new replenish_flags bitmap to contain Boolean flags
      associated with an endpoint's replenishing state.  Replace the
      replenish_enabled field with a flag in that bitmap.  This is to
      prepare for the next patch, which adds another flag.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c1aaa01d
    • Alex Elder's avatar
      net: ipa: fix atomic update in ipa_endpoint_replenish() · 6c0e3b5c
      Alex Elder authored
      In ipa_endpoint_replenish(), if an error occurs when attempting to
      replenish a receive buffer, we just quit and try again later.  In
      that case we increment the backlog count to reflect that the attempt
      was unsuccessful.  Then, if the add_one flag was true we increment
      the backlog again.
      
      This second increment is not included in the backlog local variable
      though, and its value determines whether delayed work should be
      scheduled.  This is a bug.
      
      Fix this by determining whether 1 or 2 should be added to the
      backlog before adding it in a atomic_add_return() call.
      Reviewed-by: default avatarMatthias Kaehlcke <mka@chromium.org>
      Fixes: 84f9bd12 ("soc: qcom: ipa: IPA endpoints")
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6c0e3b5c
    • Eric Dumazet's avatar
      ref_tracker: use __GFP_NOFAIL more carefully · c12837d1
      Eric Dumazet authored
      syzbot was able to trigger this warning from new_slab()
      		/*
      		 * All existing users of the __GFP_NOFAIL are blockable, so warn
      		 * of any new users that actually require GFP_NOWAIT
      		 */
      		if (WARN_ON_ONCE(!can_direct_reclaim))
      			goto fail;
      
      Indeed, we should use __GFP_NOFAIL if direct reclaim is possible.
      
      Hopefully in the future we will be able to use SLAB_NOFAILSLAB
      option so that syzbot can benefit from full ref_tracker
      even in the presence of memory fault injections.
      
      WARNING: CPU: 0 PID: 13 at mm/page_alloc.c:5081 __alloc_pages_slowpath.constprop.0+0x1b7b/0x20d0 mm/page_alloc.c:5081 mm/page_alloc.c:5081
      Modules linked in:
      CPU: 0 PID: 13 Comm: ksoftirqd/0 Not tainted 5.16.0-rc5-syzkaller #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      RIP: 0010:__alloc_pages_slowpath.constprop.0+0x1b7b/0x20d0 mm/page_alloc.c:5081 mm/page_alloc.c:5081
      Code: 90 08 00 00 48 81 c7 d8 04 00 00 48 89 f8 48 c1 e8 03 42 80 3c 30 00 0f 84 f0 ea ff ff e8 3d 82 09 00 e9 e6 ea ff ff 4d 89 fd <0f> 0b 48 b8 00 00 00 00 00 fc ff df 48 8b 54 24 30 48 c1 ea 03 80
      RSP: 0018:ffffc90000d272b8 EFLAGS: 00010246
      
      RAX: 0000000000000000 RBX: ffff88813fffc300 RCX: 0000000000000000
      RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff88813fffc348
      RBP: ffff88813fffc300 R08: 00000000000013dc R09: 00000000000013c8
      R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
      R13: ffffc90000d274e8 R14: dffffc0000000000 R15: ffffc90000d274e8
      FS:  0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007ffefe6000f8 CR3: 000000001d21e000 CR4: 00000000003506f0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
       <TASK>
       __alloc_pages+0x412/0x500 mm/page_alloc.c:5382 mm/page_alloc.c:5382
       alloc_pages+0x1a7/0x300 mm/mempolicy.c:2191 mm/mempolicy.c:2191
       alloc_slab_page mm/slub.c:1793 [inline]
       allocate_slab mm/slub.c:1938 [inline]
       alloc_slab_page mm/slub.c:1793 [inline] mm/slub.c:1993
       allocate_slab mm/slub.c:1938 [inline] mm/slub.c:1993
       new_slab+0x349/0x4a0 mm/slub.c:1993 mm/slub.c:1993
       ___slab_alloc+0x918/0xfe0 mm/slub.c:3022 mm/slub.c:3022
       __slab_alloc.constprop.0+0x4d/0xa0 mm/slub.c:3109 mm/slub.c:3109
       slab_alloc_node mm/slub.c:3200 [inline]
       slab_alloc mm/slub.c:3242 [inline]
       slab_alloc_node mm/slub.c:3200 [inline] mm/slub.c:3259
       slab_alloc mm/slub.c:3242 [inline] mm/slub.c:3259
       kmem_cache_alloc_trace+0x289/0x2c0 mm/slub.c:3259 mm/slub.c:3259
       kmalloc include/linux/slab.h:590 [inline]
       kzalloc include/linux/slab.h:724 [inline]
       kmalloc include/linux/slab.h:590 [inline] lib/ref_tracker.c:74
       kzalloc include/linux/slab.h:724 [inline] lib/ref_tracker.c:74
       ref_tracker_alloc+0xe1/0x430 lib/ref_tracker.c:74 lib/ref_tracker.c:74
       netdev_tracker_alloc include/linux/netdevice.h:3855 [inline]
       dev_hold_track include/linux/netdevice.h:3872 [inline]
       netdev_tracker_alloc include/linux/netdevice.h:3855 [inline] net/core/dst.c:52
       dev_hold_track include/linux/netdevice.h:3872 [inline] net/core/dst.c:52
       dst_init+0xe0/0x520 net/core/dst.c:52 net/core/dst.c:52
       dst_alloc+0x16b/0x1f0 net/core/dst.c:96 net/core/dst.c:96
       rt_dst_alloc+0x73/0x450 net/ipv4/route.c:1614 net/ipv4/route.c:1614
       ip_route_input_mc net/ipv4/route.c:1720 [inline]
       ip_route_input_mc net/ipv4/route.c:1720 [inline] net/ipv4/route.c:2465
       ip_route_input_rcu.part.0+0x4fe/0xcc0 net/ipv4/route.c:2465 net/ipv4/route.c:2465
       ip_route_input_rcu net/ipv4/route.c:2420 [inline]
       ip_route_input_rcu net/ipv4/route.c:2420 [inline] net/ipv4/route.c:2416
       ip_route_input_noref+0x1b8/0x2a0 net/ipv4/route.c:2416 net/ipv4/route.c:2416
       ip_rcv_finish_core.constprop.0+0x288/0x1e90 net/ipv4/ip_input.c:354 net/ipv4/ip_input.c:354
       ip_rcv_finish+0x135/0x2f0 net/ipv4/ip_input.c:427 net/ipv4/ip_input.c:427
       NF_HOOK include/linux/netfilter.h:307 [inline]
       NF_HOOK include/linux/netfilter.h:301 [inline]
       NF_HOOK include/linux/netfilter.h:307 [inline] net/ipv4/ip_input.c:540
       NF_HOOK include/linux/netfilter.h:301 [inline] net/ipv4/ip_input.c:540
       ip_rcv+0xaa/0xd0 net/ipv4/ip_input.c:540 net/ipv4/ip_input.c:540
       __netif_receive_skb_one_core+0x114/0x180 net/core/dev.c:5350 net/core/dev.c:5350
       __netif_receive_skb+0x24/0x1b0 net/core/dev.c:5464 net/core/dev.c:5464
       process_backlog+0x2a5/0x6c0 net/core/dev.c:5796 net/core/dev.c:5796
       __napi_poll+0xaf/0x440 net/core/dev.c:6364 net/core/dev.c:6364
       napi_poll net/core/dev.c:6431 [inline]
       napi_poll net/core/dev.c:6431 [inline] net/core/dev.c:6518
       net_rx_action+0x801/0xb40 net/core/dev.c:6518 net/core/dev.c:6518
       __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 kernel/softirq.c:558
       run_ksoftirqd kernel/softirq.c:921 [inline]
       run_ksoftirqd kernel/softirq.c:921 [inline] kernel/softirq.c:913
       run_ksoftirqd+0x2d/0x60 kernel/softirq.c:913 kernel/softirq.c:913
       smpboot_thread_fn+0x645/0x9c0 kernel/smpboot.c:164 kernel/smpboot.c:164
       kthread+0x405/0x4f0 kernel/kthread.c:327 kernel/kthread.c:327
       ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 arch/x86/entry/entry_64.S:295
      
      Fixes: 4e66934e ("lib: add reference counting tracking infrastructure")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c12837d1
    • Jordy Zomer's avatar
      nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION · 4fbcc1a4
      Jordy Zomer authored
      It appears that there are some buffer overflows in EVT_TRANSACTION.
      This happens because the length parameters that are passed to memcpy
      come directly from skb->data and are not guarded in any way.
      Signed-off-by: default avatarJordy Zomer <jordy@pwning.systems>
      Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4fbcc1a4
    • Miroslav Lichvar's avatar
      net: fix sock_timestamping_bind_phc() to release device · 2a4d75bf
      Miroslav Lichvar authored
      Don't forget to release the device in sock_timestamping_bind_phc() after
      it was used to get the vclock indices.
      
      Fixes: d463126e ("net: sock: extend SO_TIMESTAMPING for PHC binding")
      Signed-off-by: default avatarMiroslav Lichvar <mlichvar@redhat.com>
      Cc: Yangbo Lu <yangbo.lu@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2a4d75bf
    • Michael Walle's avatar
      Revert "of: net: support NVMEM cells with MAC in text format" · 3486eb77
      Michael Walle authored
      This reverts commit 9ed319e4.
      
      We can already post process a nvmem cell value in a particular driver.
      Instead of having yet another place to convert the values, the post
      processing hook of the nvmem provider should be used in this case.
      Signed-off-by: default avatarMichael Walle <michael@walle.cc>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3486eb77
    • Colin Ian King's avatar
      net: phy: at803x: make array offsets static · edcb501e
      Colin Ian King authored
      Don't populate the read-only const array offsets on the stack
      but instead make it static. Also makes the object code a little smaller.
      Signed-off-by: default avatarColin Ian King <colin.i.king@gmail.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Link: https://lore.kernel.org/r/20220109231716.59012-1-colin.i.king@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      edcb501e
    • Colin Ian King's avatar
      nfc: pn544: make array rset_cmd static const · e110978d
      Colin Ian King authored
      Don't populate the read-only array rset_cmd on the stack but
      instead it static const. Also makes the object code a little smaller.
      Signed-off-by: default avatarColin Ian King <colin.i.king@gmail.com>
      Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
      Link: https://lore.kernel.org/r/20220109202418.50641-1-colin.i.king@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e110978d
    • Eric Dumazet's avatar
      net: sched: do not allocate a tracker in tcf_exts_init() · cb963a19
      Eric Dumazet authored
      While struct tcf_exts has a net pointer, it is not refcounted
      until tcf_exts_get_net() is called.
      
      Fixes: dbdcda63 ("net: sched: add netns refcount tracker to struct tcf_exts")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Link: https://lore.kernel.org/r/20220110094750.236478-1-eric.dumazet@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      cb963a19
    • Jakub Kicinski's avatar
      Merge branch 'ipv4-fix-accidental-rto_onlink-flags-passed-to-ip_route_output_key_hash' · 29b3881b
      Jakub Kicinski authored
      Guillaume Nault says:
      
      ====================
      ipv4: Fix accidental RTO_ONLINK flags passed to ip_route_output_key_hash()
      
      The IPv4 stack generally uses the last bit of ->flowi4_tos as a flag
      indicating link scope for route lookups (RTO_ONLINK). Therefore, we
      have to be careful when copying a TOS value to ->flowi4_tos. In
      particular, the ->tos field of IPv4 packets may have this bit set
      because of ECN. Also tunnel keys generally accept any user value for
      the tos.
      
      This series fixes several places where ->flowi4_tos was set from
      non-sanitised values and the flowi4 structure was later used by
      ip_route_output_key_hash().
      
      Note that the IPv4 stack usually clears the RTO_ONLINK bit using
      RT_TOS(). However this macro is based on an obsolete interpretation of
      the old IPv4 TOS field (RFC 1349) and clears the three high order bits
      too. Since we don't need to clear these bits and since it doesn't make
      sense to clear only one of the ECN bits, this patch series uses
      INET_ECN_MASK instead.
      
      All patches were compile tested only.
      ====================
      
      Link: https://lore.kernel.org/r/cover.1641821242.git.gnault@redhat.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      29b3881b
    • Guillaume Nault's avatar
      mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get() · 48d67543
      Guillaume Nault authored
      Mask the ECN bits before calling mlx5e_route_lookup_ipv4_get(). The
      tunnel key might have the last ECN bit set. This interferes with the
      route lookup process as ip_route_output_key_hash() interpretes this bit
      specially (to restrict the route scope).
      
      Found by code inspection, compile tested only.
      
      Fixes: c7b9038d ("net/mlx5e: TC preparation refactoring for routing update event")
      Fixes: 9a941117 ("net/mlx5e: Maximize ip tunnel key usage on the TC offloading path")
      Signed-off-by: default avatarGuillaume Nault <gnault@redhat.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      48d67543
    • Guillaume Nault's avatar
      libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route() · a915deaa
      Guillaume Nault authored
      Mask the ECN bits before calling ip_route_output_ports(). The tos
      variable might be passed directly from an IPv4 header, so it may have
      the last ECN bit set. This interferes with the route lookup process as
      ip_route_output_key_hash() interpretes this bit specially (to restrict
      the route scope).
      
      Found by code inspection, compile tested only.
      
      Fixes: 804c2f3e ("libcxgb,iw_cxgb4,cxgbit: add cxgb_find_route()")
      Signed-off-by: default avatarGuillaume Nault <gnault@redhat.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a915deaa
    • Guillaume Nault's avatar
      gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst() · f7716b31
      Guillaume Nault authored
      Mask the ECN bits before initialising ->flowi4_tos. The tunnel key may
      have the last ECN bit set, which will interfere with the route lookup
      process as ip_route_output_key_hash() interpretes this bit specially
      (to restrict the route scope).
      
      Found by code inspection, compile tested only.
      
      Fixes: 962924fa ("ip_gre: Refactor collect metatdata mode tunnel xmit to ip_md_tunnel_xmit")
      Signed-off-by: default avatarGuillaume Nault <gnault@redhat.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f7716b31
    • Guillaume Nault's avatar
      xfrm: Don't accidentally set RTO_ONLINK in decode_session4() · 23e7b1bf
      Guillaume Nault authored
      Similar to commit 94e22389 ("xfrm4: strip ECN bits from tos field"),
      clear the ECN bits from iph->tos when setting ->flowi4_tos.
      This ensures that the last bit of ->flowi4_tos is cleared, so
      ip_route_output_key_hash() isn't going to restrict the scope of the
      route lookup.
      
      Use ~INET_ECN_MASK instead of IPTOS_RT_MASK, because we have no reason
      to clear the high order bits.
      
      Found by code inspection, compile tested only.
      
      Fixes: 4da3089f ("[IPSEC]: Use TOS when doing tunnel lookups")
      Signed-off-by: default avatarGuillaume Nault <gnault@redhat.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      23e7b1bf
    • Conley Lee's avatar
      net: ethernet: sun4i-emac: replace magic number with macro · 274c2240
      Conley Lee authored
      This patch remove magic numbers in sun4i-emac.c and replace with macros
      defined in sun4i-emac.h
      Signed-off-by: default avatarConley Lee <conleylee@foxmail.com>
      Tested-by: default avatarCorentin Labbe <clabbe.montjoie@gmail.com>
      Link: https://lore.kernel.org/r/tencent_71466C2135CD1780B19D7844BE3F167C940A@qq.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      274c2240
    • Matt Johnston's avatar
      mctp: test: zero out sockaddr · 284a4d94
      Matt Johnston authored
      MCTP now requires that padding bytes are zero.
      Signed-off-by: default avatarMatt Johnston <matt@codeconstruct.com.au>
      Fixes: 1e4b50f0 ("mctp: handle the struct sockaddr_mctp padding fields")
      Link: https://lore.kernel.org/r/20220110021806.2343023-1-matt@codeconstruct.com.auSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      284a4d94
  2. 11 Jan, 2022 10 commits
    • Saeed Mahameed's avatar
      Revert "net: vertexcom: default to disabled on kbuild" · 7d6019b6
      Saeed Mahameed authored
      This reverts commit 6bf950a8.
      
      To align with other vendors, NET_VENDOR configs are supposed to be ON by
      default, while their drivers should default to OFF.
      Suggested-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
      Link: https://lore.kernel.org/r/20220110205246.66298-1-saeed@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7d6019b6
    • Pablo Neira Ayuso's avatar
      netfilter: nf_tables: typo NULL check in _clone() function · 51edb2ff
      Pablo Neira Ayuso authored
      This should check for NULL in case memory allocation fails.
      Reported-by: default avatarJulian Wiedmann <jwiedmann.dev@gmail.com>
      Fixes: 3b9e2ea6 ("netfilter: nft_limit: move stateful fields out of expression data")
      Fixes: 37f319f3 ("netfilter: nft_connlimit: move stateful fields out of expression data")
      Fixes: 33a24de3 ("netfilter: nft_last: move stateful fields out of expression data")
      Fixes: ed0a0c60 ("netfilter: nft_quota: move stateful fields out of expression data")
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      Link: https://lore.kernel.org/r/20220110194817.53481-1-pablo@netfilter.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      51edb2ff
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fe8152b3
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "These update the handling of software nodes and graph properties, and
        the MAINTAINERS entry for the former.
      
        Specifics:
      
         - Remove device_add_properties() which does not work correctly if
           software nodes holding additional device properties are shared or
           reused (Heikki Krogerus).
      
         - Fix nargs_prop property handling for software nodes (Clément
           Léger).
      
         - Update documentation of ACPI device properties (Sakari Ailus).
      
         - Update the handling of graph properties in the generic framework to
           match the DT case (Sakari Ailus).
      
         - Update software nodes entry in MAINTAINERS (Andy Shevchenko)"
      
      * tag 'devprop-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        software node: Update MAINTAINERS data base
        software node: fix wrong node passed to find nargs_prop
        device property: Drop fwnode_graph_get_remote_node()
        device property: Use fwnode_graph_for_each_endpoint() macro
        device property: Implement fwnode_graph_get_endpoint_count()
        Documentation: ACPI: Update references
        Documentation: ACPI: Fix data node reference documentation
        device property: Fix documentation for FWNODE_GRAPH_DEVICE_DISABLED
        device property: Fix fwnode_graph_devcon_match() fwnode leak
        device property: Remove device_add_properties() API
        driver core: Don't call device_remove_properties() from device_del()
        PCI: Convert to device_create_managed_software_node()
      fe8152b3
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fe2437cc
      Linus Torvalds authored
      Pull thermal control updates from Rafael Wysocki:
       "These add a new driver for Renesas RZ/G2L TSU, update a few existing
        thermal control drivers and clean up the tmon utility.
      
        Specifics:
      
         - Add new TSU driver and DT bindings for the Renesas RZ/G2L platform
           (Biju Das).
      
         - Fix missing check when calling reset_control_deassert() in the
           rz2gl thermal driver (Biju Das).
      
         - In preparation for FORTIFY_SOURCE performing compile-time and
           run-time field bounds checking for memcpy(), avoid intentionally
           writing across neighboring fields in the int340x thermal control
           driver (Kees Cook).
      
         - Fix RFIM mailbox write commands handling in the int340x thermal
           control driver (Sumeet Pawnikar).
      
         - Fix PM issue occurring in the iMX thermal control driver during
           suspend/resume by implementing PM runtime support in it (Oleksij
           Rempel).
      
         - Add 'const' annotation to thermal_cooling_ops in the Intel
           powerclamp driver (Rikard Falkeborn).
      
         - Fix missing ADC bit set in the iMX8MP thermal driver to enable the
           sensor (Paul Gerber).
      
         - Drop unused local variable definition from tmon (ran jianping)"
      
      * tag 'thermal-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal/drivers/int340x: Fix RFIM mailbox write commands
        thermal/drivers/rz2gl: Add error check for reset_control_deassert()
        thermal/drivers/imx8mm: Enable ADC when enabling monitor
        thermal/drivers: Add TSU driver for RZ/G2L
        dt-bindings: thermal: Document Renesas RZ/G2L TSU
        thermal/drivers/intel_powerclamp: Constify static thermal_cooling_device_ops
        thermal/drivers/imx: Implement runtime PM support
        thermal: tools: tmon: remove unneeded local variable
        thermal: int340x: Use struct_group() for memcpy() region
      fe2437cc
    • Linus Torvalds's avatar
      Merge tag 'pm-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b35b6d4d
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "The most signigicant change here is the addition of a new cpufreq
        'P-state' driver for AMD processors as a better replacement for the
        venerable acpi-cpufreq driver.
      
        There are also other cpufreq updates (in the core, intel_pstate, ARM
        drivers), PM core updates (mostly related to adding new macros for
        declaring PM operations which should make the lives of driver
        developers somewhat easier), and a bunch of assorted fixes and
        cleanups.
      
        Summary:
      
         - Add new P-state driver for AMD processors (Huang Rui).
      
         - Fix initialization of min and max frequency QoS requests in the
           cpufreq core (Rafael Wysocki).
      
         - Fix EPP handling on Alder Lake in intel_pstate (Srinivas
           Pandruvada).
      
         - Make intel_pstate update cpuinfo.max_freq when notified of HWP
           capabilities changes and drop a redundant function call from that
           driver (Rafael Wysocki).
      
         - Improve IRQ support in the Qcom cpufreq driver (Ard Biesheuvel,
           Stephen Boyd, Vladimir Zapolskiy).
      
         - Fix double devm_remap() in the Mediatek cpufreq driver (Hector
           Yuan).
      
         - Introduce thermal pressure helpers for cpufreq CPU cooling (Lukasz
           Luba).
      
         - Make cpufreq use default_groups in kobj_type (Greg Kroah-Hartman).
      
         - Make cpuidle use default_groups in kobj_type (Greg Kroah-Hartman).
      
         - Fix two comments in cpuidle code (Jason Wang, Yang Li).
      
         - Allow model-specific normal EPB value to be used in the intel_epb
           sysfs attribute handling code (Srinivas Pandruvada).
      
         - Simplify locking in pm_runtime_put_suppliers() (Rafael Wysocki).
      
         - Add safety net to supplier device release in the runtime PM core
           code (Rafael Wysocki).
      
         - Capture device status before disabling runtime PM for it (Rafael
           Wysocki).
      
         - Add new macros for declaring PM operations to allow drivers to
           avoid guarding them with CONFIG_PM #ifdefs or __maybe_unused and
           update some drivers to use these macros (Paul Cercueil).
      
         - Allow ACPI hardware signature to be honoured during restore from
           hibernation (David Woodhouse).
      
         - Update outdated operating performance points (OPP) documentation
           (Tang Yizhou).
      
         - Reduce log severity for informative message regarding frequency
           transition failures in devfreq (Tzung-Bi Shih).
      
         - Add DRAM frequency controller devfreq driver for Allwinner sunXi
           SoCs (Samuel Holland).
      
         - Add missing COMMON_CLK dependency to sun8i devfreq driver (Arnd
           Bergmann).
      
         - Add support for new layout of Psys PowerLimit Register on SPR to
           the Intel RAPL power capping driver (Zhang Rui).
      
         - Fix typo in a comment in idle_inject.c (Jason Wang).
      
         - Remove unused function definition from the DTPM (Dynamit Thermal
           Power Management) power capping framework (Daniel Lezcano).
      
         - Reduce DTPM trace verbosity (Daniel Lezcano)"
      
      * tag 'pm-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (53 commits)
        x86, sched: Fix undefined reference to init_freq_invariance_cppc() build error
        cpufreq: amd-pstate: Fix Kconfig dependencies for AMD P-State
        cpufreq: amd-pstate: Fix struct amd_cpudata kernel-doc comment
        cpuidle: use default_groups in kobj_type
        x86: intel_epb: Allow model specific normal EPB value
        MAINTAINERS: Add AMD P-State driver maintainer entry
        Documentation: amd-pstate: Add AMD P-State driver introduction
        cpufreq: amd-pstate: Add AMD P-State performance attributes
        cpufreq: amd-pstate: Add AMD P-State frequencies attributes
        cpufreq: amd-pstate: Add boost mode support for AMD P-State
        cpufreq: amd-pstate: Add trace for AMD P-State module
        cpufreq: amd-pstate: Introduce the support for the processors with shared memory solution
        cpufreq: amd-pstate: Add fast switch function for AMD P-State
        cpufreq: amd-pstate: Introduce a new AMD P-State driver to support future processors
        ACPI: CPPC: Add CPPC enable register function
        ACPI: CPPC: Check present CPUs for determining _CPC is valid
        ACPI: CPPC: Implement support for SystemIO registers
        x86/msr: Add AMD CPPC MSR definitions
        x86/cpufeatures: Add AMD Collaborative Processor Performance Control feature flag
        cpufreq: use default_groups in kobj_type
        ...
      b35b6d4d
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · bca21755
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These are usual ACPICA code updates (although there are more of them
        than in the last few releases), a noticeable EC driver update (which
        mostly consists of cleanups, though), the device enumeration quirks
        handling rework from Hans, some updates eliminating unnecessary CPU
        cache flushing in some places (processor idle and system-wide PM code)
        and a bunch of assorted cleanups and fixes.
      
        Specifics:
      
         - Update ACPICA code in the kernel to the 20211217 upstream release
           including the following changes:
      
            - iASL/Disassembler: Additional support for NHLT table (Bob
              Moore).
            - Change a return_ACPI_STATUS (AE_BAD_PARAMETER) (Bob Moore).
            - Fix a couple of warnings under MSVC (Bob Moore).
            - iASL: Add TDEL table to both compiler/disassembler (Bob Moore).
            - iASL/NHLT table: "Specific Data" field support (Bob Moore).
            - Use original data_table_region pointer for accesses (Jessica
              Clarke).
            - Use original pointer for virtual origin tables (Jessica Clarke).
            - Macros: Remove ACPI_PHYSADDR_TO_PTR (Jessica Clarke).
            - Avoid subobject buffer overflow when validating RSDP signature
              (Jessica Clarke).
            - iASL: Add suppport for AGDI table (Ilkka Koskinen).
            - Hardware: Do not flush CPU cache when entering S4 and S5 (Kirill
              A. Shutemov).
            - Expand the ACPI_ACCESS_ definitions (Mark Langsdorf).
            - Utilities: Avoid deleting the same object twice in a row (Rafael
              Wysocki).
            - Executer: Fix REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R()
              (Rafael Wysocki).
            - Fix AEST Processor generic resource substructure data field byte
              length (Shuuichirou Ishii).
            - Fix wrong interpretation of PCC address (Sudeep Holla).
            - Add support for PCC Opregion special context data (Sudeep
              Holla).
      
         - Implement OperationRegion handler for PCC Type 3 subtype (Sudeep
           Holla).
      
         - Introduce acpi_fetch_acpi_dev() as a replacement for
           acpi_bus_get_device() and use it in the ACPI subsystem (Rafael
           Wysocki).
      
         - Avoid using _CID for device enumaration if _HID is missing or
           invalid (Rafael Wysocki).
      
         - Rework quirk handling during ACPI device enumeration and add some
           new quirks for known broken platforms (Hans de Goede).
      
         - Avoid unnecessary or redundant CPU cache flushing during system PM
           transitions (Kirill A. Shutemov).
      
         - Add PM debug messages related to power resources (Rafael Wysocki).
      
         - Fix kernel-doc comment in the PCI host bridge ACPI driver (Yang
           Li).
      
         - Rework flushing of EC work while suspended to idle and clean up the
           handling of events in the ACPI EC driver (Rafael Wysocki).
      
         - Prohibit ec_sys module parameter write_support from being used when
           the system is locked down (Hans de Goede).
      
         - Make the ACPI processor thermal driver use cpufreq_cpu_get() to
           check for presence of cpufreq policy (Manfred Spraul).
      
         - Avoid unnecessary CPU cache flushing in the ACPI processor idle
           driver (Kirill A. Shutemov).
      
         - Replace kernel.h with the necessary inclusions in the ACPI
           processor driver (Andy Shevchenko).
      
         - Use swap() instead of open coding it in the ACPI processor idle
           driver (Guo Zhengkui).
      
         - Fix the handling of defective LPAT in the ACPI xpower PMIC driver
           and clean up some definitions of PMIC data structures (Hans de
           Goede).
      
         - Fix outdated comment in the ACPI DPTF driver (Sumeet Pawnikar).
      
         - Add AEST to the list of known ACPI table signatures (Shuuichirou
           Ishii).
      
         - Make ACPI NUMA code take hotpluggable memblocks into account when
           CONFIG_MEMORY_HOTPLUG is not set (Vitaly Kuznetsov).
      
         - Use default_groups in kobj_type in the ACPI sysfs code (Greg
           Kroah-Hartman).
      
         - Rearrange _CPC structure documentation (Andy Shevchenko).
      
         - Drop an always true check from the ACPI thermal driver (Adam
           Borowski).
      
         - Add new "not charging" quirk for Lenovo ThinkPads to the ACPI
           battery driver (Thomas Weißschuh)"
      
      * tag 'acpi-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (64 commits)
        ACPI: PCC: Implement OperationRegion handler for the PCC Type 3 subtype
        ACPI / x86: Skip AC and battery devices on x86 Android tablets with broken DSDTs
        ACPI / x86: Introduce an acpi_quirk_skip_acpi_ac_and_battery() helper
        ACPI: processor: thermal: avoid cpufreq_get_policy()
        serdev: Do not instantiate serdevs on boards with known bogus DSDT entries
        i2c: acpi: Do not instantiate I2C-clients on boards with known bogus DSDT entries
        ACPI / x86: Add acpi_quirk_skip_[i2c_client|serdev]_enumeration() helpers
        ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes
        PCI/ACPI: Fix acpi_pci_osc_control_set() kernel-doc comment
        ACPI: battery: Add the ThinkPad "Not Charging" quirk
        ACPI: sysfs: use default_groups in kobj_type
        ACPICA: Update version to 20211217
        ACPICA: iASL/NHLT table: "Specific Data" field support
        ACPICA: iASL: Add suppport for AGDI table
        ACPICA: iASL: Add TDEL table to both compiler/disassembler
        ACPICA: Fixed a couple of warnings under MSVC
        ACPICA: Change a return_ACPI_STATUS (AE_BAD_PARAMETER)
        ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5
        ACPICA: Add support for PCC Opregion special context data
        ACPICA: Fix wrong interpretation of PCC address
        ...
      bca21755
    • Linus Torvalds's avatar
      netfilter: nf_tables: don't use 'data_size' uninitialized · 63045bfd
      Linus Torvalds authored
      Commit 2c865a8a ("netfilter: nf_tables: add rule blob layout") never
      initialized the new 'data_size' variable.
      
      I'm not sure how it ever worked, but it might have worked almost by
      accident - gcc seems to occasionally miss these kinds of 'variable used
      uninitialized' situations, but I've seen it do so because it ended up
      zero-initializing them due to some other simplification.
      
      But clang is very unhappy about it all, and correctly reports
      
          net/netfilter/nf_tables_api.c:8278:4: error: variable 'data_size' is uninitialized when used here [-Werror,-Wuninitialized]
                                  data_size += sizeof(*prule) + rule->dlen;
                                  ^~~~~~~~~
          net/netfilter/nf_tables_api.c:8263:30: note: initialize the variable 'data_size' to silence this warning
                  unsigned int size, data_size;
                                              ^
                                               = 0
          1 error generated.
      
      and this fix just initializes 'data_size' to zero before the loop.
      
      Fixes: 2c865a8a ("netfilter: nf_tables: add rule blob layout")
      Cc: Pablo Neira Ayuso <pablo@netfilter.org>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      63045bfd
    • Linus Torvalds's avatar
      Merge tag '5.17-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 8efd0d9c
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core
        ----
      
         - Defer freeing TCP skbs to the BH handler, whenever possible, or at
           least perform the freeing outside of the socket lock section to
           decrease cross-CPU allocator work and improve latency.
      
         - Add netdevice refcount tracking to locate sources of netdevice and
           net namespace refcount leaks.
      
         - Make Tx watchdog less intrusive - avoid pausing Tx and restarting
           all queues from a single CPU removing latency spikes.
      
         - Various small optimizations throughout the stack from Eric Dumazet.
      
         - Make netdev->dev_addr[] constant, force modifications to go via
           appropriate helpers to allow us to keep addresses in ordered data
           structures.
      
         - Replace unix_table_lock with per-hash locks, improving performance
           of bind() calls.
      
         - Extend skb drop tracepoint with a drop reason.
      
         - Allow SO_MARK and SO_PRIORITY setsockopt under CAP_NET_RAW.
      
        BPF
        ---
      
         - New helpers:
            - bpf_find_vma(), find and inspect VMAs for profiling use cases
            - bpf_loop(), runtime-bounded loop helper trading some execution
              time for much faster (if at all converging) verification
            - bpf_strncmp(), improve performance, avoid compiler flakiness
            - bpf_get_func_arg(), bpf_get_func_ret(), bpf_get_func_arg_cnt()
              for tracing programs, all inlined by the verifier
      
         - Support BPF relocations (CO-RE) in the kernel loader.
      
         - Further the support for BTF_TYPE_TAG annotations.
      
         - Allow access to local storage in sleepable helpers.
      
         - Convert verifier argument types to a composable form with different
           attributes which can be shared across types (ro, maybe-null).
      
         - Prepare libbpf for upcoming v1.0 release by cleaning up APIs,
           creating new, extensible ones where missing and deprecating those
           to be removed.
      
        Protocols
        ---------
      
         - WiFi (mac80211/cfg80211):
            - notify user space about long "come back in N" AP responses,
              allow it to react to such temporary rejections
            - allow non-standard VHT MCS 10/11 rates
            - use coarse time in airtime fairness code to save CPU cycles
      
         - Bluetooth:
            - rework of HCI command execution serialization to use a common
              queue and work struct, and improve handling errors reported in
              the middle of a batch of commands
            - rework HCI event handling to use skb_pull_data, avoiding packet
              parsing pitfalls
            - support AOSP Bluetooth Quality Report
      
         - SMC:
            - support net namespaces, following the RDMA model
            - improve connection establishment latency by pre-clearing buffers
            - introduce TCP ULP for automatic redirection to SMC
      
         - Multi-Path TCP:
            - support ioctls: SIOCINQ, OUTQ, and OUTQNSD
            - support socket options: IP_TOS, IP_FREEBIND, IP_TRANSPARENT,
              IPV6_FREEBIND, and IPV6_TRANSPARENT, TCP_CORK and TCP_NODELAY
            - support cmsgs: TCP_INQ
            - improvements in the data scheduler (assigning data to subflows)
            - support fastclose option (quick shutdown of the full MPTCP
              connection, similar to TCP RST in regular TCP)
      
         - MCTP (Management Component Transport) over serial, as defined by
           DMTF spec DSP0253 - "MCTP Serial Transport Binding".
      
        Driver API
        ----------
      
         - Support timestamping on bond interfaces in active/passive mode.
      
         - Introduce generic phylink link mode validation for drivers which
           don't have any quirks and where MAC capability bits fully express
           what's supported. Allow PCS layer to participate in the validation.
           Convert a number of drivers.
      
         - Add support to set/get size of buffers on the Rx rings and size of
           the tx copybreak buffer via ethtool.
      
         - Support offloading TC actions as first-class citizens rather than
           only as attributes of filters, improve sharing and device resource
           utilization.
      
         - WiFi (mac80211/cfg80211):
            - support forwarding offload (ndo_fill_forward_path)
            - support for background radar detection hardware
            - SA Query Procedures offload on the AP side
      
        New hardware / drivers
        ----------------------
      
         - tsnep - FPGA based TSN endpoint Ethernet MAC used in PLCs with
           real-time requirements for isochronous communication with protocols
           like OPC UA Pub/Sub.
      
         - Qualcomm BAM-DMUX WWAN - driver for data channels of modems
           integrated into many older Qualcomm SoCs, e.g. MSM8916 or MSM8974
           (qcom_bam_dmux).
      
         - Microchip LAN966x multi-port Gigabit AVB/TSN Ethernet Switch driver
           with support for bridging, VLANs and multicast forwarding
           (lan966x).
      
         - iwlmei driver for co-operating between Intel's WiFi driver and
           Intel's Active Management Technology (AMT) devices.
      
         - mse102x - Vertexcom MSE102x Homeplug GreenPHY chips
      
         - Bluetooth:
            - MediaTek MT7921 SDIO devices
            - Foxconn MT7922A
            - Realtek RTL8852AE
      
        Drivers
        -------
      
         - Significantly improve performance in the datapaths of: lan78xx,
           ax88179_178a, lantiq_xrx200, bnxt.
      
         - Intel Ethernet NICs:
            - igb: support PTP/time PEROUT and EXTTS SDP functions on
              82580/i354/i350 adapters
            - ixgbevf: new PF -> VF mailbox API which avoids the risk of
              mailbox corruption with ESXi
            - iavf: support configuration of VLAN features of finer
              granularity, stacked tags and filtering
            - ice: PTP support for new E822 devices with sub-ns precision
            - ice: support firmware activation without reboot
      
         - Mellanox Ethernet NICs (mlx5):
            - expose control over IRQ coalescing mode (CQE vs EQE) via ethtool
            - support TC forwarding when tunnel encap and decap happen between
              two ports of the same NIC
            - dynamically size and allow disabling various features to save
              resources for running in embedded / SmartNIC scenarios
      
         - Broadcom Ethernet NICs (bnxt):
            - use page frag allocator to improve Rx performance
            - expose control over IRQ coalescing mode (CQE vs EQE) via ethtool
      
         - Other Ethernet NICs:
            - amd-xgbe: add Ryzen 6000 (Yellow Carp) Ethernet support
      
         - Microsoft cloud/virtual NIC (mana):
            - add XDP support (PASS, DROP, TX)
      
         - Mellanox Ethernet switches (mlxsw):
            - initial support for Spectrum-4 ASICs
            - VxLAN with IPv6 underlay
      
         - Marvell Ethernet switches (prestera):
            - support flower flow templates
            - add basic IP forwarding support
      
         - NXP embedded Ethernet switches (ocelot & felix):
            - support Per-Stream Filtering and Policing (PSFP)
            - enable cut-through forwarding between ports by default
            - support FDMA to improve packet Rx/Tx to CPU
      
         - Other embedded switches:
            - hellcreek: improve trapping management (STP and PTP) packets
            - qca8k: support link aggregation and port mirroring
      
         - Qualcomm 802.11ax WiFi (ath11k):
            - qca6390, wcn6855: enable 802.11 power save mode in station mode
            - BSS color change support
            - WCN6855 hw2.1 support
            - 11d scan offload support
            - scan MAC address randomization support
            - full monitor mode, only supported on QCN9074
            - qca6390/wcn6855: report signal and tx bitrate
            - qca6390: rfkill support
            - qca6390/wcn6855: regdb.bin support
      
         - Intel WiFi (iwlwifi):
            - support SAR GEO Offset Mapping (SGOM) and Time-Aware-SAR (TAS)
              in cooperation with the BIOS
            - support for Optimized Connectivity Experience (OCE) scan
            - support firmware API version 68
            - lots of preparatory work for the upcoming Bz device family
      
         - MediaTek WiFi (mt76):
            - Specific Absorption Rate (SAR) support
            - mt7921: 160 MHz channel support
      
         - RealTek WiFi (rtw88):
            - Specific Absorption Rate (SAR) support
            - scan offload
      
         - Other WiFi NICs
            - ath10k: support fetching (pre-)calibration data from nvmem
            - brcmfmac: configure keep-alive packet on suspend
            - wcn36xx: beacon filter support"
      
      * tag '5.17-net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2048 commits)
        tcp: tcp_send_challenge_ack delete useless param `skb`
        net/qla3xxx: Remove useless DMA-32 fallback configuration
        rocker: Remove useless DMA-32 fallback configuration
        hinic: Remove useless DMA-32 fallback configuration
        lan743x: Remove useless DMA-32 fallback configuration
        net: enetc: Remove useless DMA-32 fallback configuration
        cxgb4vf: Remove useless DMA-32 fallback configuration
        cxgb4: Remove useless DMA-32 fallback configuration
        cxgb3: Remove useless DMA-32 fallback configuration
        bnx2x: Remove useless DMA-32 fallback configuration
        et131x: Remove useless DMA-32 fallback configuration
        be2net: Remove useless DMA-32 fallback configuration
        vmxnet3: Remove useless DMA-32 fallback configuration
        bna: Simplify DMA setting
        net: alteon: Simplify DMA setting
        myri10ge: Simplify DMA setting
        qlcnic: Simplify DMA setting
        net: allwinner: Fix print format
        page_pool: remove spinlock in page_pool_refill_alloc_cache()
        amt: fix wrong return type of amt_send_membership_update()
        ...
      8efd0d9c
    • Linus Torvalds's avatar
      Merge tag 'media/v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 9bcbf894
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - New sensor driver: ov5693
      
       - A new driver for STM32 Chrom-ART Accelerator
      
       - Added V4L2 core helper functions for VP9 codec
      
       - Hantro driver has gained support for VP9 codecs
      
       - Added support for Maxim MAX96712 Quad GMSL2 Deserializer
      
       - The staging atomisp driver has gained lots of improvements, fixes and
         cleanups. It now works with userptr
      
       - Lots of random driver improvements as usual
      
      * tag 'media/v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (397 commits)
        media: ipu3-cio2: Add support for instantiating i2c-clients for VCMs
        media: ipu3-cio2: Call cio2_bridge_init() before anything else
        media: ipu3-cio2: Defer probing until the PMIC is fully setup
        media: hantro: Add support for Allwinner H6
        media: dt-bindings: allwinner: document H6 Hantro G2 binding
        media: hantro: Convert imx8m_vpu_g2_irq to helper
        media: hantro: move postproc enablement for old cores
        media: hantro: vp9: add support for legacy register set
        media: hantro: vp9: use double buffering if needed
        media: hantro: add support for reset lines
        media: hantro: Fix probe func error path
        media: i2c: hi846: use pm_runtime_force_suspend/resume for system suspend
        media: i2c: hi846: check return value of regulator_bulk_disable()
        media: hi556: Support device probe in non-zero ACPI D state
        media: ov5675: Support device probe in non-zero ACPI D state
        media: imx208: Support device probe in non-zero ACPI D state
        media: ov2740: support device probe in non-zero ACPI D state
        media: ov5670: Support device probe in non-zero ACPI D state
        media: ov8856: support device probe in non-zero ACPI D state
        media: ov8865: Disable only enabled regulators on error path
        ...
      9bcbf894
    • Linus Torvalds's avatar
      Revert "drm/amd/display: Fix for otg synchronization logic" · 75b950ef
      Linus Torvalds authored
      This reverts commit a896f870.
      
      It causes odd flickering on my Radeon RX580 (PCI ID 1002:67df rev e7,
      subsystem ID 1da2:e353).
      
      Bisected right to this commit, and reverting it fixes things.
      
      Link: https://lore.kernel.org/all/CAHk-=wg9hDde_L3bK9tAfdJ4N=TJJ+SjO3ZDONqH5=bVoy_Mzg@mail.gmail.com/
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Harry Wentland <harry.wentland@amd.com>
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Christian Koenig <christian.koenig@amd.com>
      Cc: Jun Lei <Jun.Lei@amd.com>
      Cc: Mustapha Ghaddar <mustapha.ghaddar@amd.com>
      Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
      Cc: meenakshikumar somasundaram <meenakshikumar.somasundaram@amd.com>
      Cc: Daniel Wheeler <daniel.wheeler@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      75b950ef
  3. 10 Jan, 2022 8 commits
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-01-07' of git://anongit.freedesktop.org/drm/drm · 8d0749b4
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Highlights are support for privacy screens found in new laptops, a
        bunch of nomodeset refactoring, and i915 enables ADL-P systems by
        default, while starting to add RPL-S support.
      
        vmwgfx adds GEM and support for OpenGL 4.3 features in userspace.
      
        Lots of internal refactorings around dma reservations, and lots of
        driver refactoring as well.
      
        Summary:
      
        core:
         - add privacy screen support
         - move nomodeset option into drm subsystem
         - clean up nomodeset handling in drivers
         - make drm_irq.c legacy
         - fix stack_depot name conflicts
         - remove DMA_BUF_SET_NAME ioctl restrictions
         - sysfs: send hotplug event
         - replace several DRM_* logging macros with drm_*
         - move hashtable to legacy code
         - add error return from gem_create_object
         - cma-helper: improve interfaces, drop CONFIG_DRM_KMS_CMA_HELPER
         - kernel.h related include cleanups
         - support XRGB2101010 source buffers
      
        ttm:
         - don't include drm hashtable
         - stop pruning fences after wait
         - documentation updates
      
        dma-buf:
         - add dma_resv selftest
         - add debugfs helpers
         - remove dma_resv_get_excl_unlocked
         - documentation
         - make fences mandatory in dma_resv_add_excl_fence
      
        dp:
         - add link training delay helpers
      
        gem:
         - link shmem/cma helpers into separate modules
         - use dma_resv iteratior
         - import dma-buf namespace into gem helper modules
      
        scheduler:
         - fence grab fix
         - lockdep fixes
      
        bridge:
         - switch to managed MIPI DSI helpers
         - register and attach during probe fixes
         - convert to YAML in several places.
      
        panel:
         - add bunch of new panesl
      
        simpledrm:
         - support FB_DAMAGE_CLIPS
         - support virtual screen sizes
         - add Apple M1 support
      
        amdgpu:
         - enable seamless boot for DCN 3.01
         - runtime PM fixes
         - use drm_kms_helper_connector_hotplug_event
         - get all fences at once
         - use generic drm fb helpers
         - PSR/DPCD/LTTPR/DSC/PM/RAS/OLED/SRIOV fixes
         - add smart trace buffer (STB) for supported GPUs
         - display debugfs entries
         - new SMU debug option
         - Documentation update
      
        amdkfd:
         - IP discovery enumeration refactor
         - interface between driver fixes
         - SVM fixes
         - kfd uapi header to define some sysfs bitfields.
      
        i915:
         - support VESA panel backlights
         - enable ADL-P by default
         - add eDP privacy screen support
         - add Raptor Lake S (RPL-S) support
         - DG2 page table support
         - lots of GuC/HuC fw refactoring
         - refactored i915->gt interfaces
         - CD clock squashing support
         - enable 10-bit gamma support
         - update ADL-P DMC fw to v2.14
         - enable runtime PM autosuspend by default
         - ADL-P DSI support
         - per-lane DP drive settings for ICL+
         - add support for pipe C/D DMC firmware
         - Atomic gamma LUT updates
         - remove CCS FB stride restrictions on ADL-P
         - VRR platform support for display 11
         - add support for display audio codec keepalive
         - lots of display refactoring
         - fix runtime PM handling during PXP suspend
         - improved eviction performance with async TTM moves
         - async VMA unbinding improvements
         - VMA locking refactoring
         - improved error capture robustness
         - use per device iommu checks
         - drop bits stealing from i915_sw_fence function ptr
         - remove dma_resv_prune
         - add IC cache invalidation on DG2
      
        nouveau:
         - crc fixes
         - validate LUTs in atomic check
         - set HDMI AVI RGB quant to full
      
        tegra:
         - buffer objects reworks for dma-buf compat
         - NVDEC driver uAPI support
         - power management improvements
      
        etnaviv:
         - IOMMU enabled system support
         - fix > 4GB command buffer mapping
         - close a DoS vector
         - fix spurious GPU resets
      
        ast:
         - fix i2c initialization
      
        rcar-du:
         - DSI output support
      
        exynos:
         - replace legacy gpio interface
         - implement generic GEM object mmap
      
        msm:
         - dpu plane state cleanup in prep for multirect
         - dpu debugfs cleanups
         - dp support for sc7280
         - a506 support
         - removal of struct_mutex
         - remove old eDP sub-driver
      
        anx7625:
         - support MIPI DSI input
         - support HDMI audio
         - fix reading EDID
      
        lvds:
         - fix bridge DT bindings
      
        megachips:
         - probe both bridges before registering
      
        dw-hdmi:
         - allow interlace on bridge
      
        ps8640:
         - enable runtime PM
         - support aux-bus
      
        tx358768:
         - enable reference clock
         - add pulse mode support
      
        ti-sn65dsi86:
         - use regmap bulk write
         - add PWM support
      
        etnaviv:
         - get all fences at once
      
        gma500:
         - gem object cleanups
      
        kmb:
         - enable fb console
      
        radeon:
         - use dma_resv_wait_timeout
      
        rockchip:
         - add DSP hold timeout
         - suspend/resume fixes
         - PLL clock fixes
         - implement mmap in GEM object functions
         - use generic fbdev emulation
      
        sun4i:
         - use CMA helpers without vmap support
      
        vc4:
         - fix HDMI-CEC hang with display is off
         - power on HDMI controller while disabling
         - support 4K@60Hz modes
         - support 10-bit YUV 4:2:0 output
      
        vmwgfx:
         - fix leak on probe errors
         - fail probing on broken hosts
         - new placement for MOB page tables
         - hide internal BOs from userspace
         - implement GEM support
         - implement GL 4.3 support
      
        virtio:
         - overflow fixes
      
        xen:
         - implement mmap as GEM object function
      
        omapdrm:
         - fix scatterlist export
         - support virtual planes
      
        mediatek:
         - MT8192 support
         - CMDQ refinement"
      
      * tag 'drm-next-2022-01-07' of git://anongit.freedesktop.org/drm/drm: (1241 commits)
        drm/amdgpu: no DC support for headless chips
        drm/amd/display: fix dereference before NULL check
        drm/amdgpu: always reset the asic in suspend (v2)
        drm/amdgpu: put SMU into proper state on runpm suspending for BOCO capable platform
        drm/amd/display: Fix the uninitialized variable in enable_stream_features()
        drm/amdgpu: fix runpm documentation
        amdgpu/pm: Make sysfs pm attributes as read-only for VFs
        drm/amdgpu: save error count in RAS poison handler
        drm/amdgpu: drop redundant semicolon
        drm/amd/display: get and restore link res map
        drm/amd/display: support dynamic HPO DP link encoder allocation
        drm/amd/display: access hpo dp link encoder only through link resource
        drm/amd/display: populate link res in both detection and validation
        drm/amd/display: define link res and make it accessible to all link interfaces
        drm/amd/display: 3.2.167
        drm/amd/display: [FW Promotion] Release 0.0.98
        drm/amd/display: Undo ODM combine
        drm/amd/display: Add reg defs for DCN303
        drm/amd/display: Changed pipe split policy to allow for multi-display pipe split
        drm/amd/display: Set optimize_pwr_state for DCN31
        ...
      8d0749b4
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-kunit-5.17-rc1' of... · bf4eebf8
      Linus Torvalds authored
      Merge tag 'linux-kselftest-kunit-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull KUnit updates from Shuah Khan:
       "This consists of several fixes and enhancements. A few highlights:
      
         - Option --kconfig_add option allows easily tweaking kunitconfigs
      
         - make build subcommand can reconfigure if needed
      
         - doesn't error on tests without test plans
      
         - doesn't crash if no parameters are generated
      
         - defaults --jobs to # of cups
      
         - reports test parameter results as (K)TAP subtests"
      
      * tag 'linux-kselftest-kunit-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        kunit: tool: Default --jobs to number of CPUs
        kunit: tool: fix newly introduced typechecker errors
        kunit: tool: make `build` subcommand also reconfigure if needed
        kunit: tool: delete kunit_parser.TestResult type
        kunit: tool: use dataclass instead of collections.namedtuple
        kunit: tool: suggest using decode_stacktrace.sh on kernel crash
        kunit: tool: reconfigure when the used kunitconfig changes
        kunit: tool: revamp message for invalid kunitconfig
        kunit: tool: add --kconfig_add to allow easily tweaking kunitconfigs
        kunit: tool: move Kconfig read_from_file/parse_from_string to package-level
        kunit: tool: print parsed test results fully incrementally
        kunit: Report test parameter results as (K)TAP subtests
        kunit: Don't crash if no parameters are generated
        kunit: tool: Report an error if any test has no subtests
        kunit: tool: Do not error on tests without test plans
        kunit: add run_checks.py script to validate kunit changes
        Documentation: kunit: remove claims that kunit is a mocking framework
        kunit: tool: fix --json output for skipped tests
      bf4eebf8
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-next-5.17-rc1' of... · 4369b3ce
      Linus Torvalds authored
      Merge tag 'linux-kselftest-next-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest update from Shuah Khan:
       "Fixes to build errors, false negatives, and several code cleanups,
        including the ARRAY_SIZE cleanup that removes 25+ duplicates
        ARRAY_SIZE defines from individual tests"
      
      * tag 'linux-kselftest-next-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/vm: remove ARRAY_SIZE define from individual tests
        selftests/timens: remove ARRAY_SIZE define from individual tests
        selftests/sparc64: remove ARRAY_SIZE define from adi-test
        selftests/seccomp: remove ARRAY_SIZE define from seccomp_benchmark
        selftests/rseq: remove ARRAY_SIZE define from individual tests
        selftests/net: remove ARRAY_SIZE define from individual tests
        selftests/landlock: remove ARRAY_SIZE define from common.h
        selftests/ir: remove ARRAY_SIZE define from ir_loopback.c
        selftests/core: remove ARRAY_SIZE define from close_range_test.c
        selftests/cgroup: remove ARRAY_SIZE define from cgroup_util.h
        selftests/arm64: remove ARRAY_SIZE define from vec-syscfg.c
        tools: fix ARRAY_SIZE defines in tools and selftests hdrs
        selftests: cgroup: build error multiple outpt files
        selftests/move_mount_set_group remove unneeded conversion to bool
        selftests/mount: remove unneeded conversion to bool
        selftests: harness: avoid false negatives if test has no ASSERTs
        selftests/ftrace: make kprobe profile testcase description unique
        selftests: clone3: clone3: add case CLONE3_ARGS_NO_TEST
        selftests: timers: Remove unneeded semicolon
        kselftests: timers:Remove unneeded semicolon
      4369b3ce
    • Linus Torvalds's avatar
      Merge tag 'slab-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab · ca1a46d6
      Linus Torvalds authored
      Pull slab updates from Vlastimil Babka:
      
       - Separate struct slab from struct page - an offshot of the page folio
         work.
      
         Struct page fields used by slab allocators are moved from struct page
         to a new struct slab, that uses the same physical storage. Similar to
         struct folio, it always is a head page. This brings better type
         safety, separation of large kmalloc allocations from true slabs, and
         cleanup of related objcg code.
      
       - A SLAB_MERGE_DEFAULT config optimization.
      
      * tag 'slab-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab: (33 commits)
        mm/slob: Remove unnecessary page_mapcount_reset() function call
        bootmem: Use page->index instead of page->freelist
        zsmalloc: Stop using slab fields in struct page
        mm/slub: Define struct slab fields for CONFIG_SLUB_CPU_PARTIAL only when enabled
        mm/slub: Simplify struct slab slabs field definition
        mm/sl*b: Differentiate struct slab fields by sl*b implementations
        mm/kfence: Convert kfence_guarded_alloc() to struct slab
        mm/kasan: Convert to struct folio and struct slab
        mm/slob: Convert SLOB to use struct slab and struct folio
        mm/memcg: Convert slab objcgs from struct page to struct slab
        mm: Convert struct page to struct slab in functions used by other subsystems
        mm/slab: Finish struct page to struct slab conversion
        mm/slab: Convert most struct page to struct slab by spatch
        mm/slab: Convert kmem_getpages() and kmem_freepages() to struct slab
        mm/slub: Finish struct page to struct slab conversion
        mm/slub: Convert most struct page to struct slab by spatch
        mm/slub: Convert pfmemalloc_match() to take a struct slab
        mm/slub: Convert __free_slab() to use struct slab
        mm/slub: Convert alloc_slab_page() to return a struct slab
        mm/slub: Convert print_page_info() to print_slab_info()
        ...
      ca1a46d6
    • Linus Torvalds's avatar
      Merge branch 'random-5.17-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · d93aebbd
      Linus Torvalds authored
      Pull random number generator updates from Jason Donenfeld:
       "These a bit more numerous than usual for the RNG, due to folks
        resubmitting patches that had been pending prior and generally renewed
        interest.
      
        There are a few categories of patches in here:
      
         1) Dominik Brodowski and I traded a series back and forth for a some
            weeks that fixed numerous issues related to seeds being provided
            at extremely early boot by the firmware, before other parts of the
            kernel or of the RNG have been initialized, both fixing some
            crashes and addressing correctness around early boot randomness.
            One of these is marked for stable.
      
         2) I replaced the RNG's usage of SHA-1 with BLAKE2s in the entropy
            extractor, and made the construction a bit safer and more
            standard. This was sort of a long overdue low hanging fruit, as we
            were supposed to have phased out SHA-1 usage quite some time ago
            (even if all we needed here was non-invertibility). Along the way
            it also made extraction 131% faster. This required a bit of
            Kconfig and symbol plumbing to make things work well with the
            crypto libraries, which is one of the reasons why I'm sending you
            this pull early in the cycle.
      
         3) I got rid of a truly superfluous call to RDRAND in the hot path,
            which resulted in a whopping 370% increase in performance.
      
         4) Sebastian Andrzej Siewior sent some patches regarding PREEMPT_RT,
            the full series of which wasn't ready yet, but the first two
            preparatory cleanups were good on their own. One of them touches
            files in kernel/irq/, which is the other reason why I'm sending
            you this pull early in the cycle.
      
         5) Other assorted correctness fixes from Eric Biggers, Jann Horn,
            Mark Brown, Dominik Brodowski, and myself"
      
      * 'random-5.17-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        random: don't reset crng_init_cnt on urandom_read()
        random: avoid superfluous call to RDRAND in CRNG extraction
        random: early initialization of ChaCha constants
        random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
        random: harmonize "crng init done" messages
        random: mix bootloader randomness into pool
        random: do not throw away excess input to crng_fast_load
        random: do not re-init if crng_reseed completes before primary init
        random: fix crash on multiple early calls to add_bootloader_randomness()
        random: do not sign extend bytes for rotation when mixing
        random: use BLAKE2s instead of SHA1 in extraction
        lib/crypto: blake2s: include as built-in
        random: fix data race on crng init time
        random: fix data race on crng_node_pool
        irq: remove unused flags argument from __handle_irq_event_percpu()
        random: remove unused irq_flags argument from add_interrupt_randomness()
        random: document add_hwgenerator_randomness() with other input functions
        MAINTAINERS: add git tree for random.c
      d93aebbd
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 9d3a1e0a
      Linus Torvalds authored
      Pull seccomp updates from Kees Cook:
       "The core seccomp code hasn't changed for this cycle, but the selftests
        were improved while helping to debug the recent signal handling
        refactoring work Eric did.
      
        Summary:
      
         - Improve seccomp selftests in support of signal handler refactoring
           (Kees Cook)"
      
      * tag 'seccomp-v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        selftests/seccomp: Report event mismatches more clearly
        selftests/seccomp: Stop USER_NOTIF test if kcmp() fails
      9d3a1e0a
    • Linus Torvalds's avatar
      Merge tag 'pstore-v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 404dbad3
      Linus Torvalds authored
      Pull pstore update from Kees Cook:
      
       - Add boot param for early ftrace recording in pstore (Uwe
         Kleine-König)
      
      * tag 'pstore-v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore/ftrace: Allow immediate recording
      404dbad3
    • Linus Torvalds's avatar
      Merge tag 'edac_updates_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · ff8be964
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - Add support for version 3 of the Synopsys DDR controller to
         synopsys_edac
      
       - Add support for DRR5 and new models 0x10-0x1f and 0x50-0x5f of AMD
         family 0x19 CPUs to amd64_edac
      
       - The usual set of fixes and cleanups
      
      * tag 'edac_updates_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC/amd64: Add support for family 19h, models 50h-5fh
        EDAC/sb_edac: Remove redundant initialization of variable rc
        RAS/CEC: Remove a repeated 'an' in a comment
        EDAC/amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh
        EDAC: Add RDDR5 and LRDDR5 memory types
        EDAC/sifive: Fix non-kernel-doc comment
        dt-bindings: memory: Add entry for version 3.80a
        EDAC/synopsys: Enable the driver on Intel's N5X platform
        EDAC/synopsys: Add support for version 3 of the Synopsys EDAC DDR
        EDAC/synopsys: Use the quirk for version instead of ddr version
      ff8be964