Skip to contentSkip to conversation

Linux 5.10.190

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Aug 11, 2023 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.10.190 kernel.

All users of the 5.10 kernel series must upgrade.

The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/admin-guide/security-bugs.rst                   |   39 
 Makefile                                                      |    2 
 arch/arm/boot/dts/imx6qdl.dtsi                                |    4 
 arch/arm/boot/dts/imx6sl.dtsi                                 |    3 
 arch/arm/boot/dts/imx6sll.dtsi                                |   26 
 arch/arm/boot/dts/imx6sx.dtsi                                 |    3 
 arch/arm/boot/dts/imx6ul.dtsi                                 |    2 
 arch/arm/boot/dts/imx7d.dtsi                                  |    6 
 arch/arm/boot/dts/imx7s.dtsi                                  |    2 
 arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts        |    2 
 arch/arm64/boot/dts/altera/socfpga_stratix10_socdk_nand.dts   |    2 
 arch/arm64/boot/dts/freescale/imx8mn-var-som.dtsi             |    2 
 arch/powerpc/include/asm/word-at-a-time.h                     |    2 
 arch/powerpc/mm/init_64.c                                     |    3 
 arch/s390/kernel/sthyi.c                                      |    6 
 arch/s390/kvm/intercept.c                                     |    9 
 arch/s390/mm/gmap.c                                           |    1 
 arch/x86/include/asm/cpufeatures.h                            |    1 
 arch/x86/include/asm/kprobes.h                                |   24 
 arch/x86/include/asm/processor.h                              |    2 
 arch/x86/kernel/cpu/amd.c                                     |   19 
 arch/x86/kernel/kprobes/core.c                                |  639 -
 arch/x86/kernel/traps.c                                       |    5 
 arch/x86/kvm/vmx/vmx.c                                        |   87 
 drivers/acpi/processor_perflib.c                              |   38 
 drivers/ata/pata_ns87415.c                                    |    2 
 drivers/base/power/power.h                                    |    8 
 drivers/base/power/runtime.c                                  |    6 
 drivers/base/power/wakeirq.c                                  |  111 
 drivers/block/loop.c                                          |    3 
 drivers/char/tpm/tpm_tis_core.c                               |   10 
 drivers/cpufreq/intel_pstate.c                                |   14 
 drivers/gpio/gpio-tps68470.c                                  |    6 
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c                         |    2 
 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h                   |    2 
 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h                 |   13 
 drivers/gpu/drm/ttm/ttm_bo.c                                  |   16 
 drivers/gpu/drm/ttm/ttm_bo_util.c                             |    2 
 drivers/hwmon/nct7802.c                                       |    2 
 drivers/i2c/busses/i2c-ibm_iic.c                              |    4 
 drivers/i2c/busses/i2c-nomadik.c                              |   42 
 drivers/i2c/busses/i2c-sh7760.c                               |    3 
 drivers/i2c/busses/i2c-tiny-usb.c                             |    4 
 drivers/infiniband/hw/mlx4/qp.c                               |   18 
 drivers/infiniband/hw/mthca/mthca_qp.c                        |    2 
 drivers/irqchip/irq-bcm6345-l1.c                              |   14 
 drivers/irqchip/irq-gic-v3-its.c                              |   75 
 drivers/isdn/hardware/mISDN/hfcpci.c                          |   10 
 drivers/md/dm-cache-policy-smq.c                              |   28 
 drivers/md/dm-raid.c                                          |   20 
 drivers/md/md.c                                               |    2 
 drivers/mtd/nand/raw/fsl_upm.c                                |    2 
 drivers/mtd/nand/raw/meson_nand.c                             |    3 
 drivers/mtd/nand/raw/omap_elm.c                               |   24 
 drivers/mtd/nand/spi/toshiba.c                                |    4 
 drivers/net/Makefile                                          |    2 
 drivers/net/bonding/bond_main.c                               |    5 
 drivers/net/can/usb/gs_usb.c                                  |    2 
 drivers/net/dsa/bcm_sf2.c                                     |    8 
 drivers/net/ethernet/atheros/atl1e/atl1e_main.c               |    7 
 drivers/net/ethernet/emulex/benet/be_main.c                   |    3 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c        |   60 
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c         |    3 
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c                |    2 
 drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c             |   26 
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c                 |    2 
 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c |    4 
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c             |  103 
 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c     |    5 
 drivers/net/ethernet/socionext/netsec.c                       |   11 
 drivers/net/ethernet/xilinx/ll_temac_main.c                   |   16 
 drivers/net/phy/marvell10g.c                                  |    7 
 drivers/net/tap.c                                             |    2 
 drivers/net/team/team.c                                       |    9 
 drivers/net/tun.c                                             |    2 
 drivers/net/usb/cdc_ether.c                                   |   21 
 drivers/net/usb/usbnet.c                                      |    6 
 drivers/net/usb/zaurus.c                                      |   21 
 drivers/net/virtio_net.c                                      |    4 
 drivers/net/vxlan.c                                           | 4829 ----------
 drivers/net/vxlan/Makefile                                    |    7 
 drivers/net/vxlan/vxlan_core.c                                | 4826 +++++++++
 drivers/net/wireless/mediatek/mt76/mac80211.c                 |    8 
 drivers/net/wireless/mediatek/mt76/mt76.h                     |    2 
 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c            |    2 
 drivers/net/wireless/mediatek/mt76/mt7615/dma.c               |    2 
 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c            |   22 
 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c            |    6 
 drivers/net/wireless/mediatek/mt76/mt76x0/init.c              |    4 
 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c               |    4 
 drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c           |    8 
 drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c            |    8 
 drivers/net/wireless/mediatek/mt76/mt7915/init.c              |    5 
 drivers/pci/pcie/aspm.c                                       |   55 
 drivers/phy/hisilicon/phy-hisi-inno-usb2.c                    |    2 
 drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c                 |   86 
 drivers/platform/x86/msi-laptop.c                             |    8 
 drivers/pwm/pwm-meson.c                                       |   25 
 drivers/s390/block/dasd_ioctl.c                               |    1 
 drivers/s390/net/qeth_core.h                                  |    1 
 drivers/s390/net/qeth_core_main.c                             |    2 
 drivers/s390/net/qeth_l2_main.c                               |    9 
 drivers/s390/net/qeth_l3_main.c                               |    8 
 drivers/s390/scsi/zfcp_fc.c                                   |    6 
 drivers/soundwire/bus.c                                       |   31 
 drivers/staging/ks7010/ks_wlan_net.c                          |    6 
 drivers/staging/media/atomisp/Kconfig                         |    1 
 drivers/staging/rtl8712/ieee80211.c                           |   12 
 drivers/staging/rtl8712/rtl871x_ioctl_linux.c                 |    8 
 drivers/staging/rtl8712/rtl871x_mlme.c                        |   10 
 drivers/staging/rtl8712/rtl871x_xmit.c                        |   46 
 drivers/staging/rtl8712/wifi.h                                |   15 
 drivers/staging/rtl8712/xmit_linux.c                          |    6 
 drivers/tty/n_gsm.c                                           |    4 
 drivers/tty/serial/8250/8250_dwlib.c                          |    6 
 drivers/tty/serial/qcom_geni_serial.c                         |    7 
 drivers/tty/serial/sifive.c                                   |    2 
 drivers/usb/core/quirks.c                                     |    4 
 drivers/usb/dwc3/core.c                                       |   20 
 drivers/usb/dwc3/core.h                                       |    3 
 drivers/usb/dwc3/dwc3-pci.c                                   |    6 
 drivers/usb/gadget/legacy/raw_gadget.c                        |   10 
 drivers/usb/gadget/udc/tegra-xudc.c                           |    8 
 drivers/usb/host/ohci-at91.c                                  |    8 
 drivers/usb/host/xhci-mtk.c                                   |    1 
 drivers/usb/host/xhci-tegra.c                                 |    8 
 drivers/usb/serial/option.c                                   |    6 
 drivers/usb/serial/usb-serial-simple.c                        |   73 
 fs/btrfs/ctree.c                                              |    2 
 fs/btrfs/qgroup.c                                             |   18 
 fs/btrfs/transaction.c                                        |   10 
 fs/ceph/mds_client.c                                          |    4 
 fs/ceph/mds_client.h                                          |    5 
 fs/ceph/metric.c                                              |    2 
 fs/ceph/super.c                                               |   10 
 fs/dlm/plock.c                                                |  100 
 fs/exfat/balloc.c                                             |    6 
 fs/exfat/dir.c                                                |   70 
 fs/exfat/exfat_fs.h                                           |    7 
 fs/exfat/namei.c                                              |    9 
 fs/ext2/ext2.h                                                |   12 
 fs/ext2/super.c                                               |   23 
 fs/ext4/ioctl.c                                               |    5 
 fs/file.c                                                     |   24 
 fs/nfsd/nfs4state.c                                           |    2 
 fs/open.c                                                     |    2 
 fs/super.c                                                    |   11 
 fs/sysv/itree.c                                               |    4 
 include/asm-generic/word-at-a-time.h                          |    2 
 include/drm/ttm/ttm_bo_api.h                                  |   28 
 include/linux/pm_wakeirq.h                                    |    9 
 include/linux/trace_events.h                                  |    4 
 include/net/ipv6.h                                            |    8 
 include/net/vxlan.h                                           |   17 
 include/trace/trace_events.h                                  |    2 
 include/uapi/linux/blkzoned.h                                 |   10 
 io_uring/io_uring.c                                           |   33 
 kernel/events/core.c                                          |    8 
 kernel/trace/bpf_trace.c                                      |    6 
 kernel/trace/ring_buffer.c                                    |   22 
 kernel/trace/trace.c                                          |   76 
 kernel/trace/trace.h                                          |    2 
 kernel/trace/trace_events.c                                   |   14 
 kernel/trace/trace_output.c                                   |   12 
 net/bluetooth/l2cap_sock.c                                    |    2 
 net/ceph/osd_client.c                                         |   20 
 net/core/bpf_sk_storage.c                                     |    5 
 net/core/rtnetlink.c                                          |    8 
 net/core/sock.c                                               |   21 
 net/core/sock_map.c                                           |    2 
 net/dcb/dcbnl.c                                               |    2 
 net/ipv4/tcp_metrics.c                                        |   70 
 net/ipv6/addrconf.c                                           |   14 
 net/ipv6/ip6mr.c                                              |    2 
 net/netfilter/nf_tables_api.c                                 |   20 
 net/netfilter/nft_immediate.c                                 |   27 
 net/netfilter/nft_set_rbtree.c                                |   20 
 net/sched/cls_fw.c                                            |    1 
 net/sched/cls_route.c                                         |    1 
 net/sched/cls_u32.c                                           |   57 
 net/sched/sch_mqprio.c                                        |  144 
 net/tipc/crypto.c                                             |    3 
 net/tipc/node.c                                               |    2 
 net/unix/af_unix.c                                            |    2 
 net/wireless/scan.c                                           |    2 
 sound/pci/hda/patch_realtek.c                                 |    1 
 sound/soc/codecs/cs42l51-i2c.c                                |    6 
 sound/soc/codecs/cs42l51.c                                    |    7 
 sound/soc/codecs/cs42l51.h                                    |    1 
 sound/soc/codecs/wm8904.c                                     |    3 
 sound/soc/fsl/fsl_spdif.c                                     |    2 
 tools/perf/tests/shell/test_uprobe_from_different_cu.sh       |    8 
 tools/testing/selftests/net/mptcp/config                      |    1 
 tools/testing/selftests/rseq/rseq.c                           |   31 
 194 files changed, 6995 insertions(+), 6018 deletions(-)

Adrien Thierry (2):
phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend
phy: qcom-snps-femto-v2: properly enable ref clock

Alan Stern (1):
net: usbnet: Fix WARNING in usbnet_start_xmit/usb_submit_urb

Aleksa Sarai (1):
open: make RESOLVE_CACHED correctly test for O_TMPFILE

Alexander Aring (3):
dlm: cleanup plock_op vs plock_xop
dlm: rearrange async condition return
fs: dlm: interrupt posix locks only when process is killed

Alexander Steffen (1):
tpm_tis: Explicitly check for error code

Alexandra Winter (1):
s390/qeth: Don't call dev_close/dev_open (DOWN/UP)

Andi Shyti (2):
i2c: nomadik: Remove unnecessary goto label
i2c: nomadik: Use devm_clk_get_enabled()

Andreas Kemnade (1):
ARM: dts: imx6sll: fixup of operating points

Aneesh Kumar K.V (1):
powerpc/mm/altmap: Fix altmap boundary check

Arnd Bergmann (1):

      ata: pata_ns87415: mark ns87560_tf_read static

Arseniy Krasnov (1):
mtd: rawnand: meson: fix OOB available bytes for ECC

Bart Van Assche (2):
block: Fix a source code comment in include/uapi/linux/blkzoned.h
loop: Select I/O scheduler 'none' from inside add_disk()

Benjamin Poirier (1):
vxlan: Fix nexthop hash size

Bjorn Helgaas (1):
PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link()

Borislav Petkov (AMD) (1):
x86/CPU/AMD: Do not leak quotient data after a division by 0

Chao Yu (1):
ext4: fix to check return value of freeze_bdev() in ext4_shutdown()

Chaoyuan Peng (1):
tty: n_gsm: fix UAF in gsm_cleanup_mux

Chengfeng Ye (1):

      mISDN: hfcpci: Fix potential deadlock on &hc->lock

Christian Brauner (1):
file: always lock position for FMODE_ATOMIC_POS

Christian König (3):
drm/ttm: add ttm_bo_pin()/ttm_bo_unpin() v2 drm/ttm: never consider pinned BOs for eviction&swap drm/ttm: make ttm_bo_unpin more defensive

Christophe JAILLET (3):
i2c: nomadik: Remove a useless call in the remove function
staging: rtl8712: Use constants from <linux/ieee80211.h>
mtd: rawnand: fsl_upm: Fix an off-by one test in fun_exec_op()

Chunfeng Yun (1):
PM / wakeirq: support enabling wake-up irq after runtime_suspend called

Claudio Imbrenda (1):
KVM: s390: pv: fix index value of replaced ASCE

Dan Carpenter (4):
RDMA/mlx4: Make check for invalid flags stricter
Revert "usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()" Revert "usb: xhci: tegra: Fix error check"
net: ll_temac: fix error checking of irq_of_parse_and_map()

Dinh Nguyen (1):
arm64: dts: stratix10: fix incorrect I2C property for SCL signal

Dmitry Baryshkov (1):
drm/msm/dpu: drop enum dpu_core_perf_data_bus_id

Douglas Anderson (1):
tracing: Fix sleeping while atomic in kdb ftdump

Eric Dumazet (12):

      net: annotate data-races around sk->sk_max_pacing_rate
      net: add missing READ_ONCE(sk->sk_rcvlowat) annotation
      net: add missing READ_ONCE(sk->sk_sndbuf) annotation
      net: add missing READ_ONCE(sk->sk_rcvbuf) annotation
      net: add missing data-race annotations around sk->sk_peek_off
      net: add missing data-race annotation for sk_ll_usec
      tcp_metrics: fix addr_same() helper
      tcp_metrics: annotate data-races around tm->tcpm_stamp
      tcp_metrics: annotate data-races around tm->tcpm_lock
      tcp_metrics: annotate data-races around tm->tcpm_vals[]
      tcp_metrics: annotate data-races around tm->tcpm_net
      tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen

Fedor Pchelkin (1):
tipc: stop tipc crypto on failure in tipc_node_create

Filipe Manana (4):
btrfs: fix race between quota disable and relocation
btrfs: fix extent buffer leak after tree mod log failure at split_node()
btrfs: check for commit error at btrfs_attach_transaction_barrier()
btrfs: check if the transaction was aborted at btrfs_wait_for_commit()

Florian Westphal (1):
netfilter: nft_set_rbtree: fix overlap expiration walk

Gaosheng Cui (1):
drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()

Georg Müller (1):
perf test uprobe_from_different_cu: Skip if there is no gcc

Gilles Buloz (1):
hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled

Gratian Crisan (1):
usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy

Greg Kroah-Hartman (3):
Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group
Documentation: security-bugs.rst: clarify CVE handling
Linux 5.10.190

Guangbin Huang (1):
net: hns3: reconstruct function hclge_ets_validate()

Guchun Chen (1):
drm/ttm: check null pointer before accessing when swapping

Guiting Shen (1):
usb: ohci-at91: Fix the unhandle interrupt when resume

Gustavo A. R. Silva (2):
kprobes/x86: Fix fall-through warnings for Clang
mt76: mt7615: Fix fall-through warnings for Clang

Hangbin Liu (2):
bonding: reset bond's flags when down link is P2P device
team: reset team's flags when down link is P2P device

Hans de Goede (1):
gpio: tps68470: Make tps68470_gpio_output() always set the initial value

Harshit Mogalapalli (1):
phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()

Heiko Carstens (1):
KVM: s390: fix sthyi error handling

Heiner Kallweit (1):
pwm: meson: fix handling of period/duty if greater than UINT_MAX

Hugo Villeneuve (1):
arm64: dts: imx8mn-var-som: add missing pull-up for onboard PHY reset pinmux

Hyeongseok Kim (1):
exfat: speed up iterate/lookup by fixing start point of traversing cluster chain

Ilan Peer (1):
wifi: cfg80211: Fix return value in scan logic

Ilpo Järvinen (2):
PCI/ASPM: Factor out pcie_wait_for_retrain() PCI/ASPM: Avoid link retraining race

Ilya Dryomov (1):
libceph: fix potential hang in ceph_osdc_notify()

Jakub Vanek (1):
Revert "usb: dwc3: core: Enable AutoRetry feature in the controller"

Jamal Hadi Salim (1):
net: sched: cls_u32: Fix match key mis-addressing

Jan Kara (2):
fs: Protect reconfiguration of sb read-write from racing writes
ext2: Drop fragment support

Jason Wang (1):
virtio-net: fix race between set queues and probe

Jedrzej Jagielski (1):
ice: Fix memory management in ice_ethtool_fdir.c

Jens Axboe (2):
io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq
io_uring: gate iowait schedule on having pending requests

Jerry Meng (1):
USB: serial: option: support Quectel EM060K_128

Jianbo Liu (2):
net/mlx5: fs_core: Make find_closest_ft more generic net/mlx5: fs_core: Skip the FTs in the same FS_TYPE_PRIO_CHAINS fs_prio

Jiawen Wu (1):

      net: phy: marvell10g: fix 88x3310 power up

Jijie Shao (1):
net: hns3: fix wrong bw weight of disabled tc issue

Jiri Benc (1):
vxlan: calculate correct header length for GPE

Jiri Olsa (1):
bpf: Disable preemption in bpf_event_output

Jisheng Zhang (1):
usb: dwc3: don't reset device side if dwc3 was configured as host-only

Joe Thornber (1):
dm cache policy smq: ensure IO doesn't prevent cleaner policy progress

Johan Hovold (4):
serial: qcom-geni: drop bogus runtime pm state update
USB: serial: simple: sort driver entries
soundwire: fix enumeration completion
PM: sleep: wakeirq: fix wake irq arming

Jonas Gorski (1):
irq-bcm6345-l1: Do not assume a fixed block to cpu mapping

Krzysztof Kozlowski (1):
phy: qcom-snps: correct struct qcom_snps_hsphy kerneldoc

Larry Finger (1):

      staging: r8712: Fix memory leak in _r8712_init_xmit_priv()

Laszlo Ersek (2):
net: tun_chr_open(): set sk_uid from current_fsuid()
net: tap_open(): set sk_uid from current_fsuid()

Lin Ma (4):
net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
bpf: Add length check for SK_DIAG_BPF_STORAGE_REQ_MAP_FD parsing
rtnetlink: let rtnl_bridge_setlink checks IFLA_BRIDGE_MODE length
net: dcb: choose correct policy to parse DCB_ATTR_BCN

Linus Torvalds (1):
file: reinstate f_pos locking optimization for regular files

Lorenzo Bianconi (1):
mt76: move band capabilities in mt76_phy

Luka Guzenko (1):
ALSA: hda/relatek: Enable Mute LED on HP 250 G8

Maciej Żenczykowski (1):
ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address

Marc Kleine-Budde (1):
can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED

Marc Zyngier (1):
irqchip/gic-v4.1: Properly lock VPEs when doing a directLPI invalidation

Mark Brown (2):
ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register
net: netsec: Ignore 'phy-mode' on SynQuacer in DT mode

Markus Elfring (2):
i2c: Delete error messages for failed memory allocations
i2c: Improve size determinations

Masami Hiramatsu (6):
tracing: Show real address for trace event arguments x86/kprobes: Do not decode opcode in resume_execution() x86/kprobes: Retrieve correct opcode for group instruction x86/kprobes: Identify far indirect JMP correctly x86/kprobes: Use int3 instead of debug trap for single-step x86/kprobes: Fix to identify indirect jmp and others using range case

Masami Hiramatsu (Google) (1):
x86/kprobes: Update kcb status flag after singlestepping

Matthieu Baerts (1):
selftests: mptcp: depend on SYN_COOKIES

Matus Gajdos (1):
ASoC: fsl_spdif: Silence output on stop

Maxim Mikityanskiy (1):
platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100

Michael Jeanson (1):
selftests/rseq: check if libc rseq support is registered

Mohsen Tahmasebi (1):
USB: serial: option: add Quectel EC200A module support

Nadav Amit (1):
x86/kprobes: Fix JNG/JNLE emulation

Namjae Jeon (1):
exfat: check if filename entries exceeds max filename length

Oliver Neukum (1):
USB: serial: simple: add Kaufmann RKS+CAN VCP

Olivier Maignial (1):
mtd: spinand: toshiba: Fix ecc_get_status

Ondrej Mosnacek (1):
io_uring: don't audit the capability check in io_uring_create()

Pablo Neira Ayuso (3):
netfilter: nftables: add helper function to validate set element data
netfilter: nf_tables: skip immediate deactivate in _PREPARE_ERROR
netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID

Paul Fertser (1):
wifi: mt76: mt7615: do not advertise 5 GHz on first phy of MT7615D (DBDC)

Peng Fan (1):
ARM: dts: imx: add usb alias

Peter Zijlstra (1):
perf: Fix function pointer case

Pierre-Louis Bossart (2):
soundwire: bus: add better dev_dbg to track complete() calls
soundwire: bus: pm_runtime_request_resume on peripheral attachment

Prince Kumar Maurya (1):
fs/sysv: Null check to prevent null-ptr-deref bug

Rafael J. Wysocki (3):
ACPI: processor: perflib: Use the "no limit" frequency QoS
ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily
cpufreq: intel_pstate: Drop ACPI _PSS states table patching

Ricardo Ribalda (1):
usb: xhci-mtk: set the dma max_seg_size

Rob Clark (1):
drm/msm/adreno: Fix snapshot BINDLESS_DATA size

Roger Quadros (1):
mtd: rawnand: omap_elm: Fix incorrect type in assignment

Roopa Prabhu (1):
vxlan: move to its own directory

Ross Maynard (1):

      USB: zaurus: Add ID for A-300/B-500/C-700

Ruihong Luo (1):
serial: 8250_dw: Preserve original value of DLF register

Sakari Ailus (1):
media: staging: atomisp: select V4L2_FWNODE

Samuel Holland (1):
serial: sifive: Fix sifive_serial_console_setup() section

Sean Christopherson (5):
KVM: VMX: Invert handling of CR0.WP for EPT without unrestricted guest
KVM: VMX: Fold ept_update_paging_mode_cr0() back into vmx_set_cr0()
KVM: nVMX: Do not clear CR3 load/store exiting bits if L1 wants 'em
KVM: VMX: Don't fudge CR0 and CR4 for restricted L2 guest selftests/rseq: Play nice with binaries statically linked against glibc 2.35+

Stefan Haberland (1):
s390/dasd: fix hanging device after quiesce/resume

Steffen Maier (1):
scsi: zfcp: Defer fc_rport blocking until after ADISC response

Stewart Smith (1):
tcp: Reduce chance of collisions in inet6_hashfn().

Sungjong Seo (1):
exfat: release s_lock before calling dir_emit()

Sungwoo Kim (1):
Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb

Thomas Bogendoerfer (1):
RDMA/mthca: Fix crash when polling CQ for shared QPs

Thomas Petazzoni (1):
ASoC: cs42l51: fix driver to properly autoload with automatic module loading

Tomas Glozar (1):
bpf: sockmap: Remove preempt_disable in sock_map_sk_acquire

Trond Myklebust (1):
nfsd: Remove incorrect check in nfsd4_validate_stateid

Uwe Kleine-König (1):
pwm: meson: Simplify duplicated per-channel tracking

Vladimir Oltean (2):
net/sched: mqprio: refactor nlattr parsing to a separate function net/sched: mqprio: add extack to mqprio_parse_nlattr()

Wang Ming (1):
i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir()

Wei Yongjun (1):
x86/kprobes: Move 'inline' to the beginning of the kprobe_is_ss() declaration

Xiubo Li (2):
ceph: never send metrics if disable_send_metrics is set
ceph: defer stopping mdsc delayed_work

Xu Yang (1):
ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node

Yang Yingliang (1):
net: ll_temac: Switch to use dev_err_probe() helper

Yu Kuai (3):
dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths dm raid: clean up four equivalent goto tags in raid_ctr() dm raid: protect md_stop() with 'reconfig_mutex'

Yuan Can (1):
phy: qcom-snps: Use dev_err_probe() to simplify code

Yuanjun Gong (5):
ethernet: atheros: fix return value check in atl1e_tso_csum()
benet: fix return value check in be_lancer_xmit_workarounds()
tipc: check return value of pskb_trim()
net/mlx5e: fix return value check in mlx5e_ipsec_remove_trailer()
net: dsa: fix value check in bcm_sf2_sw_probe()

Yue Haibing (1):
ip6mr: Fix skb_under_panic in ip6mr_cache_report()

Yuezhang Mo (1):
exfat: support dynamic allocate bh for exfat_entry_set_cache

Zhang Shurong (1):
staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext()

Zheng Yejian (2):
ring-buffer: Fix wrong stat of cpu_buffer->read
tracing: Fix warning in trace_buffered_event_disable()

Zhengchao Shao (1):
net/mlx5: DR, fix memory leak in mlx5dr_cmd_create_reformat_ctx

Zqiang (1):
USB: gadget: Fix the memory leak in raw_gadget driver

gaoming (1):
exfat: use kvmalloc_array/kvfree instead of kmalloc_array/kfree

[email protected] (1):
word-at-a-time: use the same return type for has_zero regardless of endianness

valis (3):
net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after-free net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free

Łukasz Bartosik (1):
USB: quirks: add quirk for Focusrite Scarlett

author maintainer
#1 lore raw
Documentation/admin-guide/security-bugs.rst +18 -21
index c32eb786201c..d6d93e96128e 100644
@@ -63,31 +63,28 @@ information submitted to the security list and any followup discussions
 of the report are treated confidentially even after the embargo has been
 lifted, in perpetuity.
 
-Coordination
-------------
-
-Fixes for sensitive bugs, such as those that might lead to privilege
-escalations, may need to be coordinated with the private
-<[email protected]> mailing list so that distribution vendors
-are well prepared to issue a fixed kernel upon public disclosure of the
-upstream fix. Distros will need some time to test the proposed patch and
-will generally request at least a few days of embargo, and vendor update
-publication prefers to happen Tuesday through Thursday. When appropriate,
-the security team can assist with this coordination, or the reporter can
-include linux-distros from the start. In this case, remember to prefix
-the email Subject line with "[vs]" as described in the linux-distros wiki:
-<http://oss-security.openwall.org/wiki/mailing-lists/distros#how-to-use-the-lists>
+Coordination with other groups
+------------------------------
+
+The kernel security team strongly recommends that reporters of potential
+security issues NEVER contact the "linux-distros" mailing list until
+AFTER discussing it with the kernel security team.  Do not Cc: both
+lists at once.  You may contact the linux-distros mailing list after a
+fix has been agreed on and you fully understand the requirements that
+doing so will impose on you and the kernel community.
+
+The different lists have different goals and the linux-distros rules do
+not contribute to actually fixing any potential security problems.
 
 CVE assignment
 --------------
 
-The security team does not normally assign CVEs, nor do we require them
-for reports or fixes, as this can needlessly complicate the process and
-may delay the bug handling. If a reporter wishes to have a CVE identifier
-assigned ahead of public disclosure, they will need to contact the private
-linux-distros list, described above. When such a CVE identifier is known
-before a patch is provided, it is desirable to mention it in the commit
-message if the reporter agrees.
+The security team does not assign CVEs, nor do we require them for
+reports or fixes, as this can needlessly complicate the process and may
+delay the bug handling.  If a reporter wishes to have a CVE identifier
+assigned, they should find one by themselves, for example by contacting
+MITRE directly.  However under no circumstances will a patch inclusion
+be delayed to wait for a CVE identifier to arrive.
 
 Non-disclosure agreements
 -------------------------
Makefile +1 -1
index 36047436fae3..bd2f45770363 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 10
-SUBLEVEL = 189
+SUBLEVEL = 190
 EXTRAVERSION =
 NAME = Dare mighty things
 
arch/arm/boot/dts/imx6qdl.dtsi +4 -0
index 7858ae5d39df..7d81992dfafc 100644
@@ -45,6 +45,10 @@ aliases {
 		spi1 = &ecspi2;
 		spi2 = &ecspi3;
 		spi3 = &ecspi4;
+		usb0 = &usbotg;
+		usb1 = &usbh1;
+		usb2 = &usbh2;
+		usb3 = &usbh3;
 		usbphy0 = &usbphy1;
 		usbphy1 = &usbphy2;
 	};
arch/arm/boot/dts/imx6sl.dtsi +3 -0
index c184a6d5bc42..5b4dfc62030e 100644
@@ -39,6 +39,9 @@ aliases {
 		spi1 = &ecspi2;
 		spi2 = &ecspi3;
 		spi3 = &ecspi4;
+		usb0 = &usbotg1;
+		usb1 = &usbotg2;
+		usb2 = &usbh;
 		usbphy0 = &usbphy1;
 		usbphy1 = &usbphy2;
 	};
arch/arm/boot/dts/imx6sll.dtsi +13 -13
index bf5b262b91f9..3659fd5ecfa6 100644
@@ -36,6 +36,8 @@ aliases {
 		spi1 = &ecspi2;
 		spi3 = &ecspi3;
 		spi4 = &ecspi4;
+		usb0 = &usbotg1;
+		usb1 = &usbotg2;
 		usbphy0 = &usbphy1;
 		usbphy1 = &usbphy2;
 	};
@@ -49,20 +51,18 @@ cpu0: cpu@0 {
 			device_type = "cpu";
 			reg = <0>;
 			next-level-cache = <&L2>;
-			operating-points = <
+			operating-points =
 				/* kHz    uV */
-				996000  1275000
-				792000  1175000
-				396000  1075000
-				198000	975000
-			>;
-			fsl,soc-operating-points = <
+				<996000  1275000>,
+				<792000  1175000>,
+				<396000  1075000>,
+				<198000	  975000>;
+			fsl,soc-operating-points =
 				/* ARM kHz      SOC-PU uV */
-				996000          1175000
-				792000          1175000
-				396000          1175000
-				198000		1175000
-			>;
+				<996000         1175000>,
+				<792000         1175000>,
+				<396000         1175000>,
+				<198000		1175000>;
 			clock-latency = <61036>; /* two CLK32 periods */
 			#cooling-cells = <2>;
 			clocks = <&clks IMX6SLL_CLK_ARM>,
@@ -552,7 +552,7 @@ usbphy2: usb-phy@20ca000 {
 				reg = <0x020ca000 0x1000>;
 				interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX6SLL_CLK_USBPHY2>;
-				phy-reg_3p0-supply = <&reg_3p0>;
+				phy-3p0-supply = <&reg_3p0>;
 				fsl,anatop = <&anatop>;
 			};
 
arch/arm/boot/dts/imx6sx.dtsi +3 -0
index c399919943c3..629c6a7432d9 100644
@@ -49,6 +49,9 @@ aliases {
 		spi2 = &ecspi3;
 		spi3 = &ecspi4;
 		spi4 = &ecspi5;
+		usb0 = &usbotg1;
+		usb1 = &usbotg2;
+		usb2 = &usbh;
 		usbphy0 = &usbphy1;
 		usbphy1 = &usbphy2;
 	};
arch/arm/boot/dts/imx6ul.dtsi +2 -0
index c40684ad11b8..b40dd0c19802 100644
@@ -47,6 +47,8 @@ aliases {
 		spi1 = &ecspi2;
 		spi2 = &ecspi3;
 		spi3 = &ecspi4;
+		usb0 = &usbotg1;
+		usb1 = &usbotg2;
 		usbphy0 = &usbphy1;
 		usbphy1 = &usbphy2;
 	};
arch/arm/boot/dts/imx7d.dtsi +6 -0
index cff875b80b60..b0bcfa9094a3 100644
@@ -7,6 +7,12 @@
 #include <dt-bindings/reset/imx7-reset.h>
 
 / {
+	aliases {
+		usb0 = &usbotg1;
+		usb1 = &usbotg2;
+		usb2 = &usbh;
+	};
+
 	cpus {
 		cpu0: cpu@0 {
 			clock-frequency = <996000000>;
arch/arm/boot/dts/imx7s.dtsi +2 -0
index 43b39ad9ddce..334e781663cc 100644
@@ -47,6 +47,8 @@ aliases {
 		spi1 = &ecspi2;
 		spi2 = &ecspi3;
 		spi3 = &ecspi4;
+		usb0 = &usbotg1;
+		usb1 = &usbh;
 	};
 
 	cpus {
arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts +1 -1
index 46e558ab7729..f0e8af12442a 100644
@@ -129,7 +129,7 @@ &i2c1 {
 	status = "okay";
 	clock-frequency = <100000>;
 	i2c-sda-falling-time-ns = <890>;  /* hcnt */
-	i2c-sdl-falling-time-ns = <890>;  /* lcnt */
+	i2c-scl-falling-time-ns = <890>;  /* lcnt */
 
 	adc@14 {
 		compatible = "lltc,ltc2497";
arch/arm64/boot/dts/altera/socfpga_stratix10_socdk_nand.dts +1 -1
index f9b4a39683cf..92ac3c86ebd5 100644
@@ -162,7 +162,7 @@ &i2c2 {
 	status = "okay";
 	clock-frequency = <100000>;
 	i2c-sda-falling-time-ns = <890>;  /* hcnt */
-	i2c-sdl-falling-time-ns = <890>;  /* lcnt */
+	i2c-scl-falling-time-ns = <890>;  /* lcnt */
 
 	adc@14 {
 		compatible = "lltc,ltc2497";
arch/arm64/boot/dts/freescale/imx8mn-var-som.dtsi +1 -1
index 24f9e8fd0c8b..9c6c21cc6c6c 100644
@@ -351,7 +351,7 @@ MX8MN_IOMUXC_ENET_TXC_ENET1_RGMII_TXC		0x1f
 			MX8MN_IOMUXC_ENET_RXC_ENET1_RGMII_RXC		0x91
 			MX8MN_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL	0x91
 			MX8MN_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL	0x1f
-			MX8MN_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x19
+			MX8MN_IOMUXC_GPIO1_IO09_GPIO1_IO9		0x159
 		>;
 	};
 
arch/powerpc/include/asm/word-at-a-time.h +1 -1
index f3f4710d4ff5..99129b0cd8b8 100644
@@ -34,7 +34,7 @@ static inline long find_zero(unsigned long mask)
 	return leading_zero_bits >> 3;
 }
 
-static inline bool has_zero(unsigned long val, unsigned long *data, const struct word_at_a_time *c)
+static inline unsigned long has_zero(unsigned long val, unsigned long *data, const struct word_at_a_time *c)
 {
 	unsigned long rhs = val | c->low_bits;
 	*data = rhs;
arch/powerpc/mm/init_64.c +1 -2
index b76cd49d521b..db040f34c004 100644
@@ -313,8 +313,7 @@ void __ref vmemmap_free(unsigned long start, unsigned long end,
 	start = ALIGN_DOWN(start, page_size);
 	if (altmap) {
 		alt_start = altmap->base_pfn;
-		alt_end = altmap->base_pfn + altmap->reserve +
-			  altmap->free + altmap->alloc + altmap->align;
+		alt_end = altmap->base_pfn + altmap->reserve + altmap->free;
 	}
 
 	pr_debug("vmemmap_free %lx...%lx\n", start, end);
arch/s390/kernel/sthyi.c +3 -3
index 888cc2f166db..ce6084e28d90 100644
@@ -460,9 +460,9 @@ static int sthyi_update_cache(u64 *rc)
  *
  * Fills the destination with system information returned by the STHYI
  * instruction. The data is generated by emulation or execution of STHYI,
- * if available. The return value is the condition code that would be
- * returned, the rc parameter is the return code which is passed in
- * register R2 + 1.
+ * if available. The return value is either a negative error value or
+ * the condition code that would be returned, the rc parameter is the
+ * return code which is passed in register R2 + 1.
  */
 int sthyi_fill(void *dst, u64 *rc)
 {
arch/s390/kvm/intercept.c +6 -3
index 5be68190901f..8bf72a323e4f 100644
@@ -387,8 +387,8 @@ static int handle_partial_execution(struct kvm_vcpu *vcpu)
  */
 int handle_sthyi(struct kvm_vcpu *vcpu)
 {
-	int reg1, reg2, r = 0;
-	u64 code, addr, cc = 0, rc = 0;
+	int reg1, reg2, cc = 0, r = 0;
+	u64 code, addr, rc = 0;
 	struct sthyi_sctns *sctns = NULL;
 
 	if (!test_kvm_facility(vcpu->kvm, 74))
@@ -419,7 +419,10 @@ int handle_sthyi(struct kvm_vcpu *vcpu)
 		return -ENOMEM;
 
 	cc = sthyi_fill(sctns, &rc);
-
+	if (cc < 0) {
+		free_page((unsigned long)sctns);
+		return cc;
+	}
 out:
 	if (!cc) {
 		if (kvm_s390_pv_cpu_is_protected(vcpu)) {
arch/s390/mm/gmap.c +1 -0
index 03e561608eed..b5a60fbb9664 100644
@@ -2786,6 +2786,7 @@ int s390_replace_asce(struct gmap *gmap)
 	page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER);
 	if (!page)
 		return -ENOMEM;
+	page->index = 0;
 	table = page_to_virt(page);
 	memcpy(table, gmap->table, 1UL << (CRST_ALLOC_ORDER + PAGE_SHIFT));
 
arch/x86/include/asm/cpufeatures.h +1 -0
index 2c0c495b9cb6..5a54c3685a06 100644
@@ -451,4 +451,5 @@
 
 /* BUG word 2 */
 #define X86_BUG_SRSO			X86_BUG(1*32 + 0) /* AMD SRSO bug */
+#define X86_BUG_DIV0			X86_BUG(1*32 + 1) /* AMD DIV0 speculation bug */
 #endif /* _ASM_X86_CPUFEATURES_H */
arch/x86/include/asm/kprobes.h +19 -5
index 991a7ad540c7..bd7f5886a789 100644
@@ -58,14 +58,29 @@ struct arch_specific_insn {
 	/* copy of the original instruction */
 	kprobe_opcode_t *insn;
 	/*
-	 * boostable = false: This instruction type is not boostable.
-	 * boostable = true: This instruction has been boosted: we have
+	 * boostable = 0: This instruction type is not boostable.
+	 * boostable = 1: This instruction has been boosted: we have
 	 * added a relative jump after the instruction copy in insn,
 	 * so no single-step and fixup are needed (unless there's
 	 * a post_handler).
 	 */
-	bool boostable;
-	bool if_modifier;
+	unsigned boostable:1;
+	unsigned char size;	/* The size of insn */
+	union {
+		unsigned char opcode;
+		struct {
+			unsigned char type;
+		} jcc;
+		struct {
+			unsigned char type;
+			unsigned char asize;
+		} loop;
+		struct {
+			unsigned char reg;
+		} indirect;
+	};
+	s32 rel32;	/* relative offset must be s32, s16, or s8 */
+	void (*emulate_op)(struct kprobe *p, struct pt_regs *regs);
 	/* Number of bytes of text poked */
 	int tp_len;
 };
@@ -104,7 +119,6 @@ extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
 extern int kprobe_exceptions_notify(struct notifier_block *self,
 				    unsigned long val, void *data);
 extern int kprobe_int3_handler(struct pt_regs *regs);
-extern int kprobe_debug_handler(struct pt_regs *regs);
 
 #else
 
arch/x86/include/asm/processor.h +2 -0
index 6a9de5b1fe45..2dd9b661a5fd 100644
@@ -809,10 +809,12 @@ DECLARE_PER_CPU(u64, msr_misc_features_shadow);
 extern u16 amd_get_nb_id(int cpu);
 extern u32 amd_get_nodes_per_socket(void);
 extern bool cpu_has_ibpb_brtype_microcode(void);
+extern void amd_clear_divider(void);
 #else
 static inline u16 amd_get_nb_id(int cpu)		{ return 0; }
 static inline u32 amd_get_nodes_per_socket(void)	{ return 0; }
 static inline bool cpu_has_ibpb_brtype_microcode(void)	{ return false; }
+static inline void amd_clear_divider(void)		{ }
 #endif
 
 static inline uint32_t hypervisor_cpuid_base(const char *sig, uint32_t leaves)
arch/x86/kernel/cpu/amd.c +19 -0
index ffecf4e9444e..da38765aa74c 100644
@@ -76,6 +76,10 @@ static const int amd_zenbleed[] =
 			   AMD_MODEL_RANGE(0x17, 0x60, 0x0, 0x7f, 0xf),
 			   AMD_MODEL_RANGE(0x17, 0xa0, 0x0, 0xaf, 0xf));
 
+static const int amd_div0[] =
+	AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0x00, 0x0, 0x2f, 0xf),
+			   AMD_MODEL_RANGE(0x17, 0x50, 0x0, 0x5f, 0xf));
+
 static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum)
 {
 	int osvw_id = *erratum++;
@@ -1168,6 +1172,11 @@ static void init_amd(struct cpuinfo_x86 *c)
 	check_null_seg_clears_base(c);
 
 	zenbleed_check(c);
+
+	if (cpu_has_amd_erratum(c, amd_div0)) {
+		pr_notice_once("AMD Zen1 DIV0 bug detected. Disable SMT for full protection.\n");
+		setup_force_cpu_bug(X86_BUG_DIV0);
+	}
 }
 
 #ifdef CONFIG_X86_32
@@ -1312,3 +1321,13 @@ void amd_check_microcode(void)
 {
 	on_each_cpu(zenbleed_check_cpu, NULL, 1);
 }
+
+/*
+ * Issue a DIV 0/1 insn to clear any division data from previous DIV
+ * operations.
+ */
+void noinstr amd_clear_divider(void)
+{
+	asm volatile(ALTERNATIVE("", "div %2\n\t", X86_BUG_DIV0)
+		     :: "a" (0), "d" (0), "r" (1));
+}
arch/x86/kernel/kprobes/core.c +390 -249

751 lines not on this page · raw message

arch/x86/kernel/traps.c +2 -3
index 3780c728345c..28f5cc0a9dec 100644
@@ -198,6 +198,8 @@ DEFINE_IDTENTRY(exc_divide_error)
 {
 	do_error_trap(regs, 0, "divide error", X86_TRAP_DE, SIGFPE,
 		      FPE_INTDIV, error_get_trap_addr(regs));
+
+	amd_clear_divider();
 }
 
 DEFINE_IDTENTRY(exc_overflow)
@@ -917,9 +919,6 @@ static __always_inline void exc_debug_kernel(struct pt_regs *regs,
 	if ((dr6 & DR_STEP) && is_sysenter_singlestep(regs))
 		dr6 &= ~DR_STEP;
 
-	if (kprobe_debug_handler(regs))
-		goto out;
-
 	/*
 	 * The kernel doesn't use INT1
 	 */
arch/x86/kvm/vmx/vmx.c +55 -32

133 lines not on this page · raw message

drivers/acpi/processor_perflib.c +30 -8
index b04a68950ff1..fc42d649c7e4 100644
@@ -56,6 +56,8 @@ static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
 {
 	acpi_status status = 0;
 	unsigned long long ppc = 0;
+	s32 qos_value;
+	int index;
 	int ret;
 
 	if (!pr)
@@ -75,17 +77,30 @@ static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
 		return -ENODEV;
 	}
 
+	index = ppc;
+
+	if (pr->performance_platform_limit == index ||
+	    ppc >= pr->performance->state_count)
+		return 0;
+
 	pr_debug("CPU %d: _PPC is %d - frequency %s limited\n", pr->id,
-		       (int)ppc, ppc ? "" : "not");
+		 index, index ? "is" : "is not");
 
-	pr->performance_platform_limit = (int)ppc;
+	pr->performance_platform_limit = index;
 
-	if (ppc >= pr->performance->state_count ||
-	    unlikely(!freq_qos_request_active(&pr->perflib_req)))
+	if (unlikely(!freq_qos_request_active(&pr->perflib_req)))
 		return 0;
 
-	ret = freq_qos_update_request(&pr->perflib_req,
-			pr->performance->states[ppc].core_frequency * 1000);
+	/*
+	 * If _PPC returns 0, it means that all of the available states can be
+	 * used ("no limit").
+	 */
+	if (index == 0)
+		qos_value = FREQ_QOS_MAX_DEFAULT_VALUE;
+	else
+		qos_value = pr->performance->states[index].core_frequency * 1000;
+
+	ret = freq_qos_update_request(&pr->perflib_req, qos_value);
 	if (ret < 0) {
 		pr_warn("Failed to update perflib freq constraint: CPU%d (%d)\n",
 			pr->id, ret);
@@ -168,9 +183,16 @@ void acpi_processor_ppc_init(struct cpufreq_policy *policy)
 		if (!pr)
 			continue;
 
+		/*
+		 * Reset performance_platform_limit in case there is a stale
+		 * value in it, so as to make it match the "no limit" QoS value
+		 * below.
+		 */
+		pr->performance_platform_limit = 0;
+
 		ret = freq_qos_add_request(&policy->constraints,
-					   &pr->perflib_req,
-					   FREQ_QOS_MAX, INT_MAX);
+					   &pr->perflib_req, FREQ_QOS_MAX,
+					   FREQ_QOS_MAX_DEFAULT_VALUE);
 		if (ret < 0)
 			pr_err("Failed to add freq constraint for CPU%d (%d)\n",
 			       cpu, ret);
drivers/ata/pata_ns87415.c +1 -1
index 1532b2e3c672..921738577440 100644
@@ -260,7 +260,7 @@ static u8 ns87560_check_status(struct ata_port *ap)
  *	LOCKING:
  *	Inherited from caller.
  */
-void ns87560_tf_read(struct ata_port *ap, struct ata_taskfile *tf)
+static void ns87560_tf_read(struct ata_port *ap, struct ata_taskfile *tf)
 {
 	struct ata_ioports *ioaddr = &ap->ioaddr;
 
drivers/base/power/power.h +6 -2
index 54292cdd7808..922ed457db19 100644
@@ -25,8 +25,11 @@ extern u64 pm_runtime_active_time(struct device *dev);
 
 #define WAKE_IRQ_DEDICATED_ALLOCATED	BIT(0)
 #define WAKE_IRQ_DEDICATED_MANAGED	BIT(1)
+#define WAKE_IRQ_DEDICATED_REVERSE	BIT(2)
 #define WAKE_IRQ_DEDICATED_MASK		(WAKE_IRQ_DEDICATED_ALLOCATED | \
-					 WAKE_IRQ_DEDICATED_MANAGED)
+					 WAKE_IRQ_DEDICATED_MANAGED | \
+					 WAKE_IRQ_DEDICATED_REVERSE)
+#define WAKE_IRQ_DEDICATED_ENABLED	BIT(3)
 
 struct wake_irq {
 	struct device *dev;
@@ -39,7 +42,8 @@ extern void dev_pm_arm_wake_irq(struct wake_irq *wirq);
 extern void dev_pm_disarm_wake_irq(struct wake_irq *wirq);
 extern void dev_pm_enable_wake_irq_check(struct device *dev,
 					 bool can_change_status);
-extern void dev_pm_disable_wake_irq_check(struct device *dev);
+extern void dev_pm_disable_wake_irq_check(struct device *dev, bool cond_disable);
+extern void dev_pm_enable_wake_irq_complete(struct device *dev);
 
 #ifdef CONFIG_PM_SLEEP
 
drivers/base/power/runtime.c +4 -2
index 360094692d29..fbbc3ed143f2 100644
@@ -675,6 +675,8 @@ static int rpm_suspend(struct device *dev, int rpmflags)
 	if (retval)
 		goto fail;
 
+	dev_pm_enable_wake_irq_complete(dev);
+
  no_callback:
 	__update_runtime_status(dev, RPM_SUSPENDED);
 	pm_runtime_deactivate_timer(dev);
@@ -720,7 +722,7 @@ static int rpm_suspend(struct device *dev, int rpmflags)
 	return retval;
 
  fail:
-	dev_pm_disable_wake_irq_check(dev);
+	dev_pm_disable_wake_irq_check(dev, true);
 	__update_runtime_status(dev, RPM_ACTIVE);
 	dev->power.deferred_resume = false;
 	wake_up_all(&dev->power.wait_queue);
@@ -903,7 +905,7 @@ static int rpm_resume(struct device *dev, int rpmflags)
 
 	callback = RPM_GET_CALLBACK(dev, runtime_resume);
 
-	dev_pm_disable_wake_irq_check(dev);
+	dev_pm_disable_wake_irq_check(dev, false);
 	retval = rpm_callback(callback, dev);
 	if (retval) {
 		__update_runtime_status(dev, RPM_SUSPENDED);
drivers/base/power/wakeirq.c +87 -24

165 lines not on this page · raw message

drivers/block/loop.c +2 -1
index d86fbea54652..7444cc2a6c86 100644
@@ -2109,7 +2109,8 @@ static int loop_add(struct loop_device **l, int i)
 	lo->tag_set.queue_depth = 128;
 	lo->tag_set.numa_node = NUMA_NO_NODE;
 	lo->tag_set.cmd_size = sizeof(struct loop_cmd);
-	lo->tag_set.flags = BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_STACKING;
+	lo->tag_set.flags = BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_STACKING |
+		BLK_MQ_F_NO_SCHED;
 	lo->tag_set.driver_data = lo;
 
 	err = blk_mq_alloc_tag_set(&lo->tag_set);
drivers/char/tpm/tpm_tis_core.c +8 -2
index 365761055df3..d7c440ac465f 100644
@@ -314,6 +314,7 @@ static int tpm_tis_recv(struct tpm_chip *chip, u8 *buf, size_t count)
 	int size = 0;
 	int status;
 	u32 expected;
+	int rc;
 
 	if (count < TPM_HEADER_SIZE) {
 		size = -EIO;
@@ -333,8 +334,13 @@ static int tpm_tis_recv(struct tpm_chip *chip, u8 *buf, size_t count)
 		goto out;
 	}
 
-	size += recv_data(chip, &buf[TPM_HEADER_SIZE],
-			  expected - TPM_HEADER_SIZE);
+	rc = recv_data(chip, &buf[TPM_HEADER_SIZE],
+		       expected - TPM_HEADER_SIZE);
+	if (rc < 0) {
+		size = rc;
+		goto out;
+	}
+	size += rc;
 	if (size < expected) {
 		dev_err(&chip->dev, "Unable to read remainder of result\n");
 		size = -ETIME;
drivers/cpufreq/intel_pstate.c +0 -14
index 4b06b81d8bb0..4359ed1d3b7e 100644
@@ -443,20 +443,6 @@ static void intel_pstate_init_acpi_perf_limits(struct cpufreq_policy *policy)
 			 (u32) cpu->acpi_perf_data.states[i].control);
 	}
 
-	/*
-	 * The _PSS table doesn't contain whole turbo frequency range.
-	 * This just contains +1 MHZ above the max non turbo frequency,
-	 * with control value corresponding to max turbo ratio. But
-	 * when cpufreq set policy is called, it will call with this
-	 * max frequency, which will cause a reduced performance as
-	 * this driver uses real max turbo frequency as the max
-	 * frequency. So correct this frequency in _PSS table to
-	 * correct max turbo frequency based on the turbo state.
-	 * Also need to convert to MHz as _PSS freq is in MHz.
-	 */
-	if (!global.turbo_disabled)
-		cpu->acpi_perf_data.states[0].core_frequency =
-					policy->cpuinfo.max_freq / 1000;
 	cpu->valid_pss_table = true;
 	pr_debug("_PPC limits will be enforced\n");
 
drivers/gpio/gpio-tps68470.c +3 -3
index f7f5f770e0fb..e19eb7c982a1 100644
@@ -91,13 +91,13 @@ static int tps68470_gpio_output(struct gpio_chip *gc, unsigned int offset,
 	struct tps68470_gpio_data *tps68470_gpio = gpiochip_get_data(gc);
 	struct regmap *regmap = tps68470_gpio->tps68470_regmap;
 
+	/* Set the initial value */
+	tps68470_gpio_set(gc, offset, value);
+
 	/* rest are always outputs */
 	if (offset >= TPS68470_N_REGULAR_GPIO)
 		return 0;
 
-	/* Set the initial value */
-	tps68470_gpio_set(gc, offset, value);
-
 	return regmap_update_bits(regmap, TPS68470_GPIO_CTL_REG_A(offset),
 				 TPS68470_GPIO_MODE_MASK,
 				 TPS68470_GPIO_MODE_OUT_CMOS);
drivers/gpu/drm/msm/adreno/a5xx_gpu.c +1 -1
index 0fcba2bc26b8..9ae0e60ecac3 100644
@@ -81,7 +81,7 @@ static void a5xx_submit_in_rb(struct msm_gpu *gpu, struct msm_gem_submit *submit
 			 * since we've already mapped it once in
 			 * submit_reloc()
 			 */
-			if (WARN_ON(!ptr))
+			if (WARN_ON(IS_ERR_OR_NULL(ptr)))
 				return;
 
 			for (i = 0; i < dwords; i++) {
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h +1 -1
index 2fb58b7098e4..3bd2065a9d30 100644
@@ -200,7 +200,7 @@ static const struct a6xx_shader_block {
 	SHADER(A6XX_SP_LB_3_DATA, 0x800),
 	SHADER(A6XX_SP_LB_4_DATA, 0x800),
 	SHADER(A6XX_SP_LB_5_DATA, 0x200),
-	SHADER(A6XX_SP_CB_BINDLESS_DATA, 0x2000),
+	SHADER(A6XX_SP_CB_BINDLESS_DATA, 0x800),
 	SHADER(A6XX_SP_CB_LEGACY_DATA, 0x280),
 	SHADER(A6XX_SP_UAV_DATA, 0x80),
 	SHADER(A6XX_SP_INST_TAG, 0x80),
drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.h +0 -13
index cf4b9b5964c6..cd6c3518ba02 100644
@@ -14,19 +14,6 @@
 
 #define	DPU_PERF_DEFAULT_MAX_CORE_CLK_RATE	412500000
 
-/**
- * enum dpu_core_perf_data_bus_id - data bus identifier
- * @DPU_CORE_PERF_DATA_BUS_ID_MNOC: DPU/MNOC data bus
- * @DPU_CORE_PERF_DATA_BUS_ID_LLCC: MNOC/LLCC data bus
- * @DPU_CORE_PERF_DATA_BUS_ID_EBI: LLCC/EBI data bus
- */
-enum dpu_core_perf_data_bus_id {
-	DPU_CORE_PERF_DATA_BUS_ID_MNOC,
-	DPU_CORE_PERF_DATA_BUS_ID_LLCC,
-	DPU_CORE_PERF_DATA_BUS_ID_EBI,
-	DPU_CORE_PERF_DATA_BUS_ID_MAX,
-};
-
 /**
  * struct dpu_core_perf_params - definition of performance parameters
  * @max_per_pipe_ib: maximum instantaneous bandwidth request
drivers/gpu/drm/ttm/ttm_bo.c +13 -3
index f673292eec9d..8fe3be20af62 100644
@@ -115,7 +115,7 @@ static void ttm_bo_add_mem_to_lru(struct ttm_buffer_object *bo,
 	struct ttm_bo_device *bdev = bo->bdev;
 	struct ttm_resource_manager *man;
 
-	if (!list_empty(&bo->lru))
+	if (!list_empty(&bo->lru) || bo->pin_count)
 		return;
 
 	if (mem->placement & TTM_PL_FLAG_NO_EVICT)
@@ -165,7 +165,8 @@ void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo,
 	ttm_bo_del_from_lru(bo);
 	ttm_bo_add_mem_to_lru(bo, &bo->mem);
 
-	if (bulk && !(bo->mem.placement & TTM_PL_FLAG_NO_EVICT)) {
+	if (bulk && !(bo->mem.placement & TTM_PL_FLAG_NO_EVICT) &&
+	    !bo->pin_count) {
 		switch (bo->mem.mem_type) {
 		case TTM_PL_TT:
 			ttm_bo_bulk_move_set_pos(&bulk->tt[bo->priority], bo);
@@ -544,8 +545,9 @@ static void ttm_bo_release(struct kref *kref)
 		 * shrinkers, now that they are queued for
 		 * destruction.
 		 */
-		if (bo->mem.placement & TTM_PL_FLAG_NO_EVICT) {
+		if (bo->mem.placement & TTM_PL_FLAG_NO_EVICT || bo->pin_count) {
 			bo->mem.placement &= ~TTM_PL_FLAG_NO_EVICT;
+			bo->pin_count = 0;
 			ttm_bo_del_from_lru(bo);
 			ttm_bo_add_mem_to_lru(bo, &bo->mem);
 		}
@@ -670,6 +672,13 @@ static bool ttm_bo_evict_swapout_allowable(struct ttm_buffer_object *bo,
 {
 	bool ret = false;
 
+	if (bo->pin_count) {
+		*locked = false;
+		if (busy)
+			*busy = false;
+		return false;
+	}
+
 	if (bo->base.resv == ctx->resv) {
 		dma_resv_assert_held(bo->base.resv);
 		if (ctx->flags & TTM_OPT_FLAG_ALLOW_RES_EVICT)
@@ -1174,6 +1183,7 @@ int ttm_bo_init_reserved(struct ttm_bo_device *bdev,
 	bo->moving = NULL;
 	bo->mem.placement = TTM_PL_FLAG_CACHED;
 	bo->acc_size = acc_size;
+	bo->pin_count = 0;
 	bo->sg = sg;
 	if (resv) {
 		bo->base.resv = resv;
drivers/gpu/drm/ttm/ttm_bo_util.c +1 -1
index fb2a25f8408f..1968df9743fc 100644
@@ -352,7 +352,6 @@ static int ttm_buffer_object_transfer(struct ttm_buffer_object *bo,
 		return -ENOMEM;
 
 	fbo->base = *bo;
-	fbo->base.mem.placement |= TTM_PL_FLAG_NO_EVICT;
 
 	ttm_bo_get(bo);
 	fbo->bo = bo;
@@ -372,6 +371,7 @@ static int ttm_buffer_object_transfer(struct ttm_buffer_object *bo,
 	kref_init(&fbo->base.kref);
 	fbo->base.destroy = &ttm_transfered_destroy;
 	fbo->base.acc_size = 0;
+	fbo->base.pin_count = 1;
 	if (bo->type != ttm_bo_type_sg)
 		fbo->base.base.resv = &fbo->base.base._resv;
 
drivers/hwmon/nct7802.c +1 -1
index 604af2f6103a..88eddb8d61d3 100644
@@ -708,7 +708,7 @@ static umode_t nct7802_temp_is_visible(struct kobject *kobj,
 	if (index >= 38 && index < 46 && !(reg & 0x01))		/* PECI 0 */
 		return 0;
 
-	if (index >= 0x46 && (!(reg & 0x02)))			/* PECI 1 */
+	if (index >= 46 && !(reg & 0x02))			/* PECI 1 */
 		return 0;
 
 	return attr->mode;
drivers/i2c/busses/i2c-ibm_iic.c +1 -3
index 9f71daf6db64..c073f5b8833a 100644
@@ -694,10 +694,8 @@ static int iic_probe(struct platform_device *ofdev)
 	int ret;
 
 	dev = kzalloc(sizeof(*dev), GFP_KERNEL);
-	if (!dev) {
-		dev_err(&ofdev->dev, "failed to allocate device data\n");
+	if (!dev)
 		return -ENOMEM;
-	}
 
 	platform_set_drvdata(ofdev, dev);
 
drivers/i2c/busses/i2c-nomadik.c +11 -31

83 lines not on this page · raw message

drivers/i2c/busses/i2c-sh7760.c +1 -2
index 319d1fa617c8..051b904cb35f 100644
@@ -443,9 +443,8 @@ static int sh7760_i2c_probe(struct platform_device *pdev)
 		goto out0;
 	}
 
-	id = kzalloc(sizeof(struct cami2c), GFP_KERNEL);
+	id = kzalloc(sizeof(*id), GFP_KERNEL);
 	if (!id) {
-		dev_err(&pdev->dev, "no mem for private data\n");
 		ret = -ENOMEM;
 		goto out0;
 	}
drivers/i2c/busses/i2c-tiny-usb.c +1 -3
index 7279ca0eaa2d..d1fa9ff5aeab 100644
@@ -226,10 +226,8 @@ static int i2c_tiny_usb_probe(struct usb_interface *interface,
 
 	/* allocate memory for our device state and initialize it */
 	dev = kzalloc(sizeof(*dev), GFP_KERNEL);
-	if (dev == NULL) {
-		dev_err(&interface->dev, "Out of memory\n");
+	if (!dev)
 		goto error;
-	}
 
 	dev->usb_dev = usb_get_dev(interface_to_usbdev(interface));
 	dev->interface = interface;
drivers/infiniband/hw/mlx4/qp.c +9 -9
index 255194029e2d..50b355e34445 100644
@@ -530,15 +530,15 @@ static int set_qp_rss(struct mlx4_ib_dev *dev, struct mlx4_ib_rss *rss_ctx,
 		return (-EOPNOTSUPP);
 	}
 
-	if (ucmd->rx_hash_fields_mask & ~(MLX4_IB_RX_HASH_SRC_IPV4	|
-					  MLX4_IB_RX_HASH_DST_IPV4	|
-					  MLX4_IB_RX_HASH_SRC_IPV6	|
-					  MLX4_IB_RX_HASH_DST_IPV6	|
-					  MLX4_IB_RX_HASH_SRC_PORT_TCP	|
-					  MLX4_IB_RX_HASH_DST_PORT_TCP	|
-					  MLX4_IB_RX_HASH_SRC_PORT_UDP	|
-					  MLX4_IB_RX_HASH_DST_PORT_UDP  |
-					  MLX4_IB_RX_HASH_INNER)) {
+	if (ucmd->rx_hash_fields_mask & ~(u64)(MLX4_IB_RX_HASH_SRC_IPV4	|
+					       MLX4_IB_RX_HASH_DST_IPV4	|
+					       MLX4_IB_RX_HASH_SRC_IPV6	|
+					       MLX4_IB_RX_HASH_DST_IPV6	|
+					       MLX4_IB_RX_HASH_SRC_PORT_TCP |
+					       MLX4_IB_RX_HASH_DST_PORT_TCP |
+					       MLX4_IB_RX_HASH_SRC_PORT_UDP |
+					       MLX4_IB_RX_HASH_DST_PORT_UDP |
+					       MLX4_IB_RX_HASH_INNER)) {
 		pr_debug("RX Hash fields_mask has unsupported mask (0x%llx)\n",
 			 ucmd->rx_hash_fields_mask);
 		return (-EOPNOTSUPP);
drivers/infiniband/hw/mthca/mthca_qp.c +1 -1
index 08a2a7afafd3..3f57f7dfb822 100644
@@ -1390,7 +1390,7 @@ int mthca_alloc_sqp(struct mthca_dev *dev,
 	if (mthca_array_get(&dev->qp_table.qp, mqpn))
 		err = -EBUSY;
 	else
-		mthca_array_set(&dev->qp_table.qp, mqpn, qp->sqp);
+		mthca_array_set(&dev->qp_table.qp, mqpn, qp);
 	spin_unlock_irq(&dev->qp_table.lock);
 
 	if (err)
drivers/irqchip/irq-bcm6345-l1.c +5 -9
index 1bd0621c4ce2..4827a1183247 100644
@@ -82,6 +82,7 @@ struct bcm6345_l1_chip {
 };
 
 struct bcm6345_l1_cpu {
+	struct bcm6345_l1_chip	*intc;
 	void __iomem		*map_base;
 	unsigned int		parent_irq;
 	u32			enable_cache[];
@@ -115,17 +116,11 @@ static inline unsigned int cpu_for_irq(struct bcm6345_l1_chip *intc,
 
 static void bcm6345_l1_irq_handle(struct irq_desc *desc)
 {
-	struct bcm6345_l1_chip *intc = irq_desc_get_handler_data(desc);
-	struct bcm6345_l1_cpu *cpu;
+	struct bcm6345_l1_cpu *cpu = irq_desc_get_handler_data(desc);
+	struct bcm6345_l1_chip *intc = cpu->intc;
 	struct irq_chip *chip = irq_desc_get_chip(desc);
 	unsigned int idx;
 
-#ifdef CONFIG_SMP
-	cpu = intc->cpus[cpu_logical_map(smp_processor_id())];
-#else
-	cpu = intc->cpus[0];
-#endif
-
 	chained_irq_enter(chip, desc);
 
 	for (idx = 0; idx < intc->n_words; idx++) {
@@ -257,6 +252,7 @@ static int __init bcm6345_l1_init_one(struct device_node *dn,
 	if (!cpu)
 		return -ENOMEM;
 
+	cpu->intc = intc;
 	cpu->map_base = ioremap(res.start, sz);
 	if (!cpu->map_base)
 		return -ENOMEM;
@@ -272,7 +268,7 @@ static int __init bcm6345_l1_init_one(struct device_node *dn,
 		return -EINVAL;
 	}
 	irq_set_chained_handler_and_data(cpu->parent_irq,
-						bcm6345_l1_irq_handle, intc);
+						bcm6345_l1_irq_handle, cpu);
 
 	return 0;
 }
drivers/irqchip/irq-gic-v3-its.c +46 -29

116 lines not on this page · raw message

drivers/isdn/hardware/mISDN/hfcpci.c +5 -5
index eba58b99cd29..d6cf01c32a33 100644
@@ -839,7 +839,7 @@ hfcpci_fill_fifo(struct bchannel *bch)
 		*z1t = cpu_to_le16(new_z1);	/* now send data */
 		if (bch->tx_idx < bch->tx_skb->len)
 			return;
-		dev_kfree_skb(bch->tx_skb);
+		dev_kfree_skb_any(bch->tx_skb);
 		if (get_next_bframe(bch))
 			goto next_t_frame;
 		return;
@@ -895,7 +895,7 @@ hfcpci_fill_fifo(struct bchannel *bch)
 	}
 	bz->za[new_f1].z1 = cpu_to_le16(new_z1);	/* for next buffer */
 	bz->f1 = new_f1;	/* next frame */
-	dev_kfree_skb(bch->tx_skb);
+	dev_kfree_skb_any(bch->tx_skb);
 	get_next_bframe(bch);
 }
 
@@ -1119,7 +1119,7 @@ tx_birq(struct bchannel *bch)
 	if (bch->tx_skb && bch->tx_idx < bch->tx_skb->len)
 		hfcpci_fill_fifo(bch);
 	else {
-		dev_kfree_skb(bch->tx_skb);
+		dev_kfree_skb_any(bch->tx_skb);
 		if (get_next_bframe(bch))
 			hfcpci_fill_fifo(bch);
 	}
@@ -2277,7 +2277,7 @@ _hfcpci_softirq(struct device *dev, void *unused)
 		return 0;
 
 	if (hc->hw.int_m2 & HFCPCI_IRQ_ENABLE) {
-		spin_lock(&hc->lock);
+		spin_lock_irq(&hc->lock);
 		bch = Sel_BCS(hc, hc->hw.bswapped ? 2 : 1);
 		if (bch && bch->state == ISDN_P_B_RAW) { /* B1 rx&tx */
 			main_rec_hfcpci(bch);
@@ -2288,7 +2288,7 @@ _hfcpci_softirq(struct device *dev, void *unused)
 			main_rec_hfcpci(bch);
 			tx_birq(bch);
 		}
-		spin_unlock(&hc->lock);
+		spin_unlock_irq(&hc->lock);
 	}
 	return 0;
 }
drivers/md/dm-cache-policy-smq.c +18 -10
index b61aac00ff40..859073193f5b 100644
@@ -854,7 +854,13 @@ struct smq_policy {
 
 	struct background_tracker *bg_work;
 
-	bool migrations_allowed;
+	bool migrations_allowed:1;
+
+	/*
+	 * If this is set the policy will try and clean the whole cache
+	 * even if the device is not idle.
+	 */
+	bool cleaner:1;
 };
 
 /*----------------------------------------------------------------*/
@@ -1133,7 +1139,7 @@ static bool clean_target_met(struct smq_policy *mq, bool idle)
 	 * Cache entries may not be populated.  So we cannot rely on the
 	 * size of the clean queue.
 	 */
-	if (idle) {
+	if (idle || mq->cleaner) {
 		/*
 		 * We'd like to clean everything.
 		 */
@@ -1716,11 +1722,9 @@ static void calc_hotspot_params(sector_t origin_size,
 		*hotspot_block_size /= 2u;
 }
 
-static struct dm_cache_policy *__smq_create(dm_cblock_t cache_size,
-					    sector_t origin_size,
-					    sector_t cache_block_size,
-					    bool mimic_mq,
-					    bool migrations_allowed)
+static struct dm_cache_policy *
+__smq_create(dm_cblock_t cache_size, sector_t origin_size, sector_t cache_block_size,
+	     bool mimic_mq, bool migrations_allowed, bool cleaner)
 {
 	unsigned i;
 	unsigned nr_sentinels_per_queue = 2u * NR_CACHE_LEVELS;
@@ -1807,6 +1811,7 @@ static struct dm_cache_policy *__smq_create(dm_cblock_t cache_size,
 		goto bad_btracker;
 
 	mq->migrations_allowed = migrations_allowed;
+	mq->cleaner = cleaner;
 
 	return &mq->policy;
 
@@ -1830,21 +1835,24 @@ static struct dm_cache_policy *smq_create(dm_cblock_t cache_size,
 					  sector_t origin_size,
 					  sector_t cache_block_size)
 {
-	return __smq_create(cache_size, origin_size, cache_block_size, false, true);
+	return __smq_create(cache_size, origin_size, cache_block_size,
+			    false, true, false);
 }
 
 static struct dm_cache_policy *mq_create(dm_cblock_t cache_size,
 					 sector_t origin_size,
 					 sector_t cache_block_size)
 {
-	return __smq_create(cache_size, origin_size, cache_block_size, true, true);
+	return __smq_create(cache_size, origin_size, cache_block_size,
+			    true, true, false);
 }
 
 static struct dm_cache_policy *cleaner_create(dm_cblock_t cache_size,
 					      sector_t origin_size,
 					      sector_t cache_block_size)
 {
-	return __smq_create(cache_size, origin_size, cache_block_size, false, false);
+	return __smq_create(cache_size, origin_size, cache_block_size,
+			    false, false, true);
 }
 
 /*----------------------------------------------------------------*/
drivers/md/dm-raid.c +9 -11
index a2d09c9c6e9f..140bdf2a6ee1 100644
@@ -3258,8 +3258,7 @@ static int raid_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 	r = md_start(&rs->md);
 	if (r) {
 		ti->error = "Failed to start raid array";
-		mddev_unlock(&rs->md);
-		goto bad_md_start;
+		goto bad_unlock;
 	}
 
 	/* If raid4/5/6 journal mode explicitly requested (only possible with journal dev) -> set it */
@@ -3267,8 +3266,7 @@ static int raid_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 		r = r5c_journal_mode_set(&rs->md, rs->journal_dev.mode);
 		if (r) {
 			ti->error = "Failed to set raid4/5/6 journal mode";
-			mddev_unlock(&rs->md);
-			goto bad_journal_mode_set;
+			goto bad_unlock;
 		}
 	}
 
@@ -3279,14 +3277,14 @@ static int raid_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 	if (rs_is_raid456(rs)) {
 		r = rs_set_raid456_stripe_cache(rs);
 		if (r)
-			goto bad_stripe_cache;
+			goto bad_unlock;
 	}
 
 	/* Now do an early reshape check */
 	if (test_bit(RT_FLAG_RESHAPE_RS, &rs->runtime_flags)) {
 		r = rs_check_reshape(rs);
 		if (r)
-			goto bad_check_reshape;
+			goto bad_unlock;
 
 		/* Restore new, ctr requested layout to perform check */
 		rs_config_restore(rs, &rs_layout);
@@ -3295,7 +3293,7 @@ static int raid_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 			r = rs->md.pers->check_reshape(&rs->md);
 			if (r) {
 				ti->error = "Reshape check failed";
-				goto bad_check_reshape;
+				goto bad_unlock;
 			}
 		}
 	}
@@ -3306,11 +3304,9 @@ static int raid_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 	mddev_unlock(&rs->md);
 	return 0;
 
-bad_md_start:
-bad_journal_mode_set:
-bad_stripe_cache:
-bad_check_reshape:
+bad_unlock:
 	md_stop(&rs->md);
+	mddev_unlock(&rs->md);
 bad:
 	raid_set_free(rs);
 
@@ -3321,7 +3317,9 @@ static void raid_dtr(struct dm_target *ti)
 {
 	struct raid_set *rs = ti->private;
 
+	mddev_lock_nointr(&rs->md);
 	md_stop(&rs->md);
+	mddev_unlock(&rs->md);
 	raid_set_free(rs);
 }
 
drivers/md/md.c +2 -0
index ae0a857d6076..6efe49f7bdf5 100644
@@ -6316,6 +6316,8 @@ static void __md_stop(struct mddev *mddev)
 
 void md_stop(struct mddev *mddev)
 {
+	lockdep_assert_held(&mddev->reconfig_mutex);
+
 	/* stop the array and free an attached data structures.
 	 * This is called from dm-raid
 	 */
drivers/mtd/nand/raw/fsl_upm.c +1 -1
index d5813b9abc8e..9f934466dd97 100644
@@ -136,7 +136,7 @@ static int fun_exec_op(struct nand_chip *chip, const struct nand_operation *op,
 	unsigned int i;
 	int ret;
 
-	if (op->cs > NAND_MAX_CHIPS)
+	if (op->cs >= NAND_MAX_CHIPS)
 		return -EINVAL;
 
 	if (check_only)
drivers/mtd/nand/raw/meson_nand.c +1 -2
index ee3976b7e197..6bb0fca4a91d 100644
@@ -1180,7 +1180,6 @@ static int meson_nand_attach_chip(struct nand_chip *nand)
 	struct meson_nfc *nfc = nand_get_controller_data(nand);
 	struct meson_nfc_nand_chip *meson_chip = to_meson_nand(nand);
 	struct mtd_info *mtd = nand_to_mtd(nand);
-	int nsectors = mtd->writesize / 1024;
 	int ret;
 
 	if (!mtd->name) {
@@ -1198,7 +1197,7 @@ static int meson_nand_attach_chip(struct nand_chip *nand)
 	nand->options |= NAND_NO_SUBPAGE_WRITE;
 
 	ret = nand_ecc_choose_conf(nand, nfc->data->ecc_caps,
-				   mtd->oobsize - 2 * nsectors);
+				   mtd->oobsize - 2);
 	if (ret) {
 		dev_err(nfc->dev, "failed to ECC init\n");
 		return -EINVAL;
drivers/mtd/nand/raw/omap_elm.c +12 -12
index 4b799521a427..dad17fa0b514 100644
@@ -174,17 +174,17 @@ static void elm_load_syndrome(struct elm_info *info,
 			switch (info->bch_type) {
 			case BCH8_ECC:
 				/* syndrome fragment 0 = ecc[9-12B] */
-				val = cpu_to_be32(*(u32 *) &ecc[9]);
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[9]);
 				elm_write_reg(info, offset, val);
 
 				/* syndrome fragment 1 = ecc[5-8B] */
 				offset += 4;
-				val = cpu_to_be32(*(u32 *) &ecc[5]);
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[5]);
 				elm_write_reg(info, offset, val);
 
 				/* syndrome fragment 2 = ecc[1-4B] */
 				offset += 4;
-				val = cpu_to_be32(*(u32 *) &ecc[1]);
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[1]);
 				elm_write_reg(info, offset, val);
 
 				/* syndrome fragment 3 = ecc[0B] */
@@ -194,35 +194,35 @@ static void elm_load_syndrome(struct elm_info *info,
 				break;
 			case BCH4_ECC:
 				/* syndrome fragment 0 = ecc[20-52b] bits */
-				val = (cpu_to_be32(*(u32 *) &ecc[3]) >> 4) |
+				val = ((__force u32)cpu_to_be32(*(u32 *)&ecc[3]) >> 4) |
 					((ecc[2] & 0xf) << 28);
 				elm_write_reg(info, offset, val);
 
 				/* syndrome fragment 1 = ecc[0-20b] bits */
 				offset += 4;
-				val = cpu_to_be32(*(u32 *) &ecc[0]) >> 12;
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[0]) >> 12;
 				elm_write_reg(info, offset, val);
 				break;
 			case BCH16_ECC:
-				val = cpu_to_be32(*(u32 *) &ecc[22]);
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[22]);
 				elm_write_reg(info, offset, val);
 				offset += 4;
-				val = cpu_to_be32(*(u32 *) &ecc[18]);
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[18]);
 				elm_write_reg(info, offset, val);
 				offset += 4;
-				val = cpu_to_be32(*(u32 *) &ecc[14]);
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[14]);
 				elm_write_reg(info, offset, val);
 				offset += 4;
-				val = cpu_to_be32(*(u32 *) &ecc[10]);
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[10]);
 				elm_write_reg(info, offset, val);
 				offset += 4;
-				val = cpu_to_be32(*(u32 *) &ecc[6]);
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[6]);
 				elm_write_reg(info, offset, val);
 				offset += 4;
-				val = cpu_to_be32(*(u32 *) &ecc[2]);
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[2]);
 				elm_write_reg(info, offset, val);
 				offset += 4;
-				val = cpu_to_be32(*(u32 *) &ecc[0]) >> 16;
+				val = (__force u32)cpu_to_be32(*(u32 *)&ecc[0]) >> 16;
 				elm_write_reg(info, offset, val);
 				break;
 			default:
drivers/mtd/nand/spi/toshiba.c +2 -2
index 6fe7bd2a94d2..daa49c060368 100644
@@ -73,7 +73,7 @@ static int tx58cxgxsxraix_ecc_get_status(struct spinand_device *spinand,
 {
 	struct nand_device *nand = spinand_to_nand(spinand);
 	u8 mbf = 0;
-	struct spi_mem_op op = SPINAND_GET_FEATURE_OP(0x30, &mbf);
+	struct spi_mem_op op = SPINAND_GET_FEATURE_OP(0x30, spinand->scratchbuf);
 
 	switch (status & STATUS_ECC_MASK) {
 	case STATUS_ECC_NO_BITFLIPS:
@@ -92,7 +92,7 @@ static int tx58cxgxsxraix_ecc_get_status(struct spinand_device *spinand,
 		if (spi_mem_exec_op(spinand->spimem, &op))
 			return nanddev_get_ecc_requirements(nand)->strength;
 
-		mbf >>= 4;
+		mbf = *(spinand->scratchbuf) >> 4;
 
 		if (WARN_ON(mbf > nanddev_get_ecc_requirements(nand)->strength || !mbf))
 			return nanddev_get_ecc_requirements(nand)->strength;
drivers/net/Makefile +1 -1
index 72e18d505d1a..64430440c580 100644
@@ -29,7 +29,7 @@ obj-$(CONFIG_TUN) += tun.o
 obj-$(CONFIG_TAP) += tap.o
 obj-$(CONFIG_VETH) += veth.o
 obj-$(CONFIG_VIRTIO_NET) += virtio_net.o
-obj-$(CONFIG_VXLAN) += vxlan.o
+obj-$(CONFIG_VXLAN) += vxlan/
 obj-$(CONFIG_GENEVE) += geneve.o
 obj-$(CONFIG_BAREUDP) += bareudp.o
 obj-$(CONFIG_GTP) += gtp.o
drivers/net/bonding/bond_main.c +5 -0
index 381e6cdd603a..a260740269e9 100644
@@ -1442,6 +1442,11 @@ static void bond_setup_by_slave(struct net_device *bond_dev,
 
 	memcpy(bond_dev->broadcast, slave_dev->broadcast,
 		slave_dev->addr_len);
+
+	if (slave_dev->flags & IFF_POINTOPOINT) {
+		bond_dev->flags &= ~(IFF_BROADCAST | IFF_MULTICAST);
+		bond_dev->flags |= (IFF_POINTOPOINT | IFF_NOARP);
+	}
 }
 
 /* On bonding slaves other than the currently active slave, suppress
drivers/net/can/usb/gs_usb.c +2 -0
index a879200eaab0..1f81293f137c 100644
@@ -732,6 +732,8 @@ static int gs_can_close(struct net_device *netdev)
 	usb_kill_anchored_urbs(&dev->tx_submitted);
 	atomic_set(&dev->active_tx_urbs, 0);
 
+	dev->can.state = CAN_STATE_STOPPED;
+
 	/* reset the device */
 	rc = gs_cmd_reset(dev);
 	if (rc < 0)
drivers/net/dsa/bcm_sf2.c +6 -2
index c6563d212476..f2f890e559f3 100644
@@ -1301,7 +1301,9 @@ static int bcm_sf2_sw_probe(struct platform_device *pdev)
 	if (IS_ERR(priv->clk))
 		return PTR_ERR(priv->clk);
 
-	clk_prepare_enable(priv->clk);
+	ret = clk_prepare_enable(priv->clk);
+	if (ret)
+		return ret;
 
 	priv->clk_mdiv = devm_clk_get_optional(&pdev->dev, "sw_switch_mdiv");
 	if (IS_ERR(priv->clk_mdiv)) {
@@ -1309,7 +1311,9 @@ static int bcm_sf2_sw_probe(struct platform_device *pdev)
 		goto out_clk;
 	}
 
-	clk_prepare_enable(priv->clk_mdiv);
+	ret = clk_prepare_enable(priv->clk_mdiv);
+	if (ret)
+		goto out_clk;
 
 	ret = bcm_sf2_sw_rst(priv);
 	if (ret) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c +5 -2
index ff9f96de74b8..696ce3c5a8ba 100644
@@ -1642,8 +1642,11 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter,
 			real_len = (((unsigned char *)ip_hdr(skb) - skb->data)
 					+ ntohs(ip_hdr(skb)->tot_len));
 
-			if (real_len < skb->len)
-				pskb_trim(skb, real_len);
+			if (real_len < skb->len) {
+				err = pskb_trim(skb, real_len);
+				if (err)
+					return err;
+			}
 
 			hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb));
 			if (unlikely(skb->len == hdr_len)) {
drivers/net/ethernet/emulex/benet/be_main.c +2 -1
index 81be560a2643..52b399aa3213 100644
@@ -1139,7 +1139,8 @@ static struct sk_buff *be_lancer_xmit_workarounds(struct be_adapter *adapter,
 	    (lancer_chip(adapter) || BE3_chip(adapter) ||
 	     skb_vlan_tag_present(skb)) && is_ipv4_pkt(skb)) {
 		ip = (struct iphdr *)ip_hdr(skb);
-		pskb_trim(skb, eth_hdr_len + ntohs(ip->tot_len));
+		if (unlikely(pskb_trim(skb, eth_hdr_len + ntohs(ip->tot_len))))
+			goto tx_drop;
 	}
 
 	/* If vlan tag is already inlined in the packet, skip HW VLAN
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c +47 -13

93 lines not on this page · raw message

drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c +2 -1
index b3ceaaaeacae..8c5c5562c0a7 100644
@@ -651,6 +651,7 @@ static void hclge_tm_tc_info_init(struct hclge_dev *hdev)
 static void hclge_tm_pg_info_init(struct hclge_dev *hdev)
 {
 #define BW_PERCENT	100
+#define DEFAULT_BW_WEIGHT	1
 
 	u8 i;
 
@@ -672,7 +673,7 @@ static void hclge_tm_pg_info_init(struct hclge_dev *hdev)
 		for (k = 0; k < hdev->tm_info.num_tc; k++)
 			hdev->tm_info.pg_info[i].tc_dwrr[k] = BW_PERCENT;
 		for (; k < HNAE3_MAX_TC; k++)
-			hdev->tm_info.pg_info[i].tc_dwrr[k] = 0;
+			hdev->tm_info.pg_info[i].tc_dwrr[k] = DEFAULT_BW_WEIGHT;
 	}
 }
 
drivers/net/ethernet/intel/i40e/i40e_debugfs.c +1 -1
index 989d5c7263d7..8bcf5902babf 100644
@@ -1839,7 +1839,7 @@ void i40e_dbg_pf_exit(struct i40e_pf *pf)
 void i40e_dbg_init(void)
 {
 	i40e_dbg_root = debugfs_create_dir(i40e_driver_name, NULL);
-	if (!i40e_dbg_root)
+	if (IS_ERR(i40e_dbg_root))
 		pr_info("init of debugfs failed\n");
 }
 
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c +14 -12
index 192729546bbf..a122a267ede5 100644
@@ -1135,16 +1135,21 @@ ice_cfg_fdir_xtrct_seq(struct ice_pf *pf, struct ethtool_rx_flow_spec *fsp,
 				     ICE_FLOW_FLD_OFF_INVAL);
 	}
 
-	/* add filter for outer headers */
 	fltr_idx = ice_ethtool_flow_to_fltr(fsp->flow_type & ~FLOW_EXT);
+
+	assign_bit(fltr_idx, hw->fdir_perfect_fltr, perfect_filter);
+
+	/* add filter for outer headers */
 	ret = ice_fdir_set_hw_fltr_rule(pf, seg, fltr_idx,
 					ICE_FD_HW_SEG_NON_TUN);
-	if (ret == -EEXIST)
-		/* Rule already exists, free memory and continue */
-		devm_kfree(dev, seg);
-	else if (ret)
+	if (ret == -EEXIST) {
+		/* Rule already exists, free memory and count as success */
+		ret = 0;
+		goto err_exit;
+	} else if (ret) {
 		/* could not write filter, free memory */
 		goto err_exit;
+	}
 
 	/* make tunneled filter HW entries if possible */
 	memcpy(&tun_seg[1], seg, sizeof(*seg));
@@ -1159,18 +1164,13 @@ ice_cfg_fdir_xtrct_seq(struct ice_pf *pf, struct ethtool_rx_flow_spec *fsp,
 		devm_kfree(dev, tun_seg);
 	}
 
-	if (perfect_filter)
-		set_bit(fltr_idx, hw->fdir_perfect_fltr);
-	else
-		clear_bit(fltr_idx, hw->fdir_perfect_fltr);
-
 	return ret;
 
 err_exit:
 	devm_kfree(dev, tun_seg);
 	devm_kfree(dev, seg);
 
-	return -EOPNOTSUPP;
+	return ret;
 }
 
 /**
@@ -1680,7 +1680,9 @@ int ice_add_fdir_ethtool(struct ice_vsi *vsi, struct ethtool_rxnfc *cmd)
 	}
 
 	/* input struct is added to the HW filter list */
-	ice_fdir_update_list_entry(pf, input, fsp->location);
+	ret = ice_fdir_update_list_entry(pf, input, fsp->location);
+	if (ret)
+		goto release_lock;
 
 	ret = ice_fdir_write_all_fltr(pf, input, true);
 	if (ret)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +1 -1
index 5c542f5d2b20..2b100b7b325a 100644
@@ -8409,7 +8409,7 @@ static void ixgbe_atr(struct ixgbe_ring *ring,
 		struct ixgbe_adapter *adapter = q_vector->adapter;
 
 		if (unlikely(skb_tail_pointer(skb) < hdr.network +
-			     VXLAN_HEADROOM))
+			     vxlan_headroom(0)))
 			return;
 
 		/* verify the port is recognized as VXLAN */
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c +3 -1
index a9b45606dbdb..76ef8a009d6e 100644
@@ -121,7 +121,9 @@ static int mlx5e_ipsec_remove_trailer(struct sk_buff *skb, struct xfrm_state *x)
 
 	trailer_len = alen + plen + 2;
 
-	pskb_trim(skb, skb->len - trailer_len);
+	ret = pskb_trim(skb, skb->len - trailer_len);
+	if (unlikely(ret))
+		return ret;
 	if (skb->protocol == htons(ETH_P_IP)) {
 		ipv4hdr->tot_len = htons(ntohs(ipv4hdr->tot_len) - trailer_len);
 		ip_send_check(ipv4hdr);
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +83 -20

180 lines not on this page · raw message

drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c +3 -2
index fd56cae0d54f..4549840fb91a 100644
@@ -425,11 +425,12 @@ int mlx5dr_cmd_create_reformat_ctx(struct mlx5_core_dev *mdev,
 
 	err = mlx5_cmd_exec(mdev, in, inlen, out, sizeof(out));
 	if (err)
-		return err;
+		goto err_free_in;
 
 	*reformat_id = MLX5_GET(alloc_packet_reformat_context_out, out, packet_reformat_id);
-	kvfree(in);
 
+err_free_in:
+	kvfree(in);
 	return err;
 }
 
drivers/net/ethernet/socionext/netsec.c +11 -0
index b9acee214bb6..bb8631558181 100644
@@ -1845,6 +1845,17 @@ static int netsec_of_probe(struct platform_device *pdev,
 		return err;
 	}
 
+	/*
+	 * SynQuacer is physically configured with TX and RX delays
+	 * but the standard firmware claimed otherwise for a long
+	 * time, ignore it.
+	 */
+	if (of_machine_is_compatible("socionext,developer-box") &&
+	    priv->phy_interface != PHY_INTERFACE_MODE_RGMII_ID) {
+		dev_warn(&pdev->dev, "Outdated firmware reports incorrect PHY mode, overriding\n");
+		priv->phy_interface = PHY_INTERFACE_MODE_RGMII_ID;
+	}
+
 	priv->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0);
 	if (!priv->phy_np) {
 		dev_err(&pdev->dev, "missing required property 'phy-handle'\n");
drivers/net/ethernet/xilinx/ll_temac_main.c +8 -8
index 130f4b707bdc..da136abba152 100644
@@ -1550,15 +1550,15 @@ static int temac_probe(struct platform_device *pdev)
 	}
 
 	/* Error handle returned DMA RX and TX interrupts */
-	if (lp->rx_irq < 0) {
-		if (lp->rx_irq != -EPROBE_DEFER)
-			dev_err(&pdev->dev, "could not get DMA RX irq\n");
-		return lp->rx_irq;
+	if (lp->rx_irq <= 0) {
+		rc = lp->rx_irq ?: -EINVAL;
+		return dev_err_probe(&pdev->dev, rc,
+				     "could not get DMA RX irq\n");
 	}
-	if (lp->tx_irq < 0) {
-		if (lp->tx_irq != -EPROBE_DEFER)
-			dev_err(&pdev->dev, "could not get DMA TX irq\n");
-		return lp->tx_irq;
+	if (lp->tx_irq <= 0) {
+		rc = lp->tx_irq ?: -EINVAL;
+		return dev_err_probe(&pdev->dev, rc,
+				     "could not get DMA TX irq\n");
 	}
 
 	if (temac_np) {
drivers/net/phy/marvell10g.c +7 -0
index 2b64318efdba..42b48d0d0c4e 100644
@@ -263,6 +263,13 @@ static int mv3310_power_up(struct phy_device *phydev)
 	ret = phy_clear_bits_mmd(phydev, MDIO_MMD_VEND2, MV_V2_PORT_CTRL,
 				 MV_V2_PORT_CTRL_PWRDOWN);
 
+	/* Sometimes, the power down bit doesn't clear immediately, and
+	 * a read of this register causes the bit not to clear. Delay
+	 * 100us to allow the PHY to come out of power down mode before
+	 * the next access.
+	 */
+	udelay(100);
+
 	if (phydev->drv->phy_id != MARVELL_PHY_ID_88X3310 ||
 	    priv->firmware_ver < 0x00030000)
 		return ret;
drivers/net/tap.c +1 -1
index f9b3eb2d8d8b..41ee56015a45 100644
@@ -523,7 +523,7 @@ static int tap_open(struct inode *inode, struct file *file)
 	q->sock.state = SS_CONNECTED;
 	q->sock.file = file;
 	q->sock.ops = &tap_socket_ops;
-	sock_init_data_uid(&q->sock, &q->sk, inode->i_uid);
+	sock_init_data_uid(&q->sock, &q->sk, current_fsuid());
 	q->sk.sk_write_space = tap_sock_write_space;
 	q->sk.sk_destruct = tap_sock_destruct;
 	q->flags = IFF_VNET_HDR | IFF_NO_PI | IFF_TAP;
drivers/net/team/team.c +9 -0
index 8a1619695421..36c7eae776d4 100644
@@ -2130,6 +2130,15 @@ static void team_setup_by_port(struct net_device *dev,
 	dev->mtu = port_dev->mtu;
 	memcpy(dev->broadcast, port_dev->broadcast, port_dev->addr_len);
 	eth_hw_addr_inherit(dev, port_dev);
+
+	if (port_dev->flags & IFF_POINTOPOINT) {
+		dev->flags &= ~(IFF_BROADCAST | IFF_MULTICAST);
+		dev->flags |= (IFF_POINTOPOINT | IFF_NOARP);
+	} else if ((port_dev->flags & (IFF_BROADCAST | IFF_MULTICAST)) ==
+		    (IFF_BROADCAST | IFF_MULTICAST)) {
+		dev->flags |= (IFF_BROADCAST | IFF_MULTICAST);
+		dev->flags &= ~(IFF_POINTOPOINT | IFF_NOARP);
+	}
 }
 
 static int team_dev_type_check_change(struct net_device *dev,
drivers/net/tun.c +1 -1
index f1d46aea8a2b..0e70877c932c 100644
@@ -3457,7 +3457,7 @@ static int tun_chr_open(struct inode *inode, struct file * file)
 	tfile->socket.file = file;
 	tfile->socket.ops = &tun_socket_ops;
 
-	sock_init_data_uid(&tfile->socket, &tfile->sk, inode->i_uid);
+	sock_init_data_uid(&tfile->socket, &tfile->sk, current_fsuid());
 
 	tfile->sk.sk_write_space = tun_sock_write_space;
 	tfile->sk.sk_sndbuf = INT_MAX;
drivers/net/usb/cdc_ether.c +21 -0
index 935cd296887f..9f3446d6dde7 100644
@@ -604,9 +604,23 @@ static const struct usb_device_id	products[] = {
 	.match_flags	=   USB_DEVICE_ID_MATCH_INT_INFO
 			  | USB_DEVICE_ID_MATCH_DEVICE,
 	.idVendor		= 0x04DD,
+	.idProduct		= 0x8005,   /* A-300 */
+	ZAURUS_FAKE_INTERFACE,
+	.driver_info        = 0,
+}, {
+	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
+			  | USB_DEVICE_ID_MATCH_DEVICE,
+	.idVendor		= 0x04DD,
 	.idProduct		= 0x8006,	/* B-500/SL-5600 */
 	ZAURUS_MASTER_INTERFACE,
 	.driver_info		= 0,
+}, {
+	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
+			  | USB_DEVICE_ID_MATCH_DEVICE,
+	.idVendor		= 0x04DD,
+	.idProduct		= 0x8006,   /* B-500/SL-5600 */
+	ZAURUS_FAKE_INTERFACE,
+	.driver_info        = 0,
 }, {
 	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
 			  | USB_DEVICE_ID_MATCH_DEVICE,
@@ -614,6 +628,13 @@ static const struct usb_device_id	products[] = {
 	.idProduct		= 0x8007,	/* C-700 */
 	ZAURUS_MASTER_INTERFACE,
 	.driver_info		= 0,
+}, {
+	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
+			  | USB_DEVICE_ID_MATCH_DEVICE,
+	.idVendor		= 0x04DD,
+	.idProduct		= 0x8007,   /* C-700 */
+	ZAURUS_FAKE_INTERFACE,
+	.driver_info        = 0,
 }, {
 	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
 		 | USB_DEVICE_ID_MATCH_DEVICE,
drivers/net/usb/usbnet.c +6 -0
index 43d70348343b..481a41d879b5 100644
@@ -1738,6 +1738,10 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
 	} else if (!info->in || !info->out)
 		status = usbnet_get_endpoints (dev, udev);
 	else {
+		u8 ep_addrs[3] = {
+			info->in + USB_DIR_IN, info->out + USB_DIR_OUT, 0
+		};
+
 		dev->in = usb_rcvbulkpipe (xdev, info->in);
 		dev->out = usb_sndbulkpipe (xdev, info->out);
 		if (!(info->flags & FLAG_NO_SETINT))
@@ -1747,6 +1751,8 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
 		else
 			status = 0;
 
+		if (status == 0 && !usb_check_bulk_endpoints(udev, ep_addrs))
+			status = -EINVAL;
 	}
 	if (status >= 0 && dev->status)
 		status = init_status (dev, udev);
drivers/net/usb/zaurus.c +21 -0
index 7984f2157d22..df3617c4c44e 100644
@@ -289,9 +289,23 @@ static const struct usb_device_id	products [] = {
 	.match_flags	=   USB_DEVICE_ID_MATCH_INT_INFO
 			  | USB_DEVICE_ID_MATCH_DEVICE,
 	.idVendor		= 0x04DD,
+	.idProduct		= 0x8005,	/* A-300 */
+	ZAURUS_FAKE_INTERFACE,
+	.driver_info = (unsigned long)&bogus_mdlm_info,
+}, {
+	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
+			  | USB_DEVICE_ID_MATCH_DEVICE,
+	.idVendor		= 0x04DD,
 	.idProduct		= 0x8006,	/* B-500/SL-5600 */
 	ZAURUS_MASTER_INTERFACE,
 	.driver_info = ZAURUS_PXA_INFO,
+}, {
+	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
+			  | USB_DEVICE_ID_MATCH_DEVICE,
+	.idVendor		= 0x04DD,
+	.idProduct		= 0x8006,	/* B-500/SL-5600 */
+	ZAURUS_FAKE_INTERFACE,
+	.driver_info = (unsigned long)&bogus_mdlm_info,
 }, {
 	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
 	          | USB_DEVICE_ID_MATCH_DEVICE,
@@ -299,6 +313,13 @@ static const struct usb_device_id	products [] = {
 	.idProduct		= 0x8007,	/* C-700 */
 	ZAURUS_MASTER_INTERFACE,
 	.driver_info = ZAURUS_PXA_INFO,
+}, {
+	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
+			  | USB_DEVICE_ID_MATCH_DEVICE,
+	.idVendor		= 0x04DD,
+	.idProduct		= 0x8007,	/* C-700 */
+	ZAURUS_FAKE_INTERFACE,
+	.driver_info = (unsigned long)&bogus_mdlm_info,
 }, {
 	.match_flags    =   USB_DEVICE_ID_MATCH_INT_INFO
 		 | USB_DEVICE_ID_MATCH_DEVICE,
drivers/net/virtio_net.c +2 -2
index 119a32f34b53..165149bcf0b1 100644
@@ -3220,6 +3220,8 @@ static int virtnet_probe(struct virtio_device *vdev)
 		}
 	}
 
+	_virtnet_set_queues(vi, vi->curr_queue_pairs);
+
 	/* serialize netdev register + virtio_device_ready() with ndo_open() */
 	rtnl_lock();
 
@@ -3240,8 +3242,6 @@ static int virtnet_probe(struct virtio_device *vdev)
 		goto free_unregister_netdev;
 	}
 
-	virtnet_set_queues(vi, vi->curr_queue_pairs);
-
 	/* Assume link up if device can't report link status,
 	   otherwise get link status from config. */
 	netif_carrier_off(dev);
drivers/net/vxlan.c deleted +0 -4829

86 lines not on this page · raw message

drivers/net/vxlan/Makefile new file +7 -0
new file mode 100644
index 000000000000..567266133593

Lines of this file are not shown. View the raw message.

drivers/net/vxlan/vxlan_core.c new file +4826 -0

4,826 lines not on this page · raw message

drivers/net/wireless/mediatek/mt76/mac80211.c +4 -4
index 81ff3b4c6c1b..dc1191aa0443 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76.h +1 -1
index 5a8060790a61..16e65020a242 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c +1 -1
index 01f1e0da5ee1..a6df733aca49 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7615/dma.c +1 -1
index bf8ae14121db..637ef0882436 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c +11 -11
index e9cdcdc54d5c..85f56487feff 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c +3 -3
index 9087607b621e..ebf4c96532d3 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76x0/init.c +2 -2
index d78866bf41ba..0bac39bf3b66 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76x0/phy.c +2 -2
index 3de33aadf794..e91c314cdfac 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c +4 -4
index c54c50fd639a..0acabba2d1a5 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c +4 -4
index e4c5f968f706..5f6c527611f2 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt7915/init.c +2 -3
index 8f01ca1694bc..99683688a836 100644

Lines of this file are not shown. View the raw message.

drivers/pci/pcie/aspm.c +37 -18

55 lines not on this page · raw message

drivers/phy/hisilicon/phy-hisi-inno-usb2.c +1 -1
index 34a6a9a1ceb2..897c6bb4cbb8 100644

Lines of this file are not shown. View the raw message.

drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c +52 -34

86 lines not on this page · raw message

drivers/platform/x86/msi-laptop.c +4 -4
index 0e804b6c2d24..dfb4af759aa7 100644

Lines of this file are not shown. View the raw message.

drivers/pwm/pwm-meson.c +13 -12
index 0283163ddbe8..5b5fd1671350 100644

Lines of this file are not shown. View the raw message.

drivers/s390/block/dasd_ioctl.c +1 -0
index 6d5c9cb83592..99b1b01e23e9 100644

Lines of this file are not shown. View the raw message.

drivers/s390/net/qeth_core.h +0 -1
index bf8404b0e74f..2544edd4d2b5 100644

Lines of this file are not shown. View the raw message.

drivers/s390/net/qeth_core_main.c +0 -2
index 7b0155b0e99e..73d564906d04 100644

Lines of this file are not shown. View the raw message.

drivers/s390/net/qeth_l2_main.c +6 -3
index cfc931f2b7e2..1797addf69b6 100644

Lines of this file are not shown. View the raw message.

drivers/s390/net/qeth_l3_main.c +5 -3
index 291861c9b956..d8cdf9024126 100644

Lines of this file are not shown. View the raw message.

drivers/s390/scsi/zfcp_fc.c +1 -5
index b61acbb09be3..d323f9985c48 100644

Lines of this file are not shown. View the raw message.

drivers/soundwire/bus.c +24 -7
index 3317a02bcc17..0e0a19030c35 100644

Lines of this file are not shown. View the raw message.

drivers/staging/ks7010/ks_wlan_net.c +4 -2
index 09e7b4cd0138..604882279adc 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/atomisp/Kconfig +1 -0
index 37577bb72998..1a0b958f1aa0 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8712/ieee80211.c +6 -6
index b4a099169c7c..8075ed2ba61e 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8712/rtl871x_ioctl_linux.c +4 -4
index 2a661b04cd25..15c6ac518c16 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8712/rtl871x_mlme.c +5 -5
index 6074383ec0b5..250cb0c4ed08 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8712/rtl871x_xmit.c +36 -10

46 lines not on this page · raw message

drivers/staging/rtl8712/wifi.h +0 -15
index 601d4ff607bc..9bb310b24589 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8712/xmit_linux.c +6 -0
index 1f67d86c606f..9050e51aa407 100644

Lines of this file are not shown. View the raw message.

drivers/tty/n_gsm.c +3 -1
index 23b014b8c919..d439afef9212 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_dwlib.c +4 -2
index 6d6a78eead3e..1cf229cca592 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/qcom_geni_serial.c +0 -7
index f50ffc8076d8..65a0c4e2bb29 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/sifive.c +1 -1
index 91952be01074..c234114b5052 100644

Lines of this file are not shown. View the raw message.

drivers/usb/core/quirks.c +4 -0
index 4ac1c22f13be..856947620f14 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/core.c +2 -18
index 5709b959b1d9..b02b10acb884 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/core.h +0 -3
index cbebe541f7e8..291893d27429 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/dwc3-pci.c +4 -2
index a5a8c5712bce..9f420cc8d7c7 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/legacy/raw_gadget.c +6 -4
index b496ca937dee..ddb39e672801 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/udc/tegra-xudc.c +4 -4
index 66d5f6a85c84..c5f0fbb8ffe4 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/ohci-at91.c +7 -1
index 99e994fd3d1d..2ba3c1b6ad6d 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-mtk.c +1 -0
index 1c331577fca9..122777b21b24 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-tegra.c +4 -4
index 9fa4f8f39830..ffb09737b5d0 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/option.c +6 -0
index 625d9dc776be..0b3422c06ab9 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/usb-serial-simple.c +40 -33

73 lines not on this page · raw message

fs/btrfs/ctree.c +2 -0
index 41a7ace9998e..814f2f07e74c 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/qgroup.c +15 -3
index 828a7ff4aebe..a67323c2d41f 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/transaction.c +8 -2
index 8daa9e4eb1d2..abd67f984fbc 100644

Lines of this file are not shown. View the raw message.

fs/ceph/mds_client.c +2 -2
index 87a9e9096421..df1ecb8bfebf 100644

Lines of this file are not shown. View the raw message.

fs/ceph/mds_client.h +5 -0
index a92e42e8a9f8..1c958510f00f 100644

Lines of this file are not shown. View the raw message.

fs/ceph/metric.c +1 -1
index 9e0a0e26294e..906e446abb46 100644

Lines of this file are not shown. View the raw message.

fs/ceph/super.c +10 -0
index 08c8d34c9809..f2aff97348bc 100644

Lines of this file are not shown. View the raw message.

fs/dlm/plock.c +57 -43

100 lines not on this page · raw message

fs/exfat/balloc.c +3 -3
index 258b6bb5762a..ab091440e8b9 100644

Lines of this file are not shown. View the raw message.

fs/exfat/dir.c +47 -23

70 lines not on this page · raw message

fs/exfat/exfat_fs.h +5 -2
index 07b09af57436..11e579a2598d 100644

Lines of this file are not shown. View the raw message.

fs/exfat/namei.c +8 -1
index 1382d816912c..bd00afc5e4c1 100644

Lines of this file are not shown. View the raw message.

fs/ext2/ext2.h +0 -12
index f06367cfd764..fb2086bcbbf8 100644

Lines of this file are not shown. View the raw message.

fs/ext2/super.c +4 -19
index ab01ec7ac48c..a810b9c9e8eb 100644

Lines of this file are not shown. View the raw message.

fs/ext4/ioctl.c +4 -1
index 1171618f6549..56829507e68c 100644

Lines of this file are not shown. View the raw message.

fs/file.c +19 -5
index 173d318208b8..d6bc73960e4a 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfs4state.c +0 -2
index cb13a1649632..1c1b231b2ab3 100644

Lines of this file are not shown. View the raw message.

fs/open.c +1 -1
index 1ca4b236fdbe..83f62cf1432c 100644

Lines of this file are not shown. View the raw message.

fs/super.c +10 -1
index 7629f9dd031c..f9795e72e3bf 100644

Lines of this file are not shown. View the raw message.

fs/sysv/itree.c +4 -0
index 31f66053e239..e3d1673b8ec9 100644

Lines of this file are not shown. View the raw message.

include/asm-generic/word-at-a-time.h +1 -1
index 20c93f08c993..95a1d214108a 100644

Lines of this file are not shown. View the raw message.

include/drm/ttm/ttm_bo_api.h +28 -0
index 0f7cd21d6d74..09ccfee48fb4 100644

Lines of this file are not shown. View the raw message.

include/linux/pm_wakeirq.h +7 -2
index cd5b62db9084..e63a63aa47a3 100644

Lines of this file are not shown. View the raw message.

include/linux/trace_events.h +4 -0
index c57b79301a75..e418065c2c90 100644

Lines of this file are not shown. View the raw message.

include/net/ipv6.h +2 -6
index 8879c0ab0b89..4c8f97a6da5a 100644

Lines of this file are not shown. View the raw message.

include/net/vxlan.h +11 -6
index 08537aa14f7c..e149a0b6f9a3 100644

Lines of this file are not shown. View the raw message.

include/trace/trace_events.h +1 -1
index 717d388ecbd6..29917bce6dbc 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/blkzoned.h +5 -5
index 656a326821a2..321965feee35 100644

Lines of this file are not shown. View the raw message.

io_uring/io_uring.c +26 -7
index 51e6ebe72caf..92eb4769b0a3 100644

Lines of this file are not shown. View the raw message.

kernel/events/core.c +6 -2
index 53f36bbaf0c6..8c5400fd227b 100644

Lines of this file are not shown. View the raw message.

kernel/trace/bpf_trace.c +5 -1
index 9e90d1e7af2c..1de9a6bf8471 100644

Lines of this file are not shown. View the raw message.

kernel/trace/ring_buffer.c +12 -10
index 593e446f6c48..3b8c53264441 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace.c +73 -3

76 lines not on this page · raw message

kernel/trace/trace.h +2 -0
index e5b505b5b7d0..892b3d2f33b7 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_events.c +4 -10
index f8ed66f38175..a46d34d840f6 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace_output.c +11 -1
index b3ee8d9b6b62..94b0991717b6 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_sock.c +2 -0
index a267c9b6bcef..756523e5402a 100644

Lines of this file are not shown. View the raw message.

net/ceph/osd_client.c +14 -6
index 1e9fab79e245..d594cd501861 100644

Lines of this file are not shown. View the raw message.

net/core/bpf_sk_storage.c +4 -1
index d67d06d6b817..a811fe0f0f6f 100644

Lines of this file are not shown. View the raw message.

net/core/rtnetlink.c +6 -2
index d3c03ebf06a5..ce37a052b9c3 100644

Lines of this file are not shown. View the raw message.

net/core/sock.c +12 -9
index 4e00c6e2cb43..98f4b4a80de4 100644

Lines of this file are not shown. View the raw message.

net/core/sock_map.c +0 -2
index ee5d3f49b0b5..f375ef150149 100644

Lines of this file are not shown. View the raw message.

net/dcb/dcbnl.c +1 -1
index 2535d3dfb92c..c0fb70936ca1 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_metrics.c +44 -26

70 lines not on this page · raw message

net/ipv6/addrconf.c +10 -4
index d5d10496b4ae..9b414681500a 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ip6mr.c +1 -1
index 5f0ac47acc74..c758d0cc6146 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_tables_api.c +14 -6
index 356416564d9f..19653b8784bb 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_immediate.c +18 -9
index 6b0efab4fad0..6bf1c852e8ea 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_set_rbtree.c +14 -6
index 172b994790a0..eae760adae4d 100644

Lines of this file are not shown. View the raw message.

net/sched/cls_fw.c +0 -1
index 41f0898a5a56..08c41f1976c4 100644

Lines of this file are not shown. View the raw message.

net/sched/cls_route.c +0 -1
index b775e681cb56..1ad4b3e60eb3 100644

Lines of this file are not shown. View the raw message.

net/sched/cls_u32.c +50 -7

57 lines not on this page · raw message

net/sched/sch_mqprio.c +93 -51

144 lines not on this page · raw message

net/tipc/crypto.c +2 -1
index de63d6d41645..2784d6989211 100644

Lines of this file are not shown. View the raw message.

net/tipc/node.c +1 -1
index 38f61dccb855..9e3cfeb82a23 100644

Lines of this file are not shown. View the raw message.

net/unix/af_unix.c +1 -1
index 2fe0efcbfed1..3aa783a23c5f 100644

Lines of this file are not shown. View the raw message.

net/wireless/scan.c +1 -1
index 671c7f83d5fc..f59691936e5b 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_realtek.c +1 -0
index 6bfc7e28515a..db8593d79431 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs42l51-i2c.c +6 -0
index 70260e0a8f09..3ff73367897d 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs42l51.c +0 -7
index c61b17dc2af8..4b026e1c3fe3 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs42l51.h +0 -1
index 9d06cf7f8876..4f13c38484b7 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wm8904.c +3 -0
index cc96c9bdff41..c90e776f7a54 100644

Lines of this file are not shown. View the raw message.

sound/soc/fsl/fsl_spdif.c +2 -0
index d01e8d516df1..64b85b786bf6 100644

Lines of this file are not shown. View the raw message.

tools/perf/tests/shell/test_uprobe_from_different_cu.sh +7 -1
index 00d2e0e2e0c2..319f36ebb9a4 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/net/mptcp/config +1 -0
index 1a4c11a444d9..8867c40258b5 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rseq/rseq.c +24 -7
index 986b9458efb2..b736a5169aad 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.