1. 23 Dec, 2021 16 commits
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.16-2021-12-23' of git://git.kernel.dk/linux-block · a026fa54
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "Single fix for not clearing kiocb->ki_pos back to 0 for a stream,
        destined for stable as well"
      
      * tag 'io_uring-5.16-2021-12-23' of git://git.kernel.dk/linux-block:
        io_uring: zero iocb->ki_pos for stream file types
      a026fa54
    • Linus Torvalds's avatar
      Merge branch 'ucount-rlimit-fixes-for-v5.16' of... · 7fe2bc1b
      Linus Torvalds authored
      Merge branch 'ucount-rlimit-fixes-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull ucount fix from Eric Biederman:
       "This fixes a silly logic bug in the ucount rlimits code, where it was
        comparing against the wrong limit"
      
      * 'ucount-rlimit-fixes-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        ucounts: Fix rlimit max values check
      7fe2bc1b
    • Linus Torvalds's avatar
      Merge tag 'net-5.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 76657eae
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from netfilter.
      
        Current release - regressions:
      
         - revert "tipc: use consistent GFP flags"
      
        Previous releases - regressions:
      
         - igb: fix deadlock caused by taking RTNL in runtime resume path
      
         - accept UFOv6 packages in virtio_net_hdr_to_skb
      
         - netfilter: fix regression in looped (broad|multi)cast's MAC
           handling
      
         - bridge: fix ioctl old_deviceless bridge argument
      
         - ice: xsk: do not clear status_error0 for ntu + nb_buffs descriptor,
           avoid stalls when multiple sockets use an interface
      
        Previous releases - always broken:
      
         - inet: fully convert sk->sk_rx_dst to RCU rules
      
         - veth: ensure skb entering GRO are not cloned
      
         - sched: fix zone matching for invalid conntrack state
      
         - bonding: fix ad_actor_system option setting to default
      
         - nf_tables: fix use-after-free in nft_set_catchall_destroy()
      
         - lantiq_xrx200: increase buffer reservation to avoid mem corruption
      
         - ice: xsk: avoid leaking app buffers during clean up
      
         - tun: avoid double free in tun_free_netdev"
      
      * tag 'net-5.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (45 commits)
        net: stmmac: dwmac-visconti: Fix value of ETHER_CLK_SEL_FREQ_SEL_2P5M
        r8152: sync ocp base
        r8152: fix the force speed doesn't work for RTL8156
        net: bridge: fix ioctl old_deviceless bridge argument
        net: stmmac: ptp: fix potentially overflowing expression
        net: dsa: tag_ocelot: use traffic class to map priority on injected header
        veth: ensure skb entering GRO are not cloned.
        asix: fix wrong return value in asix_check_host_enable()
        asix: fix uninit-value in asix_mdio_read()
        sfc: falcon: Check null pointer of rx_queue->page_ring
        sfc: Check null pointer of rx_queue->page_ring
        net: ks8851: Check for error irq
        drivers: net: smc911x: Check for error irq
        fjes: Check for error irq
        bonding: fix ad_actor_system option setting to default
        igb: fix deadlock caused by taking RTNL in RPM resume path
        gve: Correct order of processing device options
        net: skip virtio_net_hdr_set_proto if protocol already set
        net: accept UFOv6 packages in virtio_net_hdr_to_skb
        docs: networking: replace skb_hwtstamp_tx with skb_tstamp_tx
        ...
      76657eae
    • Nobuhiro Iwamatsu's avatar
      net: stmmac: dwmac-visconti: Fix value of ETHER_CLK_SEL_FREQ_SEL_2P5M · 391e5975
      Nobuhiro Iwamatsu authored
      ETHER_CLK_SEL_FREQ_SEL_2P5M is not 0 bit of the register. This is a
      value, which is 0. Fix from BIT(0) to 0.
      Reported-by: default avatarYuji Ishikawa <yuji2.ishikawa@toshiba.co.jp>
      Fixes: b38dd98f ("net: stmmac: Add Toshiba Visconti SoCs glue driver")
      Signed-off-by: default avatarNobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
      Link: https://lore.kernel.org/r/20211223073633.101306-1-nobuhiro1.iwamatsu@toshiba.co.jpSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      391e5975
    • Jakub Kicinski's avatar
      Merge branch 'r8152-fix-bugs' · 65fd0c33
      Jakub Kicinski authored
      Hayes Wang says:
      
      ====================
      r8152: fix bugs
      
      Patch #1 fix the issue of force speed mode for RTL8156.
      Patch #2 fix the issue of unexpected ocp_base.
      ====================
      
      Link: https://lore.kernel.org/r/20211223092702.23841-386-nic_swsd@realtek.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      65fd0c33
    • Hayes Wang's avatar
      r8152: sync ocp base · b24edca3
      Hayes Wang authored
      There are some chances that the actual base of hardware is different
      from the value recorded by driver, so we have to reset the variable
      of ocp_base to sync it.
      
      Set ocp_base to -1. Then, it would be updated and the new base would be
      set to the hardware next time.
      Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b24edca3
    • Hayes Wang's avatar
      r8152: fix the force speed doesn't work for RTL8156 · 45bf944e
      Hayes Wang authored
      It needs to set mdio force mode. Otherwise, link off always occurs when
      setting force speed.
      
      Fixes: 195aae32 ("r8152: support new chips")
      Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      45bf944e
    • Linus Torvalds's avatar
      Merge tag 'sound-5.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 996a18eb
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Quite a few small fixes, hopefully the last batch for 5.16.
      
        Most of them are device-specific quirks and/or fixes, and nothing
        looks scary for the late stage"
      
      * tag 'sound-5.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek: Fix quirk for Clevo NJ51CU
        ALSA: rawmidi - fix the uninitalized user_pversion
        ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2
        ALSA: hda: intel-sdw-acpi: harden detection of controller
        ALSA: hda/hdmi: Disable silent stream on GLK
        ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook
        ASoC: meson: aiu: Move AIU_I2S_MISC hold setting to aiu-fifo-i2s
        ASoC: meson: aiu: fifo: Add missing dma_coerce_mask_and_coherent()
        ASoC: tas2770: Fix setting of high sample rates
        ASoC: rt5682: fix the wrong jack type detected
        ALSA: hda/realtek: Add new alc285-hp-amp-init model
        ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6
        ASoC: tegra: Restore headphones jack name on Nyan Big
        ASoC: tegra: Add DAPM switches for headphones and mic jack
        ALSA: jack: Check the return value of kstrdup()
        ALSA: drivers: opl3: Fix incorrect use of vp->state
        ASoC: SOF: Intel: pci-tgl: add new ADL-P variant
        ASoC: SOF: Intel: pci-tgl: add ADL-N support
      996a18eb
    • Remi Pommarel's avatar
      net: bridge: fix ioctl old_deviceless bridge argument · d95a5620
      Remi Pommarel authored
      Commit 561d8352 ("bridge: use ndo_siocdevprivate") changed the
      source and destination arguments of copy_{to,from}_user in bridge's
      old_deviceless() from args[1] to uarg breaking SIOC{G,S}IFBR ioctls.
      
      Commit cbd7ad29 ("net: bridge: fix ioctl old_deviceless bridge
      argument") fixed only BRCTL_{ADD,DEL}_BRIDGES commands leaving
      BRCTL_GET_BRIDGES one untouched.
      
      The fixes BRCTL_GET_BRIDGES as well and has been tested with busybox's
      brctl.
      
      Example of broken brctl:
      $ brctl show
      bridge name     bridge id               STP enabled     interfaces
      brctl: can't get bridge name for index 0: No such device or address
      
      Example of fixed brctl:
      $ brctl show
      bridge name     bridge id               STP enabled     interfaces
      br0             8000.000000000000       no
      
      Fixes: 561d8352 ("bridge: use ndo_siocdevprivate")
      Signed-off-by: default avatarRemi Pommarel <repk@triplefau.lt>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarNikolay Aleksandrov <nikolay@nvidia.com>
      Link: https://lore.kernel.org/all/20211223153139.7661-2-repk@triplefau.lt/Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d95a5620
    • Xiaoliang Yang's avatar
      net: stmmac: ptp: fix potentially overflowing expression · eccffcf4
      Xiaoliang Yang authored
      Convert the u32 variable to type u64 in a context where expression of
      type u64 is required to avoid potential overflow.
      
      Fixes: e9e37200 ("net: stmmac: ptp: update tas basetime after ptp adjust")
      Signed-off-by: default avatarXiaoliang Yang <xiaoliang.yang_1@nxp.com>
      Link: https://lore.kernel.org/r/20211223073928.37371-1-xiaoliang.yang_1@nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      eccffcf4
    • Xiaoliang Yang's avatar
      net: dsa: tag_ocelot: use traffic class to map priority on injected header · ae2778a6
      Xiaoliang Yang authored
      For Ocelot switches, the CPU injected frames have an injection header
      where it can specify the QoS class of the packet and the DSA tag, now it
      uses the SKB priority to set that. If a traffic class to priority
      mapping is configured on the netdevice (with mqprio for example ...), it
      won't be considered for CPU injected headers. This patch make the QoS
      class aligned to the priority to traffic class mapping if it exists.
      
      Fixes: 8dce89aa ("net: dsa: ocelot: add tagger for Ocelot/Felix switches")
      Signed-off-by: default avatarXiaoliang Yang <xiaoliang.yang_1@nxp.com>
      Signed-off-by: default avatarMarouen Ghodhbane <marouen.ghodhbane@nxp.com>
      Link: https://lore.kernel.org/r/20211223072211.33130-1-xiaoliang.yang_1@nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ae2778a6
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 3bf6f013
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix interrupts when replugging the device in gpio-dln2
      
       - remove the arbitrary timeout on virtio requests from gpio-virtio
      
      * tag 'gpio-fixes-for-v5.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: virtio: remove timeout
        gpio: dln2: Fix interrupts when replugging the device
      3bf6f013
    • Paolo Abeni's avatar
      veth: ensure skb entering GRO are not cloned. · 9695b7de
      Paolo Abeni authored
      After commit d3256efd ("veth: allow enabling NAPI even without XDP"),
      if GRO is enabled on a veth device and TSO is disabled on the peer
      device, TCP skbs will go through the NAPI callback. If there is no XDP
      program attached, the veth code does not perform any share check, and
      shared/cloned skbs could enter the GRO engine.
      
      Ignat reported a BUG triggered later-on due to the above condition:
      
      [   53.970529][    C1] kernel BUG at net/core/skbuff.c:3574!
      [   53.981755][    C1] invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
      [   53.982634][    C1] CPU: 1 PID: 19 Comm: ksoftirqd/1 Not tainted 5.16.0-rc5+ #25
      [   53.982634][    C1] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
      [   53.982634][    C1] RIP: 0010:skb_shift+0x13ef/0x23b0
      [   53.982634][    C1] Code: ea 03 0f b6 04 02 48 89 fa 83 e2 07 38 d0
      7f 08 84 c0 0f 85 41 0c 00 00 41 80 7f 02 00 4d 8d b5 d0 00 00 00 0f
      85 74 f5 ff ff <0f> 0b 4d 8d 77 20 be 04 00 00 00 4c 89 44 24 78 4c 89
      f7 4c 89 8c
      [   53.982634][    C1] RSP: 0018:ffff8881008f7008 EFLAGS: 00010246
      [   53.982634][    C1] RAX: 0000000000000000 RBX: ffff8881180b4c80 RCX: 0000000000000000
      [   53.982634][    C1] RDX: 0000000000000002 RSI: ffff8881180b4d3c RDI: ffff88810bc9cac2
      [   53.982634][    C1] RBP: ffff8881008f70b8 R08: ffff8881180b4cf4 R09: ffff8881180b4cf0
      [   53.982634][    C1] R10: ffffed1022999e5c R11: 0000000000000002 R12: 0000000000000590
      [   53.982634][    C1] R13: ffff88810f940c80 R14: ffff88810f940d50 R15: ffff88810bc9cac0
      [   53.982634][    C1] FS:  0000000000000000(0000) GS:ffff888235880000(0000) knlGS:0000000000000000
      [   53.982634][    C1] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   53.982634][    C1] CR2: 00007ff5f9b86680 CR3: 0000000108ce8004 CR4: 0000000000170ee0
      [   53.982634][    C1] Call Trace:
      [   53.982634][    C1]  <TASK>
      [   53.982634][    C1]  tcp_sacktag_walk+0xaba/0x18e0
      [   53.982634][    C1]  tcp_sacktag_write_queue+0xe7b/0x3460
      [   53.982634][    C1]  tcp_ack+0x2666/0x54b0
      [   53.982634][    C1]  tcp_rcv_established+0x4d9/0x20f0
      [   53.982634][    C1]  tcp_v4_do_rcv+0x551/0x810
      [   53.982634][    C1]  tcp_v4_rcv+0x22ed/0x2ed0
      [   53.982634][    C1]  ip_protocol_deliver_rcu+0x96/0xaf0
      [   53.982634][    C1]  ip_local_deliver_finish+0x1e0/0x2f0
      [   53.982634][    C1]  ip_sublist_rcv_finish+0x211/0x440
      [   53.982634][    C1]  ip_list_rcv_finish.constprop.0+0x424/0x660
      [   53.982634][    C1]  ip_list_rcv+0x2c8/0x410
      [   53.982634][    C1]  __netif_receive_skb_list_core+0x65c/0x910
      [   53.982634][    C1]  netif_receive_skb_list_internal+0x5f9/0xcb0
      [   53.982634][    C1]  napi_complete_done+0x188/0x6e0
      [   53.982634][    C1]  gro_cell_poll+0x10c/0x1d0
      [   53.982634][    C1]  __napi_poll+0xa1/0x530
      [   53.982634][    C1]  net_rx_action+0x567/0x1270
      [   53.982634][    C1]  __do_softirq+0x28a/0x9ba
      [   53.982634][    C1]  run_ksoftirqd+0x32/0x60
      [   53.982634][    C1]  smpboot_thread_fn+0x559/0x8c0
      [   53.982634][    C1]  kthread+0x3b9/0x490
      [   53.982634][    C1]  ret_from_fork+0x22/0x30
      [   53.982634][    C1]  </TASK>
      
      Address the issue by skipping the GRO stage for shared or cloned skbs.
      To reduce the chance of OoO, try to unclone the skbs before giving up.
      
      v1 -> v2:
       - use avoid skb_copy and fallback to netif_receive_skb  - Eric
      Reported-by: default avatarIgnat Korchagin <ignat@cloudflare.com>
      Fixes: d3256efd ("veth: allow enabling NAPI even without XDP")
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Tested-by: default avatarIgnat Korchagin <ignat@cloudflare.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://lore.kernel.org/r/b5f61c5602aab01bac8d711d8d1bfab0a4817db7.1640197544.git.pabeni@redhat.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9695b7de
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 0d81b5fa
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "MMC core:
         - Disable card detect during shutdown
      
        MMC host:
         - mmci: Fixup tuning support for stm32_sdmmc
         - meson-mx-sdhc: Fix support for multi-block SDIO commands
         - sdhci-tegra: Fix support for eMMC HS400ES mode"
      
      * tag 'mmc-v5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: mmci: stm32: clear DLYB_CR after sending tuning command
        mmc: meson-mx-sdhc: Set MANUAL_STOP for multi-block SDIO commands
        mmc: core: Disable card detect during shutdown
        mmc: sdhci-tegra: Fix switch to HS400ES mode
      0d81b5fa
    • Linus Torvalds's avatar
      Merge tag 'arm-fixes-5.16-4' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · c8cc50a9
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "This is my last set of fixes for 5.16, including
      
         - multiple code fixes for the op-tee firmware driver
      
         - Two patches for allwinner SoCs, one fixing the phy mode on a board,
           the other one fixing a driver bug in the "RSB" bus driver. This was
           originally targeted for 5.17, but seemed worth moving to 5.16
      
         - Two small fixes for devicetree files on i.MX platforms, resolving
           problems with ethernet and i2c"
      
      * tag 'arm-fixes-5.16-4' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        optee: Suppress false positive kmemleak report in optee_handle_rpc()
        tee: optee: Fix incorrect page free bug
        arm64: dts: lx2160a: fix scl-gpios property name
        tee: handle lookup of shm with reference count 0
        ARM: dts: imx6qdl-wandboard: Fix Ethernet support
        bus: sunxi-rsb: Fix shutdown
        arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode
      c8cc50a9
    • Jens Axboe's avatar
      io_uring: zero iocb->ki_pos for stream file types · 7b9762a5
      Jens Axboe authored
      io_uring supports using offset == -1 for using the current file position,
      and we read that in as part of read/write command setup. For the non-iter
      read/write types we pass in NULL for the position pointer, but for the
      iter types we should not be passing any anything but 0 for the position
      for a stream.
      
      Clear kiocb->ki_pos if the file is a stream, don't leave it as -1. If we
      do, then the request will error with -ESPIPE.
      
      Fixes: ba04291e ("io_uring: allow use of offset == -1 to mean file position")
      Link: https://github.com/axboe/liburing/discussions/501Reported-by: default avatarSamuel Williams <samuel.williams@oriontransfer.co.nz>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      7b9762a5
  2. 22 Dec, 2021 21 commits
  3. 21 Dec, 2021 3 commits
    • Linus Torvalds's avatar
      Merge tag 'pm-5.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2f47a9a4
      Linus Torvalds authored
      Pull power management fix from Rafael Wysocki:
       "Fix a recent regression causing the loop in dpm_prepare() to become
        infinite if one of the device ->prepare() callbacks returns an error"
      
      * tag 'pm-5.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM: sleep: Fix error handling in dpm_prepare()
      2f47a9a4
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · ca0ea8a6
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
      
       - Fix for compilation of selftests on non-x86 architectures
      
       - Fix for kvm_run->if_flag on SEV-ES
      
       - Fix for page table use-after-free if yielding during exit_mm()
      
       - Improve behavior when userspace starts a nested guest with invalid
         state
      
       - Fix missed wakeup with assigned devices but no VT-d posted interrupts
      
       - Do not tell userspace to save/restore an unsupported PMU MSR
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU
        KVM: selftests: Add test to verify TRIPLE_FAULT on invalid L2 guest state
        KVM: VMX: Fix stale docs for kvm-intel.emulate_invalid_guest_state
        KVM: nVMX: Synthesize TRIPLE_FAULT for L2 if emulation is required
        KVM: VMX: Always clear vmx->fail on emulation_required
        selftests: KVM: Fix non-x86 compiling
        KVM: x86: Always set kvm_run->if_flag
        KVM: x86/mmu: Don't advance iterator after restart due to yielding
        KVM: x86: remove PMU FIXED_CTR3 from msrs_to_save_all
      ca0ea8a6
    • John David Anglin's avatar
      parisc: Fix mask used to select futex spinlock · d3a5a68c
      John David Anglin authored
      The address bits used to select the futex spinlock need to match those used in
      the LWS code in syscall.S. The mask 0x3f8 only selects 7 bits.  It should
      select 8 bits.
      
      This change fixes the glibc nptl/tst-cond24 and nptl/tst-cond25 tests.
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Fixes: 53a42b63 ("parisc: Switch to more fine grained lws locks")
      Cc: stable@vger.kernel.org # 5.10+
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      d3a5a68c