1. 02 Sep, 2021 11 commits
    • Rafał Miłecki's avatar
      net: dsa: b53: Fix calculating number of switch ports · cdb067d3
      Rafał Miłecki authored
      It isn't true that CPU port is always the last one. Switches BCM5301x
      have 9 ports (port 6 being inactive) and they use port 5 as CPU by
      default (depending on design some other may be CPU ports too).
      
      A more reliable way of determining number of ports is to check for the
      last set bit in the "enabled_ports" bitfield.
      
      This fixes b53 internal state, it will allow providing accurate info to
      the DSA and is required to fix BCM5301x support.
      
      Fixes: 967dd82f ("net: dsa: b53: Add support for Broadcom RoboSwitch")
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cdb067d3
    • Daniele Palmas's avatar
      net: usb: cdc_mbim: avoid altsetting toggling for Telit LN920 · aabbdc67
      Daniele Palmas authored
      Add quirk CDC_MBIM_FLAG_AVOID_ALTSETTING_TOGGLE for Telit LN920
      0x1061 composition in order to avoid bind error.
      Signed-off-by: default avatarDaniele Palmas <dnlplm@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aabbdc67
    • Ziyang Xuan's avatar
      net: hso: add failure handler for add_net_device · ecdc28de
      Ziyang Xuan authored
      If the network devices connected to the system beyond
      HSO_MAX_NET_DEVICES. add_net_device() in hso_create_net_device()
      will be failed for the network_table is full. It will lead to
      business failure which rely on network_table, for example,
      hso_suspend() and hso_resume(). It will also lead to memory leak
      because resource release process can not search the hso_device
      object from network_table in hso_free_interface().
      
      Add failure handler for add_net_device() in hso_create_net_device()
      to solve the above problems.
      
      Fixes: 72dc1c09 ("HSO: add option hso driver")
      Signed-off-by: default avatarZiyang Xuan <william.xuanziyang@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ecdc28de
    • Tetsuo Handa's avatar
      flow: fix object-size-mismatch warning in flowi{4,6}_to_flowi_common() · b9edbfe1
      Tetsuo Handa authored
      Commit 3df98d79 ("lsm,selinux: pass flowi_common instead of flowi
      to the LSM hooks") introduced flowi{4,6}_to_flowi_common() functions which
      cause UBSAN warning when building with LLVM 11.0.1 on Ubuntu 21.04.
      
       ================================================================================
       UBSAN: object-size-mismatch in ./include/net/flow.h:197:33
       member access within address ffffc9000109fbd8 with insufficient space
       for an object of type 'struct flowi'
       CPU: 2 PID: 7410 Comm: systemd-resolve Not tainted 5.14.0 #51
       Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 02/27/2020
       Call Trace:
        dump_stack_lvl+0x103/0x171
        ubsan_type_mismatch_common+0x1de/0x390
        __ubsan_handle_type_mismatch_v1+0x41/0x50
        udp_sendmsg+0xda2/0x1300
        ? ip_skb_dst_mtu+0x1f0/0x1f0
        ? sock_rps_record_flow+0xe/0x200
        ? inet_send_prepare+0x2d/0x90
        sock_sendmsg+0x49/0x80
        ____sys_sendmsg+0x269/0x370
        __sys_sendmsg+0x15e/0x1d0
        ? syscall_enter_from_user_mode+0xf0/0x1b0
        do_syscall_64+0x3d/0xb0
        entry_SYSCALL_64_after_hwframe+0x44/0xae
       RIP: 0033:0x7f7081a50497
       Code: 0c 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10
       RSP: 002b:00007ffc153870f8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
       RAX: ffffffffffffffda RBX: 000000000000000c RCX: 00007f7081a50497
       RDX: 0000000000000000 RSI: 00007ffc15387140 RDI: 000000000000000c
       RBP: 00007ffc15387140 R08: 0000563f29a5e4fc R09: 000000000000cd28
       R10: 0000563f29a68a30 R11: 0000000000000246 R12: 000000000000000c
       R13: 0000000000000001 R14: 0000563f29a68a30 R15: 0000563f29a5e50c
       ================================================================================
      
      I don't think we need to call flowi{4,6}_to_flowi() from these functions
      because the first member of "struct flowi4" and "struct flowi6" is
      
        struct flowi_common __fl_common;
      
      while the first member of "struct flowi" is
      
        union {
          struct flowi_common __fl_common;
          struct flowi4       ip4;
          struct flowi6       ip6;
          struct flowidn      dn;
        } u;
      
      which should point to the same address without access to "struct flowi".
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b9edbfe1
    • Ryoga Saito's avatar
      Set fc_nlinfo in nh_create_ipv4, nh_create_ipv6 · 9aca491e
      Ryoga Saito authored
      This patch fixes kernel NULL pointer dereference when creating nexthop
      which is bound with SRv6 decapsulation. In the creation of nexthop,
      __seg6_end_dt_vrf_build is called. __seg6_end_dt_vrf_build expects
      fc_lninfo in fib6_config is set correctly, but it isn't set in
      nh_create_ipv6, which causes kernel crash.
      
      Here is steps to reproduce kernel crash:
      
      1. modprobe vrf
      2. ip -6 nexthop add encap seg6local action End.DT4 vrftable 1 dev eth0
      
      We got the following message:
      
      [  901.370336] BUG: kernel NULL pointer dereference, address: 0000000000000ba0
      [  901.371658] #PF: supervisor read access in kernel mode
      [  901.372672] #PF: error_code(0x0000) - not-present page
      [  901.373672] PGD 0 P4D 0
      [  901.374248] Oops: 0000 [#1] SMP PTI
      [  901.374944] CPU: 0 PID: 8593 Comm: ip Not tainted 5.14-051400-generic #202108310811-Ubuntu
      [  901.376404] Hardware name: Red Hat KVM, BIOS 1.11.1-4.module_el8.2.0+320+13f867d7 04/01/2014
      [  901.377907] RIP: 0010:vrf_ifindex_lookup_by_table_id+0x19/0x90 [vrf]
      [  901.379182] Code: c1 e9 72 ff ff ff e8 96 49 01 c2 66 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 41 56 41 55 41 89 f5 41 54 53 8b 05 47 4c 00 00 <48> 8b 97 a0 0b 00 00 48 8b 1c c2 e8 57 27 53 c1 4c 8d a3 88 00 00
      [  901.382652] RSP: 0018:ffffbf2d02043590 EFLAGS: 00010282
      [  901.383746] RAX: 000000000000000b RBX: ffff990808255e70 RCX: ffffbf2d02043aa8
      [  901.385436] RDX: 0000000000000001 RSI: 0000000000000001 RDI: 0000000000000000
      [  901.386924] RBP: ffffbf2d020435b0 R08: 00000000000000c0 R09: ffff990808255e40
      [  901.388537] R10: ffffffff83b08c90 R11: 0000000000000009 R12: 0000000000000000
      [  901.389937] R13: 0000000000000001 R14: 0000000000000000 R15: 000000000000000b
      [  901.391226] FS:  00007fe49381f740(0000) GS:ffff99087dc00000(0000) knlGS:0000000000000000
      [  901.392737] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  901.393803] CR2: 0000000000000ba0 CR3: 000000000e3e8003 CR4: 0000000000770ef0
      [  901.395122] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  901.396496] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  901.397833] PKRU: 55555554
      [  901.398578] Call Trace:
      [  901.399144]  l3mdev_ifindex_lookup_by_table_id+0x3b/0x70
      [  901.400179]  __seg6_end_dt_vrf_build+0x34/0xd0
      [  901.401067]  seg6_end_dt4_build+0x16/0x20
      [  901.401904]  seg6_local_build_state+0x271/0x430
      [  901.402797]  lwtunnel_build_state+0x81/0x130
      [  901.403645]  fib_nh_common_init+0x82/0x100
      [  901.404465]  ? sock_def_readable+0x4b/0x80
      [  901.405285]  fib6_nh_init+0x115/0x7c0
      [  901.406033]  nh_create_ipv6.isra.0+0xe1/0x140
      [  901.406932]  rtm_new_nexthop+0x3b7/0xeb0
      [  901.407828]  rtnetlink_rcv_msg+0x152/0x3a0
      [  901.408663]  ? rtnl_calcit.isra.0+0x130/0x130
      [  901.409535]  netlink_rcv_skb+0x55/0x100
      [  901.410319]  rtnetlink_rcv+0x15/0x20
      [  901.411026]  netlink_unicast+0x1a8/0x250
      [  901.411813]  netlink_sendmsg+0x238/0x470
      [  901.412602]  ? _copy_from_user+0x2b/0x60
      [  901.413394]  sock_sendmsg+0x65/0x70
      [  901.414112]  ____sys_sendmsg+0x218/0x290
      [  901.414929]  ? copy_msghdr_from_user+0x5c/0x90
      [  901.415814]  ___sys_sendmsg+0x81/0xc0
      [  901.416559]  ? fsnotify_destroy_marks+0x27/0xf0
      [  901.417447]  ? call_rcu+0xa4/0x230
      [  901.418153]  ? kmem_cache_free+0x23f/0x410
      [  901.418972]  ? dentry_free+0x37/0x70
      [  901.419705]  ? mntput_no_expire+0x4c/0x260
      [  901.420574]  __sys_sendmsg+0x62/0xb0
      [  901.421297]  __x64_sys_sendmsg+0x1f/0x30
      [  901.422057]  do_syscall_64+0x5c/0xc0
      [  901.422756]  ? syscall_exit_to_user_mode+0x27/0x50
      [  901.423675]  ? __x64_sys_close+0x12/0x40
      [  901.424462]  ? do_syscall_64+0x69/0xc0
      [  901.425219]  ? irqentry_exit_to_user_mode+0x9/0x20
      [  901.426149]  ? irqentry_exit+0x19/0x30
      [  901.426901]  ? exc_page_fault+0x89/0x160
      [  901.427709]  ? asm_exc_page_fault+0x8/0x30
      [  901.428536]  entry_SYSCALL_64_after_hwframe+0x44/0xae
      [  901.429514] RIP: 0033:0x7fe493945747
      [  901.430248] Code: 64 89 02 48 c7 c0 ff ff ff ff eb bb 0f 1f 80 00 00 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10
      [  901.433549] RSP: 002b:00007ffe9932cf68 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
      [  901.434981] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fe493945747
      [  901.436303] RDX: 0000000000000000 RSI: 00007ffe9932cfe0 RDI: 0000000000000003
      [  901.437607] RBP: 00000000613053f7 R08: 0000000000000001 R09: 00007ffe9932d07c
      [  901.438990] R10: 000055f4a903a010 R11: 0000000000000246 R12: 0000000000000001
      [  901.440340] R13: 0000000000000001 R14: 000055f4a802b163 R15: 000055f4a8042020
      [  901.441630] Modules linked in: vrf nls_utf8 isofs nls_iso8859_1 dm_multipath scsi_dh_rdac scsi_dh_emc scsi_dh_alua intel_rapl_msr intel_rapl_common isst_if_mbox_msr isst_if_common nfit rapl input_leds joydev serio_raw qemu_fw_cfg mac_hid sch_fq_codel drm virtio_rng ip_tables x_tables autofs4 btrfs blake2b_generic zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd virtio_net net_failover cryptd psmouse virtio_blk failover i2c_piix4 pata_acpi floppy
      [  901.450808] CR2: 0000000000000ba0
      [  901.451514] ---[ end trace c27b934b99ade304 ]---
      [  901.452403] RIP: 0010:vrf_ifindex_lookup_by_table_id+0x19/0x90 [vrf]
      [  901.453626] Code: c1 e9 72 ff ff ff e8 96 49 01 c2 66 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 41 56 41 55 41 89 f5 41 54 53 8b 05 47 4c 00 00 <48> 8b 97 a0 0b 00 00 48 8b 1c c2 e8 57 27 53 c1 4c 8d a3 88 00 00
      [  901.456910] RSP: 0018:ffffbf2d02043590 EFLAGS: 00010282
      [  901.457912] RAX: 000000000000000b RBX: ffff990808255e70 RCX: ffffbf2d02043aa8
      [  901.459238] RDX: 0000000000000001 RSI: 0000000000000001 RDI: 0000000000000000
      [  901.460552] RBP: ffffbf2d020435b0 R08: 00000000000000c0 R09: ffff990808255e40
      [  901.461882] R10: ffffffff83b08c90 R11: 0000000000000009 R12: 0000000000000000
      [  901.463208] R13: 0000000000000001 R14: 0000000000000000 R15: 000000000000000b
      [  901.464529] FS:  00007fe49381f740(0000) GS:ffff99087dc00000(0000) knlGS:0000000000000000
      [  901.466058] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  901.467189] CR2: 0000000000000ba0 CR3: 000000000e3e8003 CR4: 0000000000770ef0
      [  901.468515] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  901.469858] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  901.471139] PKRU: 55555554
      Signed-off-by: default avatarRyoga Saito <contact@proelbtn.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9aca491e
    • Dan Carpenter's avatar
      net: qrtr: revert check in qrtr_endpoint_post() · d2cabd2d
      Dan Carpenter authored
      I tried to make this check stricter as a hardenning measure but it broke
      audo and wifi on these devices so revert it.
      
      Fixes: aaa8e492 ("net: qrtr: make checks in qrtr_endpoint_post() stricter")
      Reported-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Tested-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d2cabd2d
    • Jan Hoffmann's avatar
      net: dsa: lantiq_gswip: fix maximum frame length · 552799f8
      Jan Hoffmann authored
      Currently, outgoing packets larger than 1496 bytes are dropped when
      tagged VLAN is used on a switch port.
      
      Add the frame check sequence length to the value of the register
      GSWIP_MAC_FLEN to fix this. This matches the lantiq_ppa vendor driver,
      which uses a value consisting of 1518 bytes for the MAC frame, plus the
      lengths of special tag and VLAN tags.
      
      Fixes: 14fceff4 ("net: dsa: Add Lantiq / Intel DSA driver for vrx200")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJan Hoffmann <jan@3e8.eu>
      Acked-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      552799f8
    • Jakub Kicinski's avatar
      selftests: add simple GSO GRE test · 025efa0a
      Jakub Kicinski authored
      Test case for commit a6e3f298 ("ip6_tunnel: fix GRE6 segmentation").
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      025efa0a
    • Jiwon Kim's avatar
      ipv6: change return type from int to void for mld_process_v2 · 3f22bb13
      Jiwon Kim authored
      The mld_process_v2 only returned 0.
      
      So, the return type is changed to void.
      Signed-off-by: default avatarJiwon Kim <jiwonaid0@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f22bb13
    • Geert Uytterhoeven's avatar
      net/sun3_82586: Fix return value of sun3_82586_probe() · 66abf5fb
      Geert Uytterhoeven authored
      drivers/net/ethernet/i825xx/sun3_82586.c: In function ‘sun3_82586_probe’:
      drivers/net/ethernet/i825xx/sun3_82586.c:317:9: warning: returning ‘struct net_device *’ from a function with return type ‘int’ makes integer from pointer without a cast [-Wint-conversion]
        317 |  return dev;
            |         ^~~
      
      The return type of sun3_82586_probe() was changed, but one return value
      was forgotten to be updated.
      
      Fixes: e179d78e ("m68k: remove legacy probing")
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      66abf5fb
    • Ivan Mikhaylov's avatar
      net/ncsi: add get MAC address command to get Intel i210 MAC address · 205b95fe
      Ivan Mikhaylov authored
      This patch adds OEM Intel GMA command and response handler for it.
      Signed-off-by: default avatarBrad Ho <Brad_Ho@phoenix.com>
      Signed-off-by: default avatarPaul Fertser <fercerpav@gmail.com>
      Signed-off-by: default avatarIvan Mikhaylov <i.mikhaylov@yadro.com>
      Link: https://lore.kernel.org/r/20210830171806.119857-2-i.mikhaylov@yadro.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      205b95fe
  2. 01 Sep, 2021 10 commits
  3. 31 Aug, 2021 19 commits
    • Linus Torvalds's avatar
      Merge tag 'net-next-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 9e9fb765
      Linus Torvalds authored
      Pull networking updates from Jakub Kicinski:
       "Core:
      
         - Enable memcg accounting for various networking objects.
      
        BPF:
      
         - Introduce bpf timers.
      
         - Add perf link and opaque bpf_cookie which the program can read out
           again, to be used in libbpf-based USDT library.
      
         - Add bpf_task_pt_regs() helper to access user space pt_regs in
           kprobes, to help user space stack unwinding.
      
         - Add support for UNIX sockets for BPF sockmap.
      
         - Extend BPF iterator support for UNIX domain sockets.
      
         - Allow BPF TCP congestion control progs and bpf iterators to call
           bpf_setsockopt(), e.g. to switch to another congestion control
           algorithm.
      
        Protocols:
      
         - Support IOAM Pre-allocated Trace with IPv6.
      
         - Support Management Component Transport Protocol.
      
         - bridge: multicast: add vlan support.
      
         - netfilter: add hooks for the SRv6 lightweight tunnel driver.
      
         - tcp:
             - enable mid-stream window clamping (by user space or BPF)
             - allow data-less, empty-cookie SYN with TFO_SERVER_COOKIE_NOT_REQD
             - more accurate DSACK processing for RACK-TLP
      
         - mptcp:
             - add full mesh path manager option
             - add partial support for MP_FAIL
             - improve use of backup subflows
             - optimize option processing
      
         - af_unix: add OOB notification support.
      
         - ipv6: add IFLA_INET6_RA_MTU to expose MTU value advertised by the
           router.
      
         - mac80211: Target Wake Time support in AP mode.
      
         - can: j1939: extend UAPI to notify about RX status.
      
        Driver APIs:
      
         - Add page frag support in page pool API.
      
         - Many improvements to the DSA (distributed switch) APIs.
      
         - ethtool: extend IRQ coalesce uAPI with timer reset modes.
      
         - devlink: control which auxiliary devices are created.
      
         - Support CAN PHYs via the generic PHY subsystem.
      
         - Proper cross-chip support for tag_8021q.
      
         - Allow TX forwarding for the software bridge data path to be
           offloaded to capable devices.
      
        Drivers:
      
         - veth: more flexible channels number configuration.
      
         - openvswitch: introduce per-cpu upcall dispatch.
      
         - Add internet mix (IMIX) mode to pktgen.
      
         - Transparently handle XDP operations in the bonding driver.
      
         - Add LiteETH network driver.
      
         - Renesas (ravb):
             - support Gigabit Ethernet IP
      
         - NXP Ethernet switch (sja1105):
             - fast aging support
             - support for "H" switch topologies
             - traffic termination for ports under VLAN-aware bridge
      
         - Intel 1G Ethernet
             - support getcrosststamp() with PCIe PTM (Precision Time
               Measurement) for better time sync
             - support Credit-Based Shaper (CBS) offload, enabling HW traffic
               prioritization and bandwidth reservation
      
         - Broadcom Ethernet (bnxt)
             - support pulse-per-second output
             - support larger Rx rings
      
         - Mellanox Ethernet (mlx5)
             - support ethtool RSS contexts and MQPRIO channel mode
             - support LAG offload with bridging
             - support devlink rate limit API
             - support packet sampling on tunnels
      
         - Huawei Ethernet (hns3):
             - basic devlink support
             - add extended IRQ coalescing support
             - report extended link state
      
         - Netronome Ethernet (nfp):
             - add conntrack offload support
      
         - Broadcom WiFi (brcmfmac):
             - add WPA3 Personal with FT to supported cipher suites
             - support 43752 SDIO device
      
         - Intel WiFi (iwlwifi):
             - support scanning hidden 6GHz networks
             - support for a new hardware family (Bz)
      
         - Xen pv driver:
             - harden netfront against malicious backends
      
         - Qualcomm mobile
             - ipa: refactor power management and enable automatic suspend
             - mhi: move MBIM to WWAN subsystem interfaces
      
        Refactor:
      
         - Ambient BPF run context and cgroup storage cleanup.
      
         - Compat rework for ndo_ioctl.
      
        Old code removal:
      
         - prism54 remove the obsoleted driver, deprecated by the p54 driver.
      
         - wan: remove sbni/granch driver"
      
      * tag 'net-next-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1715 commits)
        net: Add depends on OF_NET for LiteX's LiteETH
        ipv6: seg6: remove duplicated include
        net: hns3: remove unnecessary spaces
        net: hns3: add some required spaces
        net: hns3: clean up a type mismatch warning
        net: hns3: refine function hns3_set_default_feature()
        ipv6: remove duplicated 'net/lwtunnel.h' include
        net: w5100: check return value after calling platform_get_resource()
        net/mlxbf_gige: Make use of devm_platform_ioremap_resourcexxx()
        net: mdio: mscc-miim: Make use of the helper function devm_platform_ioremap_resource()
        net: mdio-ipq4019: Make use of devm_platform_ioremap_resource()
        fou: remove sparse errors
        ipv4: fix endianness issue in inet_rtm_getroute_build_skb()
        octeontx2-af: Set proper errorcode for IPv4 checksum errors
        octeontx2-af: Fix static code analyzer reported issues
        octeontx2-af: Fix mailbox errors in nix_rss_flowkey_cfg
        octeontx2-af: Fix loop in free and unmap counter
        af_unix: fix potential NULL deref in unix_dgram_connect()
        dpaa2-eth: Replace strlcpy with strscpy
        octeontx2-af: Use NDC TX for transmit packet data
        ...
      9e9fb765
    • Linus Torvalds's avatar
      Merge branch 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 86ac54e7
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "There is a long-standing subtle destroy_workqueue() bug where a
        workqueue can be destroyed while internal work items used for flushing
        are still in flight. Lai fixed it by assigning a flush color to the
        internal work items so that they are correctly waited for during
        destruction.
      
        Other than that, all are minor cleanups"
      
      * 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Remove unused WORK_NO_COLOR
        workqueue: Assign a color to barrier work items
        workqueue: Mark barrier work with WORK_STRUCT_INACTIVE
        workqueue: Change the code of calculating work_flags in insert_wq_barrier()
        workqueue: Change arguement of pwq_dec_nr_in_flight()
        workqueue: Rename "delayed" (delayed by active management) to "inactive"
        workqueue: Replace deprecated CPU-hotplug functions.
        workqueue: Replace deprecated ida_simple_*() with ida_alloc()/ida_free()
        workqueue: Fix typo in comments
        workqueue: Fix possible memory leaks in wq_numa_init()
      86ac54e7
    • Linus Torvalds's avatar
      Merge branch 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 69dc8010
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "Two cpuset behavior changes:
      
         - cpuset on cgroup2 is changed to enable memory migration based on
           nodemask by default.
      
         - A notification is generated when cpuset partition state changes.
      
        All other patches are minor fixes and cleanups"
      
      * 'for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: Avoid compiler warnings with no subsystems
        cgroup/cpuset: Avoid memory migration when nodemasks match
        cgroup/cpuset: Enable memory migration for cpuset v2
        cgroup/cpuset: Enable event notification when partition state changes
        cgroup: cgroup-v1: clean up kernel-doc notation
        cgroup: Replace deprecated CPU-hotplug functions.
        cgroup/cpuset: Fix violation of cpuset locking rule
        cgroup/cpuset: Fix a partition bug with hotplug
        cgroup/cpuset: Miscellaneous code cleanup
        cgroup: remove cgroup_mount from comments
      69dc8010
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft · 81b0b29b
      Linus Torvalds authored
      Pull ibft updates from Konrad Rzeszutek Wilk:
       "A fix for iBFT parsing code badly interfacing when KASLR is enabled"
      
      * 'stable/for-linus-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft:
        iscsi_ibft: fix warning in reserve_ibft_region()
        iscsi_ibft: fix crash due to KASLR physical memory remapping
      81b0b29b
    • Linus Torvalds's avatar
      Merge tag 'for-5.15/dm-changes' of... · efa916af
      Linus Torvalds authored
      Merge tag 'for-5.15/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Add DM infrastructure for IMA-based remote attestion. These changes
         are the basis for deploying DM-based storage in a "cloud" that must
         validate configurations end-users run to maintain trust. These DM
         changes allow supported DM targets' configurations to be measured via
         IMA. But the policy and enforcement (of which configurations are
         valid) is managed by something outside the kernel (e.g. Keylime).
      
       - Fix DM crypt scalability regression on systems with many cpus due to
         percpu_counter spinlock contention in crypt_page_alloc().
      
       - Use in_hardirq() instead of deprecated in_irq() in DM crypt.
      
       - Add event counters to DM writecache to allow users to further assess
         how the writecache is performing.
      
       - Various code cleanup in DM writecache's main IO mapping function.
      
      * tag 'for-5.15/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm crypt: use in_hardirq() instead of deprecated in_irq()
        dm ima: update dm documentation for ima measurement support
        dm ima: update dm target attributes for ima measurements
        dm ima: add a warning in dm_init if duplicate ima events are not measured
        dm ima: prefix ima event name related to device mapper with dm_
        dm ima: add version info to dm related events in ima log
        dm ima: prefix dm table hashes in ima log with hash algorithm
        dm crypt: Avoid percpu_counter spinlock contention in crypt_page_alloc()
        dm: add documentation for IMA measurement support
        dm: update target status functions to support IMA measurement
        dm ima: measure data on device rename
        dm ima: measure data on table clear
        dm ima: measure data on device remove
        dm ima: measure data on device resume
        dm ima: measure data on table load
        dm writecache: add event counters
        dm writecache: report invalid return from writecache_map helpers
        dm writecache: further writecache_map() cleanup
        dm writecache: factor out writecache_map_remap_origin()
        dm writecache: split up writecache_map() to improve code readability
      efa916af
    • Linus Torvalds's avatar
      Merge tag 'leds-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · a998a62b
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Usual driver changes, some documentation that should hopefully get LED
        names standartized, and many fixes"
      
      * tag 'leds-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds: (32 commits)
        leds: pca955x: Switch to i2c probe_new
        leds: pca955x: Let the core process the fwnode
        leds: pca955x: Implement the default-state property
        leds: pca955x: Add brightness_get function
        leds: pca955x: Clean up code formatting
        leds: leds-core: Implement the retain-state-shutdown property
        dt-bindings: leds: Add retain-state-shutdown boolean
        Documentation: leds: standartizing LED names
        leds: trigger: remove reference to obsolete CONFIG_IDE_GD_ATA
        leds: lp50xx: Fix chip name in KConfig
        leds: pwm: add support for default-state device property
        leds: move default_state read from fwnode to core
        leds: flash: Remove redundant initialization of variable ret
        leds: lgm-sso: Propagate error codes from callee to caller
        leds: trigger: audio: Add an activate callback to ensure the initial brightness is set
        leds: rt8515: Put fwnode in any case during ->probe()
        leds: lt3593: Put fwnode in any case during ->probe()
        leds: lm3697: Make error handling more robust
        leds: lm3697: Update header block to reflect reality
        leds: lm3692x: Correct headers (of*.h -> mod_devicetable.h)
        ...
      a998a62b
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · e7c1bbcf
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
       "New drivers for:
      
         - Aquacomputer D5 Next
      
         - SB-RMI power module
      
        Added chip support to existing drivers:
      
         - Support for various Zen2 and Zen3 APUs and for Yellow Carp (SMU
           v13) added to k10temp driver
      
         - Support for Silicom n5010 PAC added to intel-m10-bmc driver
      
         - Support for BPD-RS600 added to pmbus/bpa-rs600 driver
      
        Other notable changes:
      
         - In k10temp, do not display Tdie on Zen CPUs if there is no
           difference between Tdie and Tctl
      
         - Converted adt7470 and dell-smm drivers to use
           devm_hwmon_device_register_with_info API
      
         - Support for temperature/pwm tables added to axi-fan-control driver
      
         - Enabled fan control for Dell Precision 7510 in dell-smm driver
      
        Various other minor improvements and fixes in several drivers"
      
      * tag 'hwmon-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (41 commits)
        hwmon: add driver for Aquacomputer D5 Next
        hwmon: (adt7470) Convert to devm_hwmon_device_register_with_info API
        hwmon: (adt7470) Convert to use regmap
        hwmon: (adt7470) Fix some style issues
        hwmon: (k10temp) Add support for yellow carp
        hwmon: (k10temp) Rework the temperature offset calculation
        hwmon: (k10temp) Don't show Tdie for all Zen/Zen2/Zen3 CPU/APU
        hwmon: (k10temp) Add additional missing Zen2 and Zen3 APUs
        hwmon: remove amd_energy driver in Makefile
        hwmon: (dell-smm) Rework SMM function debugging
        hwmon: (dell-smm) Mark i8k_get_fan_nominal_speed as __init
        hwmon: (dell-smm) Mark tables as __initconst
        hwmon: (pmbus/bpa-rs600) Add workaround for incorrect Pin max
        hwmon: (pmbus/bpa-rs600) Don't use rated limits as warn limits
        hwmon: (axi-fan-control) Support temperature vs pwm points
        hwmon: (axi-fan-control) Handle irqs in natural order
        hwmon: (axi-fan-control) Make sure the clock is enabled
        hwmon: (pmbus/ibm-cffps) Fix write bits for LED control
        hwmon: (w83781d) Match on device tree compatibles
        dt-bindings: hwmon: Add bindings for Winbond W83781D
        ...
      e7c1bbcf
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 871dda46
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "I2C has a smaller pull reuest this time:
      
         - new driver for I2C virtio
      
         - removal of PMC SMP driver because platform is already gone
      
         - IRQ probing and DMAENGINE API cleanups
      
         - add SI metric prefix definitions to units.h
      
         - beginning of i801 refactorization
      
         - a few driver improvements"
      
      * 'i2c/for-mergewindow' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (28 commits)
        i2c: cadence: Implement save restore
        i2c: xlp9xx: fix main IRQ check
        i2c: mt65xx: fix IRQ check
        i2c: virtio: add a virtio i2c frontend driver
        i2c: hix5hd2: fix IRQ check
        i2c: s3c2410: fix IRQ check
        i2c: iop3xx: fix deferred probing
        i2c: synquacer: fix deferred probing
        i2c: sun6i-pw2i: Prefer strscpy over strlcpy
        i2c: remove dead PMC MSP TWI/SMBus/I2C driver
        i2c: dev: Use sysfs_emit() in "show" functions
        i2c: dev: Define pr_fmt() and drop duplication substrings
        i2c: designware: Fix indentation in the header
        i2c: designware: Use DIV_ROUND_CLOSEST() macro
        units: Add SI metric prefix definitions
        i2c: at91: mark PM ops as __maybe unused
        i2c: sh_mobile: : use proper DMAENGINE API for termination
        i2c: qup: : use proper DMAENGINE API for termination
        i2c: mxs: : use proper DMAENGINE API for termination
        i2c: imx: : use proper DMAENGINE API for termination
        ...
      871dda46
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 359f3d74
      Linus Torvalds authored
      Pull MMC and MEMSTICK updates from Ulf Hansson:
       "MMC core:
         - Return a proper response in case of an ioctl error
         - Issue HPI to interrupt BKOPS for eMMC if it timed out
         - Avoid hogging the CPU while polling for busy
         - Extend sd8787 pwrseq to support the wilc1000 SDIO
         - Remove a couple of confusing warning messages
         - Clarify comment for ->card_busy() host ops
      
        MMC host:
         - dw_mmc: Add data CRC error injection
         - mmci: De-assert reset during ->probe()
         - rtsx_pci: Fix long reads when clock is pre-scaled
         - sdhci: Correct the tuning command handle for PIO mode
         - sdhci-esdhc-imx: Improve support for auto tuning
         - sdhci-msm: Add support for the sc7280
         - sdhci-of-arasan: Don't auto tune for DDR50 mode for ZynqMP
         - sdhci-of-arasan: Enable support for auto cmd12
         - sdhci-of-arasan: Use 19MHz for SD default speed for ZynqMP for level shifter
         - usdhi6rol0: Implement the ->card_busy() host ops
      
        MEMSTICK:
         - A couple of minor cleanups"
      
      * tag 'mmc-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (52 commits)
        mmc: queue: Remove unused parameters(request_queue)
        mmc: pwrseq: sd8787: fix compilation warning
        mmc: core: Return correct emmc response in case of ioctl error
        mmc: sdhci-esdhc-imx: Select the correct mode for auto tuning
        mmc: sdhci-esdhc-imx: Remove redundant code for manual tuning
        mmc: core: Issue HPI in case the BKOPS timed out
        mmc: queue: Match the data type of max_segments
        mmc: switch from 'pci_' to 'dma_' API
        memstick: switch from 'pci_' to 'dma_' API
        memstick: r592: Change the name of the 'pci_driver' structure to be consistent
        mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787
        mmc: pwrseq: sd8787: add support for wilc1000
        dt-bindings: mmc: Extend pwrseq-sd8787 binding for wilc1000
        dt-bindings: mmc: fsl-imx-esdhc: change the pinctrl-names rule
        dt-bindings: mmc: fsl-imx-esdhc: add a new compatible string
        dt-bindings: mmc: renesas,sdhi: Document RZ/G2L bindings
        dt-bindings: mmc: renesas,sdhi: Fix dtbs-check warning
        mmc: core: Update ->card_busy() callback comment
        mmc: usdhi6rol0: Implement card_busy function
        mmc: sdhci: Correct the tuning command handle for PIO mode
        ...
      359f3d74
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8e235ff9
      Linus Torvalds authored
      Pull device properties framework updates from Rafael Wysocki:
       "These improve the handling of secondary firmware nodes in
        fwnode_graph_get_next_endpoint() (Daniel Scally)"
      
      * tag 'devprop-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "media: device property: Call fwnode_graph_get_endpoint_by_id() for fwnode->secondary"
        device property: Check fwnode->secondary in fwnode_graph_get_next_endpoint()
      8e235ff9
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6f1e8b12
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These update the ACPICA kernel code to upstream revision 20210730,
        clean up the ACPI companion binding code, optimize the I2C handling in
        the XPower PMIC driver, add 16550-compatible Serial Port Subtype
        support to the SPCR parsing code, add a few LoongArch support bits,
        add a ne quirk to the button driver, add new PCH FIVR methods to the
        DPTF code, replace deprecated CPU-hotplug functions in the processor
        driver, improve the acpi_os_map_memory() handling on non-x86 and do
        some assorted cleanups.
      
        Specifics:
      
         - Update ACPICA code in the kernel to upstream revision 20210730
           including the following changes:
             - Add support for the AEST table (data compiler) to iASL (Bob
               Moore)
             - Fix an if statement (add parens) (Bob Moore)
             - Drop trailing semicolon from some macros (Bob Moore)
             - Fix compilation of WPBT table with no command-line arguments in
               iASL (Bob Moore)
             - Add method name "_DIS" for use with aslmethod.c (Bob Moore)
             - Add new DBG2 Serial Port Subtypes (Marcin Wojtas)
      
         - Add new PCH FIVR methods to the DPTF code (Srinivas Pandruvada)
      
         - Add support for the new 16550-compatible Serial Port Subtype to the
           SPCR table parsing code (Marcin Wojtas)
      
         - Add DMI quirk for Lenovo Yoga 9 (14INTL5) to the ACPI button driver
           (Ulrich Huber)
      
         - Add LoongArch support for ACPI_PROCESSOR/ACPI_NUMA (Huacai Chen)
      
         - Add memory semantics to acpi_os_map_memory() (Lorenzo Pieralisi)
      
         - Replace deprecated CPU-hotplug functions in the ACPI processor
           driver (Sebastian Andrzej Siewior)
      
         - Optimize I2C-bus handling in the XPower PMIC driver (Hans de Goede)
      
         - Make platform-profile catch profile changes initiated by user space
           and notify user processes of them (Hans de Goede)
      
         - Clean up the ACPI companion binding and unbinding code and update
           debug messaging in the ACPI power resources code (Rafael Wysocki)
      
         - Clean up a couple of code pieces related to configfs (Andy
           Shevchenko)
      
         - Rearrange the FPDT table parsing code to avoid printing warning
           messages for reserved record types (Adrian Huang)"
      
      * tag 'acpi-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (27 commits)
        ACPI: power: Drop name from struct acpi_power_resource
        ACPI: power: Use acpi_handle_debug() to print debug messages
        ACPI: tables: FPDT: Do not print FW_BUG message if record types are reserved
        ACPI: button: Add DMI quirk for Lenovo Yoga 9 (14INTL5)
        ACPI: Add memory semantics to acpi_os_map_memory()
        ACPI: SPCR: Add support for the new 16550-compatible Serial Port Subtype
        ACPI: platform-profile: call sysfs_notify() from platform_profile_store()
        ACPICA: Update version to 20210730
        ACPICA: Add method name "_DIS" For use with aslmethod.c
        ACPICA: iASL: Fix for WPBT table with no command-line arguments
        ACPICA: Headers: Add new DBG2 Serial Port Subtypes
        ACPICA: Macros should not use a trailing semicolon
        ACPICA: Fix an if statement (add parens)
        ACPICA: iASL: Add support for the AEST table (data compiler)
        ACPI: processor: Replace deprecated CPU-hotplug functions
        ACPI: DPTF: Add new PCH FIVR methods
        ACPI: configfs: Make get_header() to return error pointer
        ACPI: configfs: Use sysfs_emit() in "show" functions
        driver core: Split device_platform_notify()
        software nodes: Split software_node_notify()
        ...
      6f1e8b12
    • Linus Torvalds's avatar
      Merge tag 'pm-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 5cbba605
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These address some PCI device power management issues, add new
        hardware support to the RAPL power capping driver, add HWP guaranteed
        performance change notification support to the intel_pstate driver,
        replace deprecated CPU-hotplug functions in a few places, update CPU
        PM notifiers to use raw spinlocks, update the PM domains framework
        (new DT property support, Kconfig fix), do a couple of cleanups in
        code related to system sleep, and improve the energy model and the
        schedutil cpufreq governor.
      
        Specifics:
      
         - Address 3 PCI device power management issues (Rafael Wysocki).
      
         - Add Power Limit4 support for Alder Lake to the Intel RAPL power
           capping driver (Sumeet Pawnikar).
      
         - Add HWP guaranteed performance change notification support to the
           intel_pstate driver (Srinivas Pandruvada).
      
         - Replace deprecated CPU-hotplug functions in code related to power
           management (Sebastian Andrzej Siewior).
      
         - Update CPU PM notifiers to use raw spinlocks (Valentin Schneider).
      
         - Add support for 'required-opps' DT property to the generic power
           domains (genpd) framework and use this property for I2C on ARM64
           sc7180 (Rajendra Nayak).
      
         - Fix Kconfig issue related to genpd (Geert Uytterhoeven).
      
         - Increase energy calculation precision in the Energy Model (Lukasz
           Luba).
      
         - Fix kobject deletion in the exit code of the schedutil cpufreq
           governor (Kevin Hao).
      
         - Unmark some functions as kernel-doc in the PM core to avoid
           false-positive documentation build warnings (Randy Dunlap).
      
         - Check RTC features instead of ops in suspend_test Alexandre
           Belloni)"
      
      * tag 'pm-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM: domains: Fix domain attach for CONFIG_PM_OPP=n
        powercap: Add Power Limit4 support for Alder Lake SoC
        cpufreq: intel_pstate: Process HWP Guaranteed change notification
        thermal: intel: Allow processing of HWP interrupt
        notifier: Remove atomic_notifier_call_chain_robust()
        PM: cpu: Make notifier chain use a raw_spinlock_t
        PM: sleep: unmark 'state' functions as kernel-doc
        arm64: dts: sc7180: Add required-opps for i2c
        PM: domains: Add support for 'required-opps' to set default perf state
        opp: Don't print an error if required-opps is missing
        cpufreq: schedutil: Use kobject release() method to free sugov_tunables
        PM: EM: Increase energy calculation precision
        PM: sleep: check RTC features instead of ops in suspend_test
        PM: sleep: s2idle: Replace deprecated CPU-hotplug functions
        cpufreq: Replace deprecated CPU-hotplug functions
        powercap: intel_rapl: Replace deprecated CPU-hotplug functions
        PCI: PM: Enable PME if it can be signaled from D3cold
        PCI: PM: Avoid forcing PCI_D0 for wakeup reasons inconsistently
        PCI: Use pci_update_current_state() in pci_enable_device_flags()
      5cbba605
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-5.15' of git://github.com/cschaufler/smack-next · 9b2eacd8
      Linus Torvalds authored
      Pull smack updates from Casey Schaufler:
       "There is a variable used only during start-up that's now marked
        __initdata and a change where the code was working by sheer luck that
        is now done properly.
      
        Both have been in next for several weeks and pass the Smack testsuite"
      
      * tag 'Smack-for-5.15' of git://github.com/cschaufler/smack-next:
        smack: mark 'smack_enabled' global variable as __initdata
        Smack: Fix wrong semantics in smk_access_entry()
      9b2eacd8
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20210830' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 8e0cd952
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Two patches in the audit pull request for v5.15; one is trivial
        ("header protection") but the second is a real patch that fixes a
        refcounting problem.
      
        The refcount fix normally would have been sent up during the -rcX
        cycle, but since we merged it less than a week before v5.14 proper I
        felt it was better to wait for the merge window to open; the patch is
        marked with the usual -stable markings"
      
      * tag 'audit-pr-20210830' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: move put_tree() to avoid trim_trees refcount underflow and UAF
        audit: add header protection to kernel/audit.h
      8e0cd952
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20210830' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · befa491c
      Linus Torvalds authored
      Pull selinux update from Paul Moore:
       "We've got an unusually small SELinux pull request for v5.15 that
        consists of only one (?!) patch that is really pretty minor when you
        look at it.
      
        Unsurprisingly it passes all of our tests and merges cleanly on top of
        your tree right now, please merge this for v5.15"
      
      * tag 'selinux-pr-20210830' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: return early for possible NULL audit buffers
      befa491c
    • Linus Torvalds's avatar
      Merge tag 'kernel.sys.v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · e55f0c43
      Linus Torvalds authored
      Pull set_user()  update from Christian Brauner:
       "This contains a single fix to set_user() which aligns permission
        checks with the corresponding fork() codepath. No one involved in this
        could come up with a reason for the difference.
      
        A capable caller can already circumvent the check when they fork where
        the permission checks are already for the relevant capabilities in
        addition to also allowing to exceed nproc when it is the init user.
      
        So apply the same logic to set_user()"
      
      * tag 'kernel.sys.v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        set_user: add capability check when rlimit(RLIMIT_NPROC) exceeds
      e55f0c43
    • Linus Torvalds's avatar
      Merge tag 'fs.idmapped.v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · 67b03f93
      Linus Torvalds authored
      Pull idmapping documentation updates from Christian Brauner:
       "The bulk of the idmapped work this cycle was adding support for
        idmapped mounts to btrfs.
      
        While this required the addition of a (simple) new vfs helper all the
        work is going through David Sterba's btrfs tree. It was way simpler to
        do it this way rather then forcing David to coordinate between his
        btrfs and my tree. Plus I don't care who merges it as long as I feel I
        can trust the maintainer and the btrfs folks were really fast and
        helpful in reviewing this work.
      
        As always, associated with the btrfs port for idmapped mounts is a new
        fstests extension specifically concerned with btrfs ioctls (e.g.
        subvolume creation, deletion etc.) on idmapped mounts which can be
        found in the fstests repo as 5f8179ce8b00 ("btrfs: introduce btrfs
        specific idmapped mounts tests").
      
        Consequently, this cycle the idmapping pull is boring. It only
        contains documentation updates, specifically about how idmappings and
        idmapped mounts work"
      
      * tag 'fs.idmapped.v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        doc: give a more thorough id handling explanation
      67b03f93
    • Linus Torvalds's avatar
      Merge tag 'fs.close_range.v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · 927bc120
      Linus Torvalds authored
      Pull close_range() cleanup from Christian Brauner:
       "This is a cleanup for close_range() which was sent as part of a bugfix
        we did some time ago in commit 9b5b8722 ("file: fix close_range()
        for unshare+cloexec").
      
        We used to share more code between some helpers for close_range()
        which made retrieving the maximum number of open fds before calling
        into the helpers sensible. But with the introduction of
        CLOSE_RANGE_CLOEXEC and the need to retrieve the number of maximum fds
        once more for CLOSE_RANGE_CLOEXEC that stopped making sense. So the
        code was in a dumb in-limbo state.
      
        Fix this by simplifying the code a bit.
      
        The original idea was to only fix the bug itself and make backporting
        easy. And since the cleanup wasn't very pressing I left it in
        linux-next for a very long time. I didn't pull the patches from the
        list again back then which is why they don't have lore-links. So I'm
        listing them below explicitly"
      
      Commit 03ba0fe4 ("file: simplify logic in __close_range()")
      Link: https://lore.kernel.org/linux-fsdevel/20210402123548.108372-3-brauner@kernel.org
      
      Commit f49fd6d3 ("file: let pick_file() tell caller it's done")
      Link: https://lore.kernel.org/linux-fsdevel/20210402123548.108372-4-brauner@kernel.org
      
      * tag 'fs.close_range.v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        file: simplify logic in __close_range()
        file: let pick_file() tell caller it's done
      927bc120
    • Linus Torvalds's avatar
      Merge tag 'fs.move_mount.move_mount_set_group.v5.15' of... · 1dd5915a
      Linus Torvalds authored
      Merge tag 'fs.move_mount.move_mount_set_group.v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux
      
      Pull move_mount updates from Christian Brauner:
       "This contains an extension to the move_mount() syscall making it
        possible to add a single private mount into an existing propagation
        tree.
      
        The use-case comes from the criu folks which have been struggling with
        restoring complex mount trees for a long time. Variations of this work
        have been discussed at Plumbers before, e.g.
      
            https://www.linuxplumbersconf.org/event/7/contributions/640/
      
        The extension to move_mount() enables criu to restore any set of mount
        namespaces, mount trees and sharing group trees without introducing
        yet more complexity into mount propagation itself.
      
        The changes required to criu to make use of this and restore complex
        propagation trees are available at
      
            https://github.com/Snorch/criu/commits/mount-v2-poc
      
        A cleaned-up version of this will go up for merging into the main criu
        repo after this lands"
      
      * tag 'fs.move_mount.move_mount_set_group.v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        tests: add move_mount(MOVE_MOUNT_SET_GROUP) selftest
        move_mount: allow to add a mount into an existing group
      1dd5915a