2021-07-12 10:51:17

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 000/800] 5.13.2-rc1 review

This is the start of the stable review cycle for the 5.13.2 release.
There are 800 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.

Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
Anything received after that time might be too late.

The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.13.2-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.13.y
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <[email protected]>
Linux 5.13.2-rc1

Quat Le <[email protected]>
scsi: core: Retry I/O for Notify (Enable Spinup) Required error

Mauro Carvalho Chehab <[email protected]>
media: exynos4-is: remove a now unused integer

Johan Hovold <[email protected]>
mmc: vub3000: fix control-request direction

Bean Huo <[email protected]>
mmc: block: Disable CMDQ on the ioctl path

Jens Axboe <[email protected]>
io_uring: add IOPOLL and reserved field checks to IORING_OP_UNLINKAT

Jens Axboe <[email protected]>
io_uring: add IOPOLL and reserved field checks to IORING_OP_RENAMEAT

Pavel Begunkov <[email protected]>
io_uring: fix blocking inline submission

Long Li <[email protected]>
block: return the correct bvec when checking for gaps

Wei Yongjun <[email protected]>
erofs: fix error return code in erofs_read_superblock()

Jarkko Sakkinen <[email protected]>
tpm: Replace WARN_ONCE() with dev_err_once() in tpm_tis_status()

Eric Biggers <[email protected]>
fscrypt: fix derivation of SipHash keys on big endian CPUs

Eric Biggers <[email protected]>
fscrypt: don't ignore minor_hash when hash is 0

Sibi Sankar <[email protected]>
mailbox: qcom-ipcc: Fix IPCC mbox channel exhaustion

Javed Hasan <[email protected]>
scsi: libfc: Correct the condition check and invalid argument passed

James Smart <[email protected]>
scsi: lpfc: Fix Node recovery when driver is handling simultaneous PLOGIs

James Smart <[email protected]>
scsi: lpfc: Fix unreleased RPIs when NPIV ports are created

Varun Prakash <[email protected]>
scsi: target: cxgbit: Unmap DMA buffer before calling target_execute_cmd()

Javed Hasan <[email protected]>
scsi: fc: Correct RHBA attributes length

Chandrakanth Patil <[email protected]>
scsi: megaraid_sas: Send all non-RW I/Os for TYPE_ENCLOSURE device through firmware

Namjae Jeon <[email protected]>
exfat: handle wrong stream entry size in exfat_readdir()

Guo Ren <[email protected]>
csky: syscache: Fixup duplicate cache flush

Chris Packham <[email protected]>
i2c: mpc: Restore reread of I2C status register

Arnaldo Carvalho de Melo <[email protected]>
perf llvm: Return -ENOMEM when asprintf() fails

Dave Hansen <[email protected]>
selftests/vm/pkeys: refill shadow register after implicit kernel write

Dave Hansen <[email protected]>
selftests/vm/pkeys: handle negative sys_pkey_alloc() return code

Dave Hansen <[email protected]>
selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random

Trent Piepho <[email protected]>
lib/math/rational.c: fix divide by zero

Marco Elver <[email protected]>
kfence: unconditionally use unbound work queue

Miaohe Lin <[email protected]>
mm/zswap.c: fix two bugs in zswap_writeback_entry()

Muchun Song <[email protected]>
mm: migrate: fix missing update page_private to hugetlb_page_subpool

Miaohe Lin <[email protected]>
mm/z3fold: use release_z3fold_page_locked() to release locked z3fold page

Miaohe Lin <[email protected]>
mm/z3fold: fix potential memory leak in z3fold_destroy_pool()

Mike Kravetz <[email protected]>
hugetlb: address ref count racing in prep_compound_gigantic_page

Mike Kravetz <[email protected]>
hugetlb: remove prep_compound_huge_page cleanup

Miaohe Lin <[email protected]>
mm/huge_memory.c: don't discard hugepage if other processes are mapping it

Miaohe Lin <[email protected]>
mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled()

Miaohe Lin <[email protected]>
mm/huge_memory.c: remove dedicated macro HPAGE_CACHE_INDEX_MASK

Alex Williamson <[email protected]>
vfio/pci: Handle concurrent vma faults

Nicholas Piggin <[email protected]>
powerpc/64s/interrupt: preserve regs->softe for NMI interrupts

Nicholas Piggin <[email protected]>
powerpc/64s: fix hash page fault interrupt handler

Pali Rohár <[email protected]>
arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART

Pali Rohár <[email protected]>
serial: mvebu-uart: correctly calculate minimal possible baudrate

Pali Rohár <[email protected]>
serial: mvebu-uart: do not allow changing baudrate when uartclk is not available

Christophe JAILLET <[email protected]>
ALSA: firewire-lib: Fix 'amdtp_domain_start()' when no AMDTP_OUT_STREAM stream is found

Michael Ellerman <[email protected]>
powerpc: Fix is_kvm_guest() / kvm_para_available()

Vaibhav Jain <[email protected]>
powerpc/papr_scm: Make 'perf_stats' invisible if perf-stats unavailable

Nicholas Piggin <[email protected]>
powerpc/64s: Fix copy-paste data exposure into newly created tasks

Andy Shevchenko <[email protected]>
powerpc/papr_scm: Properly handle UUID types and API

Nicholas Piggin <[email protected]>
powerpc: Offline CPU in stop_this_cpu()

Vignesh Raghavendra <[email protected]>
serial: 8250: 8250_omap: Fix possible interrupt storm on K3 SoCs

Christophe JAILLET <[email protected]>
staging: rtl8723bs: Fix an error handling path

Dave Hansen <[email protected]>
selftests/sgx: remove checks for file execute permissions

Krzysztof Kozlowski <[email protected]>
selftests/ftrace: fix event-no-pid on 1-core machine

Christophe JAILLET <[email protected]>
leds: ktd2692: Fix an error handling path

Zhen Lei <[email protected]>
leds: as3645a: Fix error return code in as3645a_parse_node()

Shengjiu Wang <[email protected]>
ASoC: fsl_spdif: Fix unexpected interrupt after suspend

Kai Vehmanen <[email protected]>
ASoC: Intel: sof_sdw: use mach data for ADL RVP DMIC count

Vamshi Krishna Gopal <[email protected]>
ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload

Libin Yang <[email protected]>
ASoC: Intel: sof_sdw: add SOF_RT715_DAI_ID_FIX for AlderLake

Chung-Chiang Cheng <[email protected]>
configfs: fix memleak in configfs_release_bin_file

Shengjiu Wang <[email protected]>
ASoC: fsl_xcvr: disable all interrupts when suspend happens

Codrin Ciubotariu <[email protected]>
ASoC: atmel-i2s: Fix usage of capture and playback at the same time

Codrin Ciubotariu <[email protected]>
ASoC: atmel-i2s: Set symmetric sample bits

Nicholas Piggin <[email protected]>
powerpc/powernv: Fix machine check reporting of async store errors

Marek Szyprowski <[email protected]>
extcon: max8997: Add missing modalias string

Stephan Gerhold <[email protected]>
extcon: sm5502: Drop invalid register write in sm5502_reg_data

Christophe JAILLET <[email protected]>
phy: ti: dm816x: Fix the error handling path in 'dm816x_usb_phy_probe()

Kunihiko Hayashi <[email protected]>
phy: uniphier-pcie: Fix updating phy parameters

Richard Fitzgerald <[email protected]>
soundwire: stream: Fix test for DP prepare complete

Zhen Lei <[email protected]>
scsi: mpt3sas: Fix error return value in _scsih_expander_add()

Christophe JAILLET <[email protected]>
habanalabs: Fix an error handling path in 'hl_pci_probe()'

Yang Yingliang <[email protected]>
mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume()

Geert Uytterhoeven <[email protected]>
of: Fix truncation of memory sizes on 32-bit platforms

Richard Fitzgerald <[email protected]>
ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK

Jonathan Cameron <[email protected]>
iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: light: vcnl4035: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Maciej W. Rozycki <[email protected]>
serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates

Dmitry Osipenko <[email protected]>
usb: phy: tegra: Correct definition of B_SESS_VLD_WAKEUP_EN bit

Dmitry Osipenko <[email protected]>
usb: phy: tegra: Wait for VBUS wakeup status deassertion on suspend

Sergio Paracuellos <[email protected]>
staging: mt7621-dts: fix pci address for PCI memory range

Junhao He <[email protected]>
coresight: core: Fix use of uninitialized pointer

Pavel Skripkin <[email protected]>
staging: rtl8712: fix memory leak in rtl871x_load_fw_cb

Pavel Skripkin <[email protected]>
staging: rtl8712: fix error handling in r871xu_drv_init

Dan Carpenter <[email protected]>
staging: gdm724x: check for overflow in gdm_lte_netif_rx()

Dan Carpenter <[email protected]>
staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt()

Shengjiu Wang <[email protected]>
ASoC: fsl_spdif: Fix error handler with pm_runtime_enable

Jonathan Cameron <[email protected]>
iio: light: vcnl4000: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: magn: rm3100: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: adc: at91-sama5d2: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Wei Yongjun <[email protected]>
iio: dummy: Fix build error when CONFIG_IIO_TRIGGERED_BUFFER is not set

David Gow <[email protected]>
kunit: Fix result propagation for parameterised tests

Miquel Raynal <[email protected]>
mtd: spinand: Fix double counting of ECC stats

Mika Westerberg <[email protected]>
thunderbolt: Bond lanes only when dual_link_port != NULL in alloc_dev_default()

Michael Walle <[email protected]>
mtd: spi-nor: otp: return -EROFS if region is read-only

Michael Walle <[email protected]>
mtd: spi-nor: otp: fix access to security registers in 4 byte mode

Andy Shevchenko <[email protected]>
eeprom: idt_89hpesx: Restore printing the unsupported fwnode name

Andy Shevchenko <[email protected]>
eeprom: idt_89hpesx: Put fwnode in matching case during ->probe()

Clément Lassieur <[email protected]>
usb: dwc2: Don't reset the core after setting turnaround time

Andrew Gabbasov <[email protected]>
usb: gadget: f_fs: Fix setting of device and driver data cross-references

Christophe JAILLET <[email protected]>
ASoC: mediatek: mtk-btcvsd: Fix an error handling path in 'mtk_btcvsd_snd_probe()'

Bard Liao <[email protected]>
ASoC: rt711-sdca: handle mbq_regmap in rt711_sdca_io_init

Bard Liao <[email protected]>
ASoC: rt711-sdca-sdw: add readable for SDW_SDCA_CTL() registers

Bard Liao <[email protected]>
ASoC: rt5682-sdw: set regcache_cache_only false before reading RT5682_DEVICE_ID

Oder Chiou <[email protected]>
ASoC: rt5682: Fix a problem with error handling in the io init function of the soundwire

Jack Yu <[email protected]>
ASoC: rt715-sdca: fix clock stop prepare timeout issue

Pierre-Louis Bossart <[email protected]>
ASoC: rt715-sdw: use first_hw_init flag on resume

Pierre-Louis Bossart <[email protected]>
ASoC: rt715-sdca-sdw: use first_hw_init flag on resume

Pierre-Louis Bossart <[email protected]>
ASoC: rt711-sdw: use first_hw_init flag on resume

Pierre-Louis Bossart <[email protected]>
ASoC: rt711-sdca-sdw: use first_hw_init flag on resume

Pierre-Louis Bossart <[email protected]>
ASoC: rt700-sdw: use first_hw_init flag on resume

Pierre-Louis Bossart <[email protected]>
ASoC: rt5682-sdw: use first_hw_init flag on resume

Pierre-Louis Bossart <[email protected]>
ASoC: rt1316-sdw: use first_hw_init flag on resume

Pierre-Louis Bossart <[email protected]>
ASoC: rt1308-sdw: use first_hw_init flag on resume

Pierre-Louis Bossart <[email protected]>
ASoC: max98373-sdw: use first_hw_init flag on resume

Pierre-Louis Bossart <[email protected]>
ASoC: max98373-sdw: add missing memory allocation check

Srinath Mannam <[email protected]>
iommu/dma: Fix IOVA reserve dma ranges

Kees Cook <[email protected]>
selftests: splice: Adjust for handler fallback removal

Randy Dunlap <[email protected]>
s390: appldata depends on PROC_SYSCTL

Niklas Schnelle <[email protected]>
s390: enable HAVE_IOREMAP_PROT

Robin Murphy <[email protected]>
iommu/amd: Tidy up DMA ops init

Alexander Monakov <[email protected]>
iommu/amd: Fix extended features logging

Zhen Lei <[email protected]>
visorbus: fix error return code in visorchipset_init()

Joachim Fenkes <[email protected]>
fsi/sbefifo: Fix reset timeout

Joachim Fenkes <[email protected]>
fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE

Eddie James <[email protected]>
fsi: occ: Don't accept response from un-initialized OCC

Eddie James <[email protected]>
fsi: scom: Reset the FSI2PIB engine for any error

Colin Ian King <[email protected]>
fsi: core: Fix return of error values on failures

Andreas Kemnade <[email protected]>
mfd: rn5t618: Fix IRQ trigger by changing it to level mode

Andy Shevchenko <[email protected]>
mfd: Remove software node conditionally and locate at right place

Randy Dunlap <[email protected]>
mfd: mp2629: Select MFD_CORE to fix build error

Mike Christie <[email protected]>
scsi: iscsi: Flush block work before unblock

Mike Christie <[email protected]>
scsi: iscsi: Fix in-kernel conn failure handling

Mike Christie <[email protected]>
scsi: iscsi: Rel ref after iscsi_lookup_endpoint()

Mike Christie <[email protected]>
scsi: iscsi: Use system_unbound_wq for destroy_work

Mike Christie <[email protected]>
scsi: iscsi: Force immediate failure during shutdown

Mike Christie <[email protected]>
scsi: iscsi: Stop queueing during ep_disconnect

Randy Dunlap <[email protected]>
scsi: FlashPoint: Rename si_flags field

Andy Shevchenko <[email protected]>
leds: lp50xx: Put fwnode in error case during ->probe()

Andy Shevchenko <[email protected]>
leds: lm3697: Don't spam logs when probe is deferred

Andy Shevchenko <[email protected]>
leds: lm3692x: Put fwnode in any case during ->probe()

Andy Shevchenko <[email protected]>
leds: lm36274: Put fwnode in error case during ->probe()

Andy Shevchenko <[email protected]>
leds: lm3532: select regmap I2C API

Andy Shevchenko <[email protected]>
leds: lgm-sso: Fix clock handling

Andy Shevchenko <[email protected]>
leds: class: The -ENOTSUPP should never be seen by user space

Christophe JAILLET <[email protected]>
tty: nozomi: Fix the error handling path of 'nozomi_card_init()'

Christophe JAILLET <[email protected]>
firmware: stratix10-svc: Fix a resource leak in an error handling path

Christophe JAILLET <[email protected]>
misc/pvpanic-mmio: Fix error handling in 'pvpanic_mmio_probe()'

Christophe JAILLET <[email protected]>
misc/pvpanic-pci: Fix error handling in 'pvpanic_pci_probe()'

Yu Kuai <[email protected]>
char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol()

Dave Stevenson <[email protected]>
staging: mmal-vchiq: Fix incorrect static vchiq_instance.

Miquel Raynal <[email protected]>
mtd: rawnand: arasan: Ensure proper configuration for the asserted target

Ansuel Smith <[email protected]>
mtd: parsers: qcom: Fix leaking of partition name

Corentin Labbe <[email protected]>
mtd: partitions: redboot: seek fis-index-block in the right node

Adrian Hunter <[email protected]>
perf scripting python: Fix tuple_set_u64()

Zhen Lei <[email protected]>
Input: hil_kbd - fix error return code in hil_dev_connect()

Kuninori Morimoto <[email protected]>
ASoC: rsnd: tidyup loop on rsnd_adg_clk_query()

Badhri Jagan Sridharan <[email protected]>
usb: typec: tcpm: Fix up PR_SWAP when vsafe0v is signalled

Andy Shevchenko <[email protected]>
backlight: lm3630a_bl: Put fwnode in error case during ->probe()

Yang Yingliang <[email protected]>
ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup()

Yang Yingliang <[email protected]>
ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe()

Jonathan Cameron <[email protected]>
iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: cros_ec_sensors: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: chemical: atlas: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: light: tcs3472: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: light: tcs3414: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: light: isl29125: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: magn: bmc150: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: magn: hmc5843: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: prox: as3935: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: prox: pulsed-light: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: prox: srf08: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: humidity: am2315: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: gyro: bmg160: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: adc: ti-ads1015: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: accel: stk8ba50: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: accel: mxc4005: Fix overread of data and alignment issue.

Jonathan Cameron <[email protected]>
iio: accel: kxcjk-1013: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: accel: bma220: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Jonathan Cameron <[email protected]>
iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Nuno Sa <[email protected]>
iio: adis16475: do not return ints in irq handlers

Nuno Sa <[email protected]>
iio: adis16400: do not return ints in irq handlers

Nuno Sa <[email protected]>
iio: adis_buffer: do not return ints in irq handlers

Arnd Bergmann <[email protected]>
mwifiex: re-fix for unaligned accesses

Sergio Paracuellos <[email protected]>
phy: ralink: phy-mt7621-pci: properly print pointer address

Christophe JAILLET <[email protected]>
tty: nozomi: Fix a resource leak in an error handling function

Dan Carpenter <[email protected]>
serial: 8250_omap: fix a timeout loop condition

Michael Walle <[email protected]>
serial: fsl_lpuart: remove RTSCTS handling from get_mctrl()

Michael Walle <[email protected]>
serial: fsl_lpuart: don't modify arbitrary data on lpuart32

Paul E. McKenney <[email protected]>
rcu: Invoke rcu_spawn_core_kthreads() from rcu_spawn_gp_kthread()

Stephen Boyd <[email protected]>
ASoC: rt5682: Disable irq on shutdown

Andy Shevchenko <[email protected]>
staging: fbtft: Don't spam logs when probe is deferred

Andy Shevchenko <[email protected]>
staging: fbtft: Rectify GPIO handling

Christophe JAILLET <[email protected]>
staging: rtl8712: Fix some tests against some 'data' subtype frames

Wei Li <[email protected]>
MIPS: Fix PKMAP with 32-bit MIPS huge page support

Leon Romanovsky <[email protected]>
RDMA/core: Always release restrack object

Leon Romanovsky <[email protected]>
RDMA/mlx5: Don't access NULL-cleared mpi pointer

Menglong Dong <[email protected]>
net: tipc: fix FB_MTU eat two pages

Pavel Skripkin <[email protected]>
net: sched: fix warning in tcindex_alloc_perfect_hash

Vadim Fedorenko <[email protected]>
net: lwtunnel: handle MTU calculation in forwading

Muchun Song <[email protected]>
writeback: fix obtain a reference to a freeing memcg css

Ravi Bangoria <[email protected]>
bpf, x86: Fix extable offset calculation

Robert Hancock <[email protected]>
clk: si5341: Update initialization magic

Robert Hancock <[email protected]>
clk: si5341: Check for input clock presence and PLL lock on startup

Robert Hancock <[email protected]>
clk: si5341: Avoid divide errors due to bogus register contents

Robert Hancock <[email protected]>
clk: si5341: Wait for DEVICE_READY on startup

Jonathan Marek <[email protected]>
clk: qcom: clk-alpha-pll: fix CAL_L write in alpha_pll_fabia_prepare

Cristian Ciocaltea <[email protected]>
clk: actions: Fix AHPPREDIV-H-AHB clock chain on Owl S500 SoC

Cristian Ciocaltea <[email protected]>
clk: actions: Fix bisp_factor_table based clocks on Owl S500 SoC

Cristian Ciocaltea <[email protected]>
clk: actions: Fix SD clocks factor table on Owl S500 SoC

Cristian Ciocaltea <[email protected]>
clk: actions: Fix UART clock dividers on Owl S500 SoC

Taniya Das <[email protected]>
clk: qcom: gcc: Add support for a new frequency for SC7280

Luiz Augusto von Dentz <[email protected]>
Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event

Luiz Augusto von Dentz <[email protected]>
Bluetooth: Fix Set Extended (Scan Response) Data

Luiz Augusto von Dentz <[email protected]>
Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid

Colin Ian King <[email protected]>
Bluetooth: virtio_bt: add missing null pointer check on alloc_skb call return

Michal Simek <[email protected]>
clk: zynqmp: fix compile testing without ZYNQMP_FIRMWARE

Petr Oros <[email protected]>
Revert "be2net: disable bh with spin_lock in be_process_mcc"

Bailey Forrest <[email protected]>
gve: Fix swapped vars when fetching max queues

Håkon Bugge <[email protected]>
RDMA/cma: Fix incorrect Packet Lifetime calculation

Gary Lin <[email protected]>
bpfilter: Specify the log level for the kmsg message

Vladimir Oltean <[email protected]>
net: dsa: sja1105: fix NULL pointer dereference in sja1105_reload_cbs()

Sasha Neftin <[email protected]>
e1000e: Check the PCIm state

Eric Dumazet <[email protected]>
ipv6: fix out-of-bound access in ip6_parse_tlv()

Antoine Tenart <[email protected]>
net: atlantic: fix the macsec key length

Antoine Tenart <[email protected]>
net: phy: mscc: fix macsec key length

Antoine Tenart <[email protected]>
net: macsec: fix the length used to copy the key for offloading

Håkon Bugge <[email protected]>
RDMA/cma: Protect RMW with qp_mutex

Sukadev Bhattiprolu <[email protected]>
ibmvnic: free tx_pool if tso_pool alloc fails

Sukadev Bhattiprolu <[email protected]>
ibmvnic: set ltb->buff to NULL after freeing

Sukadev Bhattiprolu <[email protected]>
ibmvnic: account for bufs already saved in indir_buf

Sukadev Bhattiprolu <[email protected]>
ibmvnic: clean pending indirect buffs during reset

Dany Madden <[email protected]>
Revert "ibmvnic: remove duplicate napi_schedule call in open function"

Sukadev Bhattiprolu <[email protected]>
Revert "ibmvnic: simplify reset_long_term_buff function"

Yixing Liu <[email protected]>
RDMA/hns: Add window selection field of congestion control

Weihang Li <[email protected]>
RDMA/hns: Add a check to ensure integer mtu is positive

Jan Sokolowski <[email protected]>
i40e: Fix missing rtnl locking when setting up pf switch

Mateusz Palczewski <[email protected]>
i40e: Fix autoneg disabling for non-10GBaseT links

Dinghao Liu <[email protected]>
i40e: Fix error handling in i40e_vsi_open

Maciej Żenczykowski <[email protected]>
bpf: Do not change gso_size during bpf_skb_change_proto()

Norbert Slusarek <[email protected]>
can: j1939: j1939_sk_setsockopt(): prevent allocation of j1939 filter for optlen == 0

Eric Dumazet <[email protected]>
ipv6: exthdrs: do not blindly use init_net

Jian-Hong Pan <[email protected]>
net: bcmgenet: Fix attaching to PYH failed on RPi 4B

Ping-Ke Shih <[email protected]>
mac80211: remove iwlwifi specific workaround NDPs of null_response

Zhen Lei <[email protected]>
drm/msm/dpu: Fix error return code in dpu_mdss_init()

Zhen Lei <[email protected]>
drm/msm: Fix error return code in msm_drm_init()

Krishna Manikandan <[email protected]>
drm/msm/disp/dpu1: avoid perf update in frame done event

Kuogee Hsieh <[email protected]>
drm/msm/dp: handle irq_hpd with sink_count = 0 correctly

John Fastabend <[email protected]>
bpf: Fix null ptr deref with mixed tail calls and subprogs

Eric Dumazet <[email protected]>
ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl()

Dongliang Mu <[email protected]>
ieee802154: hwsim: Fix memory leak in hwsim_add_one

Yixing Liu <[email protected]>
RDMA/hns: Fix uninitialized variable

Lang Cheng <[email protected]>
RDMA/hns: Force rewrite inline flag of WQE

Marcelo Ricardo Leitner <[email protected]>
tc-testing: fix list handling

Vignesh Raghavendra <[email protected]>
net: ti: am65-cpsw-nuss: Fix crash when changing number of TX queues

Rafał Miłecki <[email protected]>
net: broadcom: bcm4908_enet: reset DMA rings sw indexes properly

Miao Wang <[email protected]>
net/ipv4: swap flow ports when validating source

Jakub Kicinski <[email protected]>
ip6_tunnel: fix GRE6 segmentation

Paolo Abeni <[email protected]>
mptcp: avoid race on msk state changes

Bui Quang Minh <[email protected]>
bpf: Fix integer overflow in argument calculation for bpf_map_area_alloc

Eric Dumazet <[email protected]>
vxlan: add missing rcu_read_lock() in neigh_reduce()

Po-Hao Huang <[email protected]>
rtw88: 8822c: fix lc calibration timing

Maciej Żenczykowski <[email protected]>
bpf: Fix regression on BPF_OBJ_GET with non-O_RDWR flags

Luca Coelho <[email protected]>
iwlwifi: increase PNVM load timeout

Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: do not allow to delete table with owner by handle

Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: skip netlink portID validation if zero

Ayush Sawal <[email protected]>
xfrm: Fix xfrm offload fallback fail case

Eric Dumazet <[email protected]>
pkt_sched: sch_qfq: fix qfq_change_class() error path

Eldar Gasanov <[email protected]>
net: dsa: mv88e6xxx: Fix adding vlan 0

Christophe JAILLET <[email protected]>
net: mana: Fix a memory leak in an error handling path in 'mana_create_txq()'

Paolo Abeni <[email protected]>
mptcp: fix 32 bit DSN expansion

Paolo Abeni <[email protected]>
mptcp: fix bad handling of 32 bit ack wrap-around

Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables_offload: check FLOW_DISSECTOR_KEY_BASIC in VLAN transfer logic

Pablo Neira Ayuso <[email protected]>
netfilter: nf_tables: memleak in hw offload abort path

Jakub Kicinski <[email protected]>
tls: prevent oversized sendfile() hangs by ignoring MSG_MORE

Jakub Kicinski <[email protected]>
selftests: tls: fix chacha+bidir tests

Jakub Kicinski <[email protected]>
selftests: tls: clean up uninitialized warnings

Yunsheng Lin <[email protected]>
net: sched: add barrier to ensure correct ordering for lockless qdisc

Antoine Tenart <[email protected]>
vrf: do not push non-ND strict packets with a source LLA through packet taps again

Cong Wang <[email protected]>
skmsg: Teach sk_psock_verdict_apply() to return errors

Cong Wang <[email protected]>
skmsg: Fix a memory leak in sk_psock_verdict_apply()

Cong Wang <[email protected]>
skmsg: Clear skb redirect pointer before dropping it

Cong Wang <[email protected]>
udp: Fix a memory leak in udp_read_sock()

Cong Wang <[email protected]>
selftests/bpf: Retry for EAGAIN in udp_redir_to_connected()

Pavel Skripkin <[email protected]>
net: ethernet: ezchip: fix error handling

Pavel Skripkin <[email protected]>
net: ethernet: ezchip: fix UAF in nps_enet_remove

Pavel Skripkin <[email protected]>
net: ethernet: aeroflex: fix UAF in greth_of_remove

Sean Wang <[email protected]>
mt76: mt7921: fix the coredump is being truncated

Sean Wang <[email protected]>
mt76: mt7921: fix kernel warning when reset on vif is not sta

Shayne Chen <[email protected]>
mt76: mt7915: fix rx fcs error count in testmode

Lorenzo Bianconi <[email protected]>
mt76: mt7921: wake the device before dumping power table

Ryder Lee <[email protected]>
mt76: mt7915: fix MT_EE_CAL_GROUP_SIZE

Ryder Lee <[email protected]>
mt76: mt7615: fix potential overflow on large shift

Lorenzo Bianconi <[email protected]>
mt76: testmode: remove undefined behaviour in mt76_testmode_alloc_skb

Lorenzo Bianconi <[email protected]>
mt76: testmode: fix memory leak in mt76_testmode_alloc_skb

Lorenzo Bianconi <[email protected]>
mt76: mt7921: do not schedule hw reset if the device is not running

Sean Wang <[email protected]>
mt76: mt7921: avoid unnecessary consecutive WiFi resets

Sean Wang <[email protected]>
mt76: mt7921: fix OMAC idx usage

Sean Wang <[email protected]>
mt76: mt7921: fix invalid register access in wake_work

Sean Wang <[email protected]>
mt76: mt7921: add back connection monitor support

Sean Wang <[email protected]>
mt76: mt7921: consider the invalid value for to_rssi

YN Chen <[email protected]>
mt76: connac: fix WoW with disconnetion and bitmap pattern

Sean Wang <[email protected]>
mt76: connac: fw_own rely on all packet memory all being free

Sean Wang <[email protected]>
mt76: mt7921: Don't alter Rx path classifier

Sean Wang <[email protected]>
mt76: mt7921: fix mt7921_wfsys_reset sequence

Lorenzo Bianconi <[email protected]>
mt76: mt7615: fix NULL pointer dereference in tx_prepare_skb()

Lorenzo Bianconi <[email protected]>
mt76: fix possible NULL pointer dereference in mt76_tx

Dan Carpenter <[email protected]>
mt76: mt7915: fix a signedness bug in mt7915_mcu_apply_tx_dpd()

Pavel Machek <[email protected]>
net: pxa168_eth: Fix a potential data race in pxa168_eth_remove

Wang Hai <[email protected]>
samples/bpf: Fix the error return code of xdp_redirect's main()

Wang Hai <[email protected]>
samples/bpf: Fix Segmentation fault for xdp_redirect command

Xi Wang <[email protected]>
RDMA/hns: Clear extended doorbell info before using

Jack Wang <[email protected]>
RDMA/rtrs-srv: Set minimal max_send_wr and max_recv_wr

Tony Ambardar <[email protected]>
bpf: Fix libelf endian handling in resolv_btfids

Magnus Karlsson <[email protected]>
xsk: Fix broken Tx ring validation

Magnus Karlsson <[email protected]>
xsk: Fix missing validation for skb and unaligned mode

Andrii Nakryiko <[email protected]>
selftests/bpf: Fix ringbuf test fetching map FD

Daniel Xu <[email protected]>
selftests/bpf: Whitelist test_progs.h from .gitignore

Bob Pearson <[email protected]>
RDMA/rxe: Fix qp reference counting for atomic ops

Pablo Neira Ayuso <[email protected]>
netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols

Pablo Neira Ayuso <[email protected]>
netfilter: nft_osf: check for TCP packet before further processing

Pablo Neira Ayuso <[email protected]>
netfilter: nft_exthdr: check for IPv6 packet before further processing

Leon Romanovsky <[email protected]>
RDMA/mlx5: Don't add slave port to unaffiliated list

Liu Shixin <[email protected]>
netlabel: Fix memory leak in netlbl_mgmt_add_common

Johannes Berg <[email protected]>
wil6210: remove erroneous wiphy locking

Seevalamuthu Mariappan <[email protected]>
ath11k: send beacon template after vdev_start/restart during csa

Yang Li <[email protected]>
ath10k: Fix an error code in ath10k_add_interface()

Christophe JAILLET <[email protected]>
ath11k: Fix an error handling path in ath11k_core_fetch_board_data_api_n()

Hang Zhang <[email protected]>
cw1200: Revert unnecessary patches that fix unreal use-after-free bugs

Christophe JAILLET <[email protected]>
brcmsmac: mac80211_if: Fix a resource leak in an error handling path

Matthias Brugger <[email protected]>
brcmfmac: Delete second brcm folder hierarchy

Tong Tiangen <[email protected]>
brcmfmac: Fix a double-free in brcmf_sdio_bus_reset

Alvin Šipraga <[email protected]>
brcmfmac: correctly report average RSSI in station info

Alvin Šipraga <[email protected]>
brcmfmac: fix setting of station info chains bitmask

Zhen Lei <[email protected]>
ssb: Fix error return code in ssb_bus_scan()

Chris Wilson <[email protected]>
drm/i915/selftests: Reorder tasklet_disable vs local_bh_disable

Sasha Levin <[email protected]>
net: wwan: Fix WWAN config symbols

Bryan O'Donoghue <[email protected]>
wcn36xx: Move hal_buf allocation to devm_kmalloc in probe

Lucas Stach <[email protected]>
clk: imx8mq: remove SYS PLL 1/2 clock gates

Dongliang Mu <[email protected]>
ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others

Randy Dunlap <[email protected]>
wireless: carl9170: fix LEDS build errors & warnings

Yang Yingliang <[email protected]>
ath10k: add missing error return code in ath10k_pci_probe()

Yang Yingliang <[email protected]>
ath10k: go to path err_unsupported when chip id is not supported

Zhihao Cheng <[email protected]>
tools/bpftool: Fix error return code in do_batch()

Wong Vee Khee <[email protected]>
net: stmmac: Fix potential integer overflow

Matteo Croce <[email protected]>
stmmac: prefetch right address

Colin Ian King <[email protected]>
drm: qxl: ensure surf.data is ininitialized

Luca Ceresoli <[email protected]>
clk: vc5: fix output disabling when enabling a FOD

Maxime Ripard <[email protected]>
drm/vc4: hdmi: Fix error path of hpd-gpios

Kees Cook <[email protected]>
drm/pl111: Actually fix CONFIG_VEXPRESS_CONFIG depends

Kamal Heib <[email protected]>
RDMA/rxe: Fix failure during driver load

Kees Cook <[email protected]>
drm/pl111: depend on CONFIG_VEXPRESS_CONFIG

Mark Zhang <[email protected]>
IB/cm: Improve the calling of cm_init_av_for_lap and cm_init_av_by_path

Mark Zhang <[email protected]>
Revert "IB/cm: Mark stale CM id's whenever the mad agent was unregistered"

Jason Gunthorpe <[email protected]>
IB/cm: Split cm_alloc_msg()

Jason Gunthorpe <[email protected]>
IB/cm: Pair cm_alloc_response_msg() with a cm_free_response_msg()

Leon Romanovsky <[email protected]>
RDMA/core: Sanitize WQ state received from the userspace

Boris Sukholitko <[email protected]>
net/sched: act_vlan: Fix modify to allow 0

Xin Long <[email protected]>
xfrm: remove the fragment check for ipv6 beet mode

Dmitry Osipenko <[email protected]>
clk: tegra30: Use 300MHz for video decoder by default

Zhen Lei <[email protected]>
ehea: fix error return code in ehea_restart_qps()

Gioh Kim <[email protected]>
RDMA/rtrs-clt: Fix memory leak of not-freed sess->stats and stats->pcpu_stats

Md Haris Iqbal <[email protected]>
RDMA/rtrs-clt: Check if the queue_depth has changed during a reconnection

Jack Wang <[email protected]>
RDMA/rtrs-srv: Fix memory leak when having multiple sessions

Gioh Kim <[email protected]>
RDMA/rtrs-srv: Fix memory leak of unfreed rtrs_srv_stats object

Gioh Kim <[email protected]>
RDMA/rtrs: Do not reset hb_missed_max after re-connection

Md Haris Iqbal <[email protected]>
RDMA/rtrs-clt: Check state of the rtrs_clt_sess before reading its stats

Bart Van Assche <[email protected]>
RDMA/srp: Fix a recently introduced memory leak

Xi Wang <[email protected]>
RDMA/hns: Fix wrong timer context buffer page size

Jianguo Wu <[email protected]>
mptcp: make sure flag signal is set when add addr with port

Jianguo Wu <[email protected]>
mptcp: generate subflow hmac after mptcp_finish_join()

Jianguo Wu <[email protected]>
mptcp: fix pr_debug in mptcp_token_new_connect

Colin Ian King <[email protected]>
drm/rockchip: cdn-dp: fix sign extension on an int multiply for a u64 result

Christophe JAILLET <[email protected]>
drm/rockchip: lvds: Fix an error handling path

Thomas Hebb <[email protected]>
drm/rockchip: dsi: move all lane config except LCDC mux to bind()

Yang Yingliang <[email protected]>
drm/rockchip: cdn-dp-core: add missing clk_disable_unprepare() on error in cdn_dp_grf_write()

Alex Bee <[email protected]>
drm: rockchip: set alpha_en to 0 if it is not used

Maxime Ripard <[email protected]>
drm/vc4: crtc: Lookup the encoder from the register at boot

Maxime Ripard <[email protected]>
drm/vc4: crtc: Fix vc4_get_crtc_encoder logic

Maxime Ripard <[email protected]>
drm/vc4: crtc: Pass the drm_atomic_state to config_pv

Tobias Schramm <[email protected]>
clk: sunxi-ng: v3s: fix incorrect postdivider on pll-audio

Peter Geis <[email protected]>
clk: rockchip: fix rk3568 cpll clk gate bits

Yang Yingliang <[email protected]>
net: ftgmac100: add missing error return code in ftgmac100_probe()

Aurabindo Pillai <[email protected]>
drm/amd/display: take dc_lock in short pulse handler only

Zhan Liu <[email protected]>
drm/amd/display: Avoid HPD IRQ in GPU reset state

Roman Li <[email protected]>
drm/amd/display: fix potential gpu reset deadlock

Jerome Brunet <[email protected]>
clk: meson: g12a: fix gp0 and hifi ranges

Wei Yongjun <[email protected]>
net: qrtr: ns: Fix error return code in qrtr_ns_init()

Stephen Rothwell <[email protected]>
drm/i915: Merge fix for "drm: Switch to %p4cc format modifier"

Andrii Nakryiko <[email protected]>
libbpf: Fix ELF symbol visibility update logic

Thomas Hellstrom <[email protected]>
drm/vmwgfx: Fix cpu updates of coherent multisample surfaces

Thomas Hellstrom <[email protected]>
drm/vmwgfx: Mark a surface gpu-dirty after the SVGA3dCmdDXGenMips command

Yixian Liu <[email protected]>
RDMA/hns: Remove the condition of light load for posting DWQE

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a77990: JTAG pins do not have pull-down capabilities

Geert Uytterhoeven <[email protected]>
pinctrl: renesas: r8a7796: Add missing bias for PRESET# pin

Andy Shevchenko <[email protected]>
net: pch_gbe: Propagate error from devm_gpio_request_one()

Andy Shevchenko <[email protected]>
net: mvpp2: Put fwnode in error case during ->probe()

Cong Wang <[email protected]>
rtnetlink: avoid RCU read lock when holding RTNL

Lucas Stach <[email protected]>
drm/imx: ipuv3-plane: fix PRG modifiers after drm managed resource conversion

Philipp Zabel <[email protected]>
drm/imx: ipuv3-plane: do not advertise YUV formats on planes without CSC

Christophe JAILLET <[email protected]>
video: fbdev: imxfb: Fix an error message

Adrien Grassein <[email protected]>
drm/bridge: fix LONTIUM_LT8912B dependencies

Hsin-Yi Wang <[email protected]>
drm/bridge: anx7625: Fix power on delay

Takashi Iwai <[email protected]>
drm/ast: Fix missing conversions to managed API

Yingjie Wang <[email protected]>
drm/amd/dc: Fix a missing check bug in dm_dp_mst_detect()

Douglas Anderson <[email protected]>
drm/bridge: Fix the stop condition of drm_bridge_chain_pre_enable()

Robert Foss <[email protected]>
drm/bridge/sii8620: fix dependency on extcon

Sabrina Dubroca <[email protected]>
xfrm: xfrm_state_mtu should return at least 1280 for ipv6

Liu Shixin <[email protected]>
mm/page_alloc: fix counting of managed_pages

Waiman Long <[email protected]>
mm: memcg/slab: properly set up gfp flags for objcg pointer array

Miaohe Lin <[email protected]>
mm/shmem: fix shmem_swapin() race with swapoff

Miaohe Lin <[email protected]>
swap: fix do_swap_page() race with swapoff

Nicolas Saenz Julienne <[email protected]>
mm: mmap_lock: use local locks instead of disabling preemption

Anshuman Khandual <[email protected]>
mm/debug_vm_pgtable: ensure THP availability via has_transparent_hugepage()

Jan Kara <[email protected]>
dax: fix ENOMEM handling in grab_mapping_entry()

Dan Carpenter <[email protected]>
ocfs2: fix snprintf() checking

Ming Lei <[email protected]>
blk-mq: update hctx->dispatch_busy in case of real scheduler

Edward Hsieh <[email protected]>
block: fix trace completion for chained bio

Chanwoo Choi <[email protected]>
PM / devfreq: passive: Fix get_target_freq when not using required-opp

Rafael J. Wysocki <[email protected]>
cpufreq: Make cpufreq_online() call driver->offline() on errors

Nathan Chancellor <[email protected]>
ACPI: bgrt: Fix CFI violation

Paolo Valente <[email protected]>
block, bfq: reset waker pointer with shared queues

Paolo Valente <[email protected]>
block, bfq: avoid delayed merge of async queues

Zhang Yi <[email protected]>
blk-wbt: make sure throttle is enabled properly

Zhang Yi <[email protected]>
blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()

Randy Dunlap <[email protected]>
EDAC/igen6: fix core dependency

Xiaofei Tan <[email protected]>
ACPI: APEI: fix synchronous external aborts in user-mode

Matti Vaittinen <[email protected]>
extcon: extcon-max8997: Fix IRQ freeing at error path

Dan Carpenter <[email protected]>
nvme-tcp: fix error codes in nvme_tcp_setup_ctrl()

Tony Lindgren <[email protected]>
clocksource/drivers/timer-ti-dm: Save and restore timer TIOCP_CFG

Maximilian Luz <[email protected]>
HID: surface-hid: Fix get-report request

Guoqing Jiang <[email protected]>
md: revert io stats accounting

Christoph Hellwig <[email protected]>
mark pstore-blk as broken

Krzysztof Wilczyński <[email protected]>
ACPI: sysfs: Fix a buffer overrun problem with description_show()

Jing Xiangfeng <[email protected]>
ACPI: tables: FPDT: Add missing acpi_put_table() in acpi_init_fpdt()

Mario Limonciello <[email protected]>
nvme-pci: look for StorageD3Enable on companion ACPI device instead

Praveen Kumar <[email protected]>
x86/hyperv: fix logical processor creation

Ming Lei <[email protected]>
block: avoid double io accounting for flush request

Rafael J. Wysocki <[email protected]>
ACPI: PM / fan: Put fan device IDs into separate header file

YueHaibing <[email protected]>
PM / devfreq: Add missing error code in devfreq_add_device()

Arnd Bergmann <[email protected]>
EDAC/aspeed: Use proper format string for printing resource

Marek Szyprowski <[email protected]>
media: s5p-mfc: Fix display delay control creation

Dafna Hirschfeld <[email protected]>
media: mtk-vpu: on suspend, read/write regs only if vpu is running

Philipp Zabel <[email protected]>
media: video-mux: Skip dangling endpoints

Sean Christopherson <[email protected]>
KVM: selftests: Remove errant asm/barrier.h include to fix arm64 build

Hou Wenlong <[email protected]>
KVM: selftests: fix triple fault if ept=0 in dirty_log_test

Zhaoyang Huang <[email protected]>
psi: Fix race between psi_trigger_create/destroy

Josh Poimboeuf <[email protected]>
objtool: Don't make .altinstructions writable

Herbert Xu <[email protected]>
crypto: nx - Fix RCU warning in nx842_OF_upd_status

Peter Zijlstra <[email protected]>
perf: Fix task context PMU for Hetero

Mirko Vogt <mirko-dev|[email protected]>
spi: spi-sun6i: Fix chipselect/clock bug

Joerg Roedel <[email protected]>
x86/sev: Use "SEV: " prefix for messages from sev.c

Peter Zijlstra <[email protected]>
lockdep/selftests: Fix selftests vs PROVE_RAW_LOCK_NESTING

Peter Zijlstra <[email protected]>
lockdep: Fix wait-type for empty stack

Qais Yousef <[email protected]>
sched/uclamp: Fix uclamp_tg_restrict()

Vincent Donnefort <[email protected]>
sched/rt: Fix Deadline utilization tracking during policy change

Vincent Donnefort <[email protected]>
sched/rt: Fix RT utilization tracking during policy change

Joerg Roedel <[email protected]>
x86/sev: Split up runtime #VC handler for correct state tracking

Joerg Roedel <[email protected]>
x86/sev: Make sure IRQs are disabled while GHCB is active

David Sterba <[email protected]>
btrfs: clear log tree recovering status if starting transaction fails

Matti Vaittinen <[email protected]>
regulator: bd9576: Fix the driver name in id table

Axel Lin <[email protected]>
regulator: hi6421v600: Fix setting idle mode

Bhupesh Sharma <[email protected]>
regulator: qcom-rpmh: Add terminator at the end of pm7325x_vreg_data[] array

Axel Lin <[email protected]>
regulator: hi655x: Fix pass wrong pointer to config.driver_data

Alexandru Elisei <[email protected]>
KVM: arm64: Don't zero the cycle count register when PMCR_EL0.P is set

Tuan Phan <[email protected]>
perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number

Kai Huang <[email protected]>
KVM: x86/mmu: Fix pf_fixed count in tdp_mmu_map_handle_target_level()

Kai Huang <[email protected]>
KVM: x86/mmu: Fix return value in tdp_mmu_map_handle_target_level()

Sean Christopherson <[email protected]>
KVM: nVMX: Don't clobber nested MMU's A/D status on EPTP switch

Sean Christopherson <[email protected]>
KVM: nVMX: Ensure 64-bit shift when checking VMFUNC bitmap

Sean Christopherson <[email protected]>
KVM: nVMX: Sync all PGDs on nested transition with shadow paging

Jim Mattson <[email protected]>
KVM: nVMX: Add a return code to vmx_complete_nested_posted_interrupt

Guenter Roeck <[email protected]>
hwmon: (max31790) Fix fan speed reporting for fan7..12

Guenter Roeck <[email protected]>
hwmon: (max31722) Remove non-standard ACPI device IDs

Guenter Roeck <[email protected]>
hwmon: (lm70) Revert "hwmon: (lm70) Add support for ACPI"

Chris Packham <[email protected]>
hwmon: (pmbus/bpa-rs600) Handle Vin readings >= 256V

Jacopo Mondi <[email protected]>
media: i2c: rdacm21: Power up OV10640 before OV490

Jacopo Mondi <[email protected]>
media: i2c: rdacm21: Fix OV10640 powerup

Dillon Min <[email protected]>
media: s5p-g2d: Fix a memory leak on ctx->fh.m2m_ctx

Arnd Bergmann <[email protected]>
media: subdev: remove VIDIOC_DQEVENT_TIME32 handling

Arnd Bergmann <[email protected]>
media: v4l2-core: ignore native time32 ioctls on 64-bit

Anshuman Khandual <[email protected]>
arm64/mm: Fix ttbr0 values stored in struct thread_info for software-pan

Zhen Lei <[email protected]>
mmc: usdhi6rol0: fix error return code in usdhi6_probe()

Hongbo Li <[email protected]>
crypto: sm2 - fix a memory leak in sm2

Hangbin Liu <[email protected]>
crypto: x86/curve25519 - fix cpu feature checking logic in mod_exit

Zhang Qilong <[email protected]>
crypto: omap-sham - Fix PM reference leak in omap sham ops

Tong Tiangen <[email protected]>
crypto: nitrox - fix unchecked variable in nitrox_register_interrupts

Axel Lin <[email protected]>
regulator: fan53880: Fix vsel_mask setting for FAN53880_BUCK

Gustavo A. R. Silva <[email protected]>
media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2()

Randy Dunlap <[email protected]>
m68k: atari: Fix ATARI_KBD_CORE kconfig unmet dependency warning

Shaokun Zhang <[email protected]>
drivers/perf: hisi: Fix data source control

Axel Lin <[email protected]>
regulator: fan53555: Fix missing slew_reg/mask/shift settings for FAN53526

Johan Hovold <[email protected]>
media: gspca/gl860: fix zero-length control requests

Joe Richey <[email protected]>
media: vicodec: Use _BITUL() macro in UAPI headers

Zhen Lei <[email protected]>
media: tc358743: Fix error return code in tc358743_probe_of()

Dan Carpenter <[email protected]>
media: au0828: fix a NULL vs IS_ERR() check

Lv Yunlong <[email protected]>
media: exynos4-is: Fix a use after free in isp_video_release

Ezequiel Garcia <[email protected]>
media: rkvdec: Fix .buf_prepare

Stanimir Varbanov <[email protected]>
media: venus: hfi_cmds: Fix conceal color property

Andy Shevchenko <[email protected]>
media: ipu3-cio2: Fix reference counting when looping over ACPI devices

Valentin Schneider <[email protected]>
sched: Don't defer CPU pick to migration_cpu_stop()

Randy Dunlap <[email protected]>
locking/lockdep: Reduce LOCKDEP dependency list

Sergey Shtylyov <[email protected]>
pata_ep93xx: fix deferred probing

Randy Dunlap <[email protected]>
regulator: bd71815: add select to fix build

Christophe JAILLET <[email protected]>
media: rc: i2c: Fix an error message

Christophe JAILLET <[email protected]>
crypto: ccp - Fix a resource leak in an error handling path

Suman Anna <[email protected]>
crypto: sa2ul - Use of_device_get_match_data() helper

Suman Anna <[email protected]>
crypto: sa2ul - Fix pm_runtime enable in sa_ul_probe()

Suman Anna <[email protected]>
crypto: sa2ul - Fix leaks on failure paths with sa_dma_init()

Joe Richey <[email protected]>
x86/elf: Use _BITUL() macro in UAPI headers

Hui Tang <[email protected]>
crypto: hisilicon/hpre - fix unmapping invalid dma address

Hui Tang <[email protected]>
crypto: testmgr - fix initialization of 'secret_size'

Mimi Zohar <[email protected]>
evm: fix writing <securityfs>/evm overflow

Sergey Shtylyov <[email protected]>
pata_octeon_cf: avoid WARN_ON() in ata_host_activate()

Josh Poimboeuf <[email protected]>
kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n'

Qais Yousef <[email protected]>
sched/uclamp: Fix locking around cpu_util_update_eff()

Qais Yousef <[email protected]>
sched/uclamp: Fix wrong implementation of cpu.uclamp.min

Randy Dunlap <[email protected]>
media: I2C: change 'RST' to "RSET" to fix multiple build errors

Sergey Shtylyov <[email protected]>
pata_rb532_cf: fix deferred probing

Sergey Shtylyov <[email protected]>
sata_highbank: fix deferred probing

Zhen Lei <[email protected]>
crypto: ux500 - Fix error return code in hash_hw_final()

Corentin Labbe <[email protected]>
crypto: ixp4xx - update IV after requests

Corentin Labbe <[email protected]>
crypto: ixp4xx - dma_unmap the correct address

Mauro Carvalho Chehab <[email protected]>
media: hantro: do a PM resume earlier

Mauro Carvalho Chehab <[email protected]>
media: i2c: ccs-core: return the right error code at suspend

Mauro Carvalho Chehab <[email protected]>
media: s5p_cec: decrement usage count if disabled

Mauro Carvalho Chehab <[email protected]>
media: venus: Rework error fail recover logic

Andy Shevchenko <[email protected]>
spi: Avoid undefined behaviour when counting unused native CSs

Andy Shevchenko <[email protected]>
spi: Allow to have all native CSs in use along with GPIOs

Andrii Nakryiko <[email protected]>
kbuild: skip per-CPU BTF generation for pahole v1.18-v1.21

Daniel Axtens <[email protected]>
mm: define default MAX_PTRS_PER_* in include/pgtable.h

Roman Gushchin <[email protected]>
writeback, cgroup: increment isw_nr_in_flight before grabbing an inode

Arnd Bergmann <[email protected]>
ia64: mca_drv: fix incorrect array size calculation

Petr Mladek <[email protected]>
kthread_worker: fix return value when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync()

Ming Lei <[email protected]>
block: fix discard request merge

Shawn Guo <[email protected]>
mailbox: qcom: Use PLATFORM_DEVID_AUTO to register platform device

Jan Kara <[email protected]>
bfq: Remove merged request already in bfq_requests_merged()

Steve French <[email protected]>
cifs: fix missing spinlock around update to ses->status

Jason Gerecke <[email protected]>
HID: wacom: Correct base usage for capacitive ExpressKey status bits

Steve French <[email protected]>
smb3: fix possible access to uninitialized pointer to DACL

Richard Fitzgerald <[email protected]>
ACPI: tables: Add custom DSDT file as makefile prerequisite

Javier Martinez Canillas <[email protected]>
tpm_tis_spi: add missing SPI device ID entries

Paul E. McKenney <[email protected]>
clocksource: Check per-CPU clock synchronization when marked unstable

Paul E. McKenney <[email protected]>
clocksource: Retry clock read if long delays detected

Luca Mariotti <[email protected]>
block, bfq: fix delayed stable merge check

Zhang Rui <[email protected]>
ACPI: EC: trust DSDT GPE for certain HP laptop

Steve French <[email protected]>
cifs: fix SMB1 error path in cifs_get_file_info_unix

Steve French <[email protected]>
smb3: fix uninitialized value for port in witness protocol move

Thiago Rafael Becker <[email protected]>
cifs: retry lookup and readdir when EAGAIN is returned.

Paulo Alcantara <[email protected]>
cifs: fix check of dfs interlinks

Ronnie Sahlberg <[email protected]>
cifs: improve fallocate emulation

Haiyang Zhang <[email protected]>
PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv()

Srinivas Pandruvada <[email protected]>
tools/power/x86/intel-speed-select: Fix uncore memory frequency display

Tony Luck <[email protected]>
EDAC/Intel: Do not load EDAC driver when running as a guest

Hannes Reinecke <[email protected]>
nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst()

JK Kim <[email protected]>
nvme-pci: fix var. type for increasing cq_head

Jiapeng Chong <[email protected]>
platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard()

Luke D. Jones <[email protected]>
platform/x86: asus-nb-wmi: Revert "add support for ASUS ROG Zephyrus G14 and G15"

Luke D. Jones <[email protected]>
platform/x86: asus-nb-wmi: Revert "Drop duplicate DMI quirk structures"

Ming Lei <[email protected]>
block: fix race between adding/removing rq qos and normal IO

Pascal Giard <[email protected]>
HID: sony: fix freeze when inserting ghlive ps3/wii dongles

Zoltan Tamas Vajda <[email protected]>
HID: hid-input: add Surface Go battery quirk

Hui Wang <[email protected]>
ACPI: resources: Add checks for ACPI IRQ override

Hanjun Guo <[email protected]>
ACPI: bus: Call kobject_put() in acpi_init() error path

Erik Kaneda <[email protected]>
ACPICA: Fix memory leak caused by _CID repair function

Alexander Aring <[email protected]>
fs: dlm: fix memory leak when fenced

Alexander Aring <[email protected]>
fs: dlm: fix lowcomms_start error case

Jiapeng Chong <[email protected]>
drivers: hv: Fix missing error code in vmbus_connect()

Christian Brauner <[email protected]>
open: don't silently ignore unknown O-flags in openat2()

Richard Fitzgerald <[email protected]>
random32: Fix implicit truncation warning in prandom_seed_state()

Alexander Aring <[email protected]>
fs: dlm: fix connection tcp EOF handling

Alexander Aring <[email protected]>
fs: dlm: cancel work sync othercon

Alexander Aring <[email protected]>
fs: dlm: reconnect if socket error report occurs

Alexander Aring <[email protected]>
fs: dlm: fix srcu read lock usage

Ming Lei <[email protected]>
blk-mq: clear stale request in tags->rq[] before freeing one request pool

Ming Lei <[email protected]>
blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter

zhangyi (F) <[email protected]>
block_dump: remove block_dump feature in mark_inode_dirty()

Chris Chiu <[email protected]>
ACPI: EC: Make more Asus laptops use ECDT _GPE

Hans de Goede <[email protected]>
platform/x86: touchscreen_dmi: Add info for the Goodix GT912 panel of TM800A550L tablets

Hans de Goede <[email protected]>
platform/x86: touchscreen_dmi: Add an extra entry for the upside down Goodix touchscreen on Teclast X89 tablets

Hans de Goede <[email protected]>
Input: goodix - platform/x86: touchscreen_dmi - Move upside down quirks to touchscreen_dmi.c

Richard Fitzgerald <[email protected]>
lib: vsprintf: Fix handling of number field widths in vsscanf

YueHaibing <[email protected]>
hv_utils: Fix passing zero to 'PTR_ERR' warning

Mario Limonciello <[email protected]>
ACPI: processor idle: Fix up C-state latency if not ordered

Rafael J. Wysocki <[email protected]>
ACPI: scan: Rearrange dep_unmet initialization

Alex Deucher <[email protected]>
ACPI: PM: s2idle: Add missing LPS0 functions for AMD

Bixuan Cui <[email protected]>
EDAC/ti: Add missing MODULE_DEVICE_TABLE

Dmitry Torokhov <[email protected]>
HID: do not use down_interruptible() when unbinding devices

Rodrigo Campos <[email protected]>
seccomp: Support atomic "addfd + send reply"

Shuah Khan <[email protected]>
media: Fix Media Controller API config checks

Axel Lin <[email protected]>
regulator: da9052: Ensure enough delay time for .set_voltage_time_sel

Hsin-Hsiung Wang <[email protected]>
regulator: mt6358: Fix vdram2 .vsel_mask

Heiko Carstens <[email protected]>
KVM: s390: get rid of register asm usage

Boqun Feng <[email protected]>
lockding/lockdep: Avoid to find wrong lock dep path in check_irq_usage()

Boqun Feng <[email protected]>
locking/lockdep: Fix the dep path printing for backwards BFS

Christophe Leroy <[email protected]>
btrfs: disable build on platforms having page size 256K

Qu Wenruo <[email protected]>
btrfs: don't clear page extent mapped if we're not invalidating the full page

David Sterba <[email protected]>
btrfs: sysfs: fix format string for some discard stats

Josef Bacik <[email protected]>
btrfs: always abort the transaction if we abort a trans handle

Josef Bacik <[email protected]>
btrfs: abort transaction if we fail to update the delayed inode

Josef Bacik <[email protected]>
btrfs: fix error handling in __btrfs_update_delayed_inode

Suraj Jitindar Singh <[email protected]>
KVM: PPC: Book3S HV: Fix TLB management on SMT8 POWER9 and POWER10 processors

Marc Zyngier <[email protected]>
KVM: arm64: Restore PMU configuration on first run

Jing Xiangfeng <[email protected]>
drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe()

Kan Liang <[email protected]>
perf/x86: Reset the dirty counter to prevent the leak for an RDPMC task

Lukasz Luba <[email protected]>
sched/fair: Take thermal pressure into account while estimating energy

Guenter Roeck <[email protected]>
hwmon: (max31790) Fix pwmX_enable attributes

Guenter Roeck <[email protected]>
hwmon: (max31790) Report correct current pwm duty cycles

Steve Longerbeam <[email protected]>
media: imx-csi: Skip first few frames from a BT.656 source

Mauro Carvalho Chehab <[email protected]>
media: siano: fix device register error path

Mauro Carvalho Chehab <[email protected]>
media: dvbdev: fix error logic at dvb_register_device()

Mauro Carvalho Chehab <[email protected]>
media: dvb_net: avoid speculation from net slot

Ard Biesheuvel <[email protected]>
crypto: shash - avoid comparing pointers to exported functions under CFI

Axel Lin <[email protected]>
regulator: mt6315: Fix checking return value of devm_regmap_init_spmi_ext

zpershuai <[email protected]>
spi: meson-spicc: fix memory leak in meson_spicc_probe

zpershuai <[email protected]>
spi: meson-spicc: fix a wrong goto jump for avoiding memory leak.

Andrew Jeffery <[email protected]>
mmc: sdhci-of-aspeed: Turn down a phase correction warning

Zheyu Ma <[email protected]>
mmc: via-sdmmc: add a check against NULL pointer dereference

Krzysztof Kozlowski <[email protected]>
mmc: sdhci-sprd: use sdhci_sprd_writew

Tong Zhang <[email protected]>
memstick: rtsx_usb_ms: fix UAF

Dongliang Mu <[email protected]>
media: dvd_usb: memory leak in cinergyt2_fe_attach

Nick Desaulniers <[email protected]>
Makefile: fix GDB warning with CONFIG_RELR

Mark Rutland <[email protected]>
arm64: entry: don't instrument entry code with KCOV

Kai Ye <[email protected]>
crypto: hisilicon/sec - fixup 3des minimum key size declaration

Evgeny Novikov <[email protected]>
media: st-hva: Fix potential NULL pointer dereferences

Zheyu Ma <[email protected]>
media: bt8xx: Fix a missing check bug in bt878_probe

Lv Yunlong <[email protected]>
media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release

Andrzej Pietrasiewicz <[email protected]>
media: cedrus: Fix .buf_prepare

Andrzej Pietrasiewicz <[email protected]>
media: hantro: Fix .buf_prepare

Igor Matheus Andrade Torrente <[email protected]>
media: em28xx: Fix possible memory leak of em28xx struct

Tong Zhang <[email protected]>
media: bt878: do not schedule tasklet when it is not setup

Dillon Min <[email protected]>
media: i2c: ov2659: Use clk_{prepare_enable,disable_unprepare}() to set xvclk on/off

Roberto Sassu <[email protected]>
ima: Don't remove security.ima if file must not be appraised

Odin Ugedal <[email protected]>
sched/fair: Fix ascii art by relpacing tabs

Tian Tao <[email protected]>
arm64: perf: Convert snprintf to sysfs_emit

Hui Tang <[email protected]>
crypto: ecdh - fix 'ecdh_init'

Hui Tang <[email protected]>
crypto: ecdh - fix ecdh-nist-p192's entry in testmgr

Thara Gopinath <[email protected]>
crypto: qce: skcipher: Fix incorrect sg count for dma transfers

Jack Xu <[email protected]>
crypto: qat - remove unused macro in FW loader

Jack Xu <[email protected]>
crypto: qat - check return code of qat_hal_rd_rel_reg()

Laurent Pinchart <[email protected]>
media: imx: imx7_mipi_csis: Fix logging of only error event counters

Anirudh Rayabharam <[email protected]>
media: pvrusb2: fix warning in pvr2_i2c_core_done

Jernej Skrabec <[email protected]>
media: hevc: Fix dependent slice segment flags

Hans Verkuil <[email protected]>
media: cobalt: fix race condition in setting HPD

Pavel Skripkin <[email protected]>
media: cpia2: fix memory leak in cpia2_usb_probe

Valentin Schneider <[email protected]>
sched: Make the idle task quack like a per-CPU kthread

Mauro Carvalho Chehab <[email protected]>
media: sti: fix obj-$(config) targets

Bixuan Cui <[email protected]>
crypto: nx - add missing MODULE_DEVICE_TABLE

Łukasz Stelmach <[email protected]>
hwrng: exynos - Fix runtime PM imbalance on error

Valentin Schneider <[email protected]>
sched/core: Initialize the idle task with preemption disabled

Zou Wei <[email protected]>
regulator: uniphier: Add missing MODULE_DEVICE_TABLE

Tian Tao <[email protected]>
spi: omap-100k: Fix the length judgment problem

Jay Fang <[email protected]>
spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages()

Jay Fang <[email protected]>
spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf'

Mauro Carvalho Chehab <[email protected]>
media: exynos-gsc: fix pm_runtime_get_sync() usage count

Mauro Carvalho Chehab <[email protected]>
media: exynos4-is: fix pm_runtime_get_sync() usage count

Mauro Carvalho Chehab <[email protected]>
media: sti/bdisp: fix pm_runtime_get_sync() usage count

Mauro Carvalho Chehab <[email protected]>
media: sunxi: fix pm_runtime_get_sync() usage count

Mauro Carvalho Chehab <[email protected]>
media: s5p-jpeg: fix pm_runtime_get_sync() usage count

Mauro Carvalho Chehab <[email protected]>
media: mtk-vcodec: fix PM runtime get logic

Mauro Carvalho Chehab <[email protected]>
media: sh_vou: fix pm_runtime_get_sync() usage count

Mauro Carvalho Chehab <[email protected]>
media: am437x: fix pm_runtime_get_sync() usage count

Mauro Carvalho Chehab <[email protected]>
media: s5p: fix pm_runtime_get_sync() usage count

Mauro Carvalho Chehab <[email protected]>
media: mdk-mdp: fix pm_runtime_get_sync() usage count

Mauro Carvalho Chehab <[email protected]>
media: marvel-ccic: fix some issues when getting pm_runtime

Mauro Carvalho Chehab <[email protected]>
media: i2c: imx334: fix the pm runtime get logic

Mauro Carvalho Chehab <[email protected]>
staging: media: rkvdec: fix pm_runtime_get_sync() usage count

Alexey Gladkov <[email protected]>
Add a reference to ucounts for each cred

Charles Keepax <[email protected]>
spi: Make of_register_spi_device also set the fwnode

Lukasz Luba <[email protected]>
thermal/cpufreq_cooling: Update offline CPUs per-cpu thermal_pressure

Miklos Szeredi <[email protected]>
fuse: reject internal errno

Miklos Szeredi <[email protected]>
fuse: check connected before queueing on fpq->io

Miklos Szeredi <[email protected]>
fuse: ignore PG_workingset after stealing

Greg Kurz <[email protected]>
fuse: Fix infinite loop in sget_fc()

Greg Kurz <[email protected]>
fuse: Fix crash if superblock of submount gets killed early

Greg Kurz <[email protected]>
fuse: Fix crash in fuse_dentry_automount() error path

Roberto Sassu <[email protected]>
evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded

Roberto Sassu <[email protected]>
evm: Execute evm_inode_init_security() only when an HMAC key is loaded

Kristian Klausen <[email protected]>
loop: Fix missing discard support when using LOOP_CONFIGURE

Kan Liang <[email protected]>
perf/x86/intel: Fix instructions:ppp support in Sapphire Rapids

Kan Liang <[email protected]>
perf/x86/intel: Add more events requires FRONTEND MSR on Sapphire Rapids

Kan Liang <[email protected]>
perf/x86/intel: Fix fixed counter check warning for some Alder Lake

Tejas Upadhyay <[email protected]>
x86/gpu: add JasperLake to gen11 early quirks

Michael Ellerman <[email protected]>
powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi()

Yun Zhou <[email protected]>
seq_buf: Make trace_seq_putmem_hex() support data longer than 8

Steven Rostedt (VMware) <[email protected]>
tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing

Steven Rostedt (VMware) <[email protected]>
tracing/histograms: Fix parsing of "sym-offset" modifier

Xiaochen Shen <[email protected]>
selftests/resctrl: Fix incorrect parsing of option "-t"

Martin Fuzzey <[email protected]>
rsi: fix AP mode with WPA failure due to encrypted EAPOL

Marek Vasut <[email protected]>
rsi: Assign beacon rate settings to the correct rate_info descriptor field

Michael Buesch <[email protected]>
ssb: sdio: Don't overwrite const buffer if block_write fails

Pali Rohár <[email protected]>
ath9k: Fix kernel NULL pointer dereference during ath_reset_internal()

Ondrej Zary <[email protected]>
serial_cs: remove wrong GLOBETROTTER.cis entry

Ondrej Zary <[email protected]>
serial_cs: Add Option International GSM-Ready 56K/ISDN modem

Yoshihiro Shimoda <[email protected]>
serial: sh-sci: Stop dmaengine transfer in sci_stop_tx()

Pali Rohár <[email protected]>
serial: mvebu-uart: fix calculation of clock divisor

Hans de Goede <[email protected]>
iio: accel: bmc150: Don't make the remove function of the second accelerometer unregister itself

Hans de Goede <[email protected]>
iio: accel: bmc150: Fix dereferencing the wrong pointer in bmc150_get/set_second_device

Stephan Gerhold <[email protected]>
iio: accel: bmc150: Fix bma222 scale unit

Stephan Gerhold <[email protected]>
iio: accel: bma180: Fix BMA25x bandwidth register values

Oliver Lang <[email protected]>
iio: ltr501: ltr501_read_ps(): add missing endianness conversion

Oliver Lang <[email protected]>
iio: ltr501: ltr559: fix initialization of LTR501_ALS_CONTR

Marc Kleine-Budde <[email protected]>
iio: ltr501: mark register holding upper 8 bits of ALS_DATA{0,1} and PS_DATA as volatile, too

frank zago <[email protected]>
iio: light: tcs3472: do not free unallocated IRQ

Yang Yingliang <[email protected]>
iio: frequency: adf4350: disable reg and clk on error in adf4350_probe()

Martin Fuzzey <[email protected]>
rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path

Dinh Nguyen <[email protected]>
clk: agilex/stratix10: add support for the 2nd bypass

Dinh Nguyen <[email protected]>
clk: agilex/stratix10: fix bypass representation

Dinh Nguyen <[email protected]>
clk: agilex/stratix10: remove noc_clk

Dinh Nguyen <[email protected]>
clk: agilex/stratix10/n5x: fix how the bypass_reg is handled

Damien Le Moal <[email protected]>
clk: k210: Fix k210_clk_set_parent()

Shin'ichiro Kawasaki <[email protected]>
f2fs: Prevent swap file in LFS mode

Daniel Rosenberg <[email protected]>
f2fs: Advertise encrypted casefolding in sysfs

Janosch Frank <[email protected]>
s390: mm: Fix secure storage access exception handling

Vineeth Vijayan <[email protected]>
s390/cio: dont call css_wait_for_slow_path() inside a lock

Sean Christopherson <[email protected]>
KVM: x86: Force all MMUs to reinitialize if guest CPUID is modified

Sean Christopherson <[email protected]>
KVM: x86: Properly reset MMU context at vCPU RESET/INIT

Sean Christopherson <[email protected]>
KVM: x86/mmu: Use MMU's role to detect CR4.SMEP value in nested NPT walk

Sean Christopherson <[email protected]>
KVM: x86/mmu: Treat NX as used (not reserved) for all !TDP shadow MMUs

Sean Christopherson <[email protected]>
KVM: x86/mmu: Remove broken WARN that fires on 32-bit KVM w/ nested EPT

Nathan Chancellor <[email protected]>
KVM: PPC: Book3S HV: Workaround high stack usage with clang

Sean Christopherson <[email protected]>
KVM: nVMX: Handle split-lock #AC exceptions that happen in L2

Robin Murphy <[email protected]>
perf/smmuv3: Don't trample existing events with global filter

Jann Horn <[email protected]>
mm/gup: fix try_grab_compound_head() race with split_huge_page()

Christophe JAILLET <[email protected]>
bus: mhi: pci-generic: Add missing 'pci_disable_pcie_error_reporting()' calls

Baochen Qiang <[email protected]>
bus: mhi: Wait for M2 state during system resume

Loic Poulain <[email protected]>
bus: mhi: core: Fix power down latency

Zhang Xiaoxu <[email protected]>
SUNRPC: Should wake up the privileged task firstly.

Zhang Xiaoxu <[email protected]>
SUNRPC: Fix the batch tasks count wraparound.

Abinaya Kalaiselvan <[email protected]>
mac80211: fix NULL ptr dereference during mesh peer connection for non HE devices

Felix Fietkau <[email protected]>
mac80211: remove iwlwifi specific workaround that broke sta NDP tx

Stephane Grosjean <[email protected]>
can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path

Oleksij Rempel <[email protected]>
can: j1939: j1939_sk_init(): set SOCK_RCU_FREE to call sk_destruct() after RCU is done

Oliver Hartkopp <[email protected]>
can: isotp: isotp_release(): omit unintended hrtimer restart on socket release

Oliver Hartkopp <[email protected]>
can: gw: synchronize rcu operations before removing gw job entry

Thadeu Lima de Souza Cascardo <[email protected]>
can: bcm: delay release of struct bcm_op after synchronize_rcu()

Stephen Brennan <[email protected]>
ext4: use ext4_grp_locked_error in mb_find_extent

Pan Dong <[email protected]>
ext4: fix avefreec in find_group_orlov

Zhang Yi <[email protected]>
ext4: remove check for zero nr_to_scan in ext4_es_scan()

Zhang Yi <[email protected]>
ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit

Yang Yingliang <[email protected]>
ext4: return error code when ext4_fill_flex_info() fails

Jan Kara <[email protected]>
ext4: fix overflow in ext4_iomap_alloc()

Anirudh Rayabharam <[email protected]>
ext4: fix kernel infoleak via ext4_extent_header

Zhang Yi <[email protected]>
ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle

David Sterba <[email protected]>
btrfs: clear defrag status of a root if starting transaction fails

Naohiro Aota <[email protected]>
btrfs: fix unbalanced unlock in qgroup_account_snapshot()

David Sterba <[email protected]>
btrfs: compression: don't try to compress if we don't have enough pages

Filipe Manana <[email protected]>
btrfs: send: fix invalid path for unlink operations after parent orphanization

Johannes Thumshirn <[email protected]>
btrfs: zoned: bail out if we can't read a reliable write pointer

Naohiro Aota <[email protected]>
btrfs: zoned: print message when zone sanity check type fails

Ludovic Desroches <[email protected]>
ARM: dts: at91: sama5d4: fix pinctrl muxing

Linus Walleij <[email protected]>
ARM: dts: ux500: Fix LED probing

Yang Jihong <[email protected]>
arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode

Joerg Roedel <[email protected]>
crypto: ccp - Annotate SEV Firmware file names

Kees Cook <[email protected]>
crypto: nx - Fix memcpy() over-reading in nonce

Alexander Larkin <[email protected]>
Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl

Takashi Iwai <[email protected]>
Input: elants_i2c - fix NULL dereference at probing

Al Viro <[email protected]>
iov_iter_fault_in_readable() should do nothing in xarray case

Al Viro <[email protected]>
teach copy_page_to_iter() to handle compound pages

Al Viro <[email protected]>
copy_page_to_iter(): fix ITER_DISCARD case

Kees Cook <[email protected]>
selftests/lkdtm: Avoid needing explicit sub-shell

Desmond Cheong Zhi Xi <[email protected]>
ntfs: fix validity check for file name attribute

Andreas Gruenbacher <[email protected]>
gfs2: Fix error handling in init_statfs

Andreas Gruenbacher <[email protected]>
gfs2: Fix underflow in gfs2_page_mkwrite

Mike Rapoport <[email protected]>
mm/page_alloc: fix memory map initialization for descending nodes

Zhangjiantao (Kirin, nanjing) <[email protected]>
xhci: solve a double free problem while doing s4

Jing Xiangfeng <[email protected]>
usb: typec: Add the missed altmode_id_remove() in typec_register_altmode()

Kyle Tso <[email protected]>
usb: typec: tcpm: Relax disconnect threshold during power negotiation

Badhri Jagan Sridharan <[email protected]>
usb: typec: tcpci: Fix up sink disconnect thresholds for PD

Minas Harutyunyan <[email protected]>
usb: dwc3: Fix debugfs creation flow

Hannu Hartikainen <[email protected]>
USB: cdc-acm: blacklist Heimann USB Appset device

Moritz Fischer <[email protected]>
usb: renesas-xhci: Fix handling of unknown ROM state

Linyu Yuan <[email protected]>
usb: gadget: eem: fix echo command packet response issue

Pavel Skripkin <[email protected]>
net: can: ems_usb: fix use-after-free in ems_usb_disconnect()

Johan Hovold <[email protected]>
Input: usbtouchscreen - fix control-request directions

Pavel Skripkin <[email protected]>
media: dvb-usb: fix wrong definition

Frank Schäfer <[email protected]>
ALSA: hda/realtek: fix mute led of the HP Pavilion 15-eh1xxx series

Jeremy Szu <[email protected]>
ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 830 G8 Notebook PC

Takashi Iwai <[email protected]>
ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too

Takashi Iwai <[email protected]>
ALSA: hda/realtek: Fix bass speaker DAC mapping for Asus UM431D

Elia Devito <[email protected]>
ALSA: hda/realtek: Improve fixup for HP Spectre x360 15-df0xxx

Jeremy Szu <[email protected]>
ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook x360 830 G8

Takashi Iwai <[email protected]>
ALSA: hda/realtek: Add another ALC236 variant support

Andy Chi <[email protected]>
ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 630 G8

Andy Chi <[email protected]>
ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G8

Andy Chi <[email protected]>
ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 450 G8

Takashi Iwai <[email protected]>
ALSA: intel8x0: Fix breakage at ac97 clock measurement

Takashi Iwai <[email protected]>
ALSA: usb-audio: scarlett2: Fix wrong resume call

Takashi Sakamoto <[email protected]>
ALSA: firewire-motu: fix stream format for MOTU 8pre FireWire

Takashi Iwai <[email protected]>
ALSA: usb-audio: Fix OOB access at proc output

Daehwan Jung <[email protected]>
ALSA: usb-audio: fix rate on Ozone Z90 USB headset

Takashi Sakamoto <[email protected]>
ALSA: bebob: fix rx packet format for Yamaha GO44/GO46, Terratec Phase 24/x24

Szymon Janc <[email protected]>
Bluetooth: Remove spurious error message

Connor Abbott <[email protected]>
Bluetooth: btqca: Don't modify firmware contents in-place

Pavel Skripkin <[email protected]>
Bluetooth: hci_qca: fix potential GPF


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

Diffstat:

Documentation/ABI/testing/evm | 26 +-
Documentation/ABI/testing/sysfs-bus-papr-pmem | 8 +-
Documentation/admin-guide/kernel-parameters.txt | 6 +
Documentation/hwmon/max31790.rst | 5 +-
.../userspace-api/media/v4l/ext-ctrls-codec.rst | 5 +-
Documentation/userspace-api/seccomp_filter.rst | 12 +
Makefile | 6 +-
arch/alpha/kernel/smp.c | 1 -
arch/arc/kernel/smp.c | 1 -
arch/arm/boot/dts/sama5d4.dtsi | 2 +-
arch/arm/boot/dts/ste-href.dtsi | 7 +
arch/arm/kernel/perf_event_v7.c | 4 +-
arch/arm/kernel/smp.c | 1 -
arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 2 +-
arch/arm64/include/asm/kvm_host.h | 1 +
arch/arm64/include/asm/mmu_context.h | 4 +-
arch/arm64/include/asm/preempt.h | 2 +-
arch/arm64/kernel/Makefile | 5 +
arch/arm64/kernel/perf_event.c | 2 +-
arch/arm64/kernel/setup.c | 2 +-
arch/arm64/kernel/smp.c | 1 -
arch/arm64/kvm/arm.c | 4 +
arch/arm64/kvm/pmu-emul.c | 4 +
arch/csky/kernel/smp.c | 1 -
arch/csky/mm/syscache.c | 12 +-
arch/ia64/kernel/mca_drv.c | 2 +-
arch/ia64/kernel/smpboot.c | 1 -
arch/m68k/Kconfig.machine | 3 +
arch/mips/include/asm/highmem.h | 2 +-
arch/mips/kernel/smp.c | 1 -
arch/openrisc/kernel/smp.c | 2 -
arch/parisc/kernel/smp.c | 1 -
arch/powerpc/include/asm/cputhreads.h | 30 ++
arch/powerpc/include/asm/interrupt.h | 3 +
arch/powerpc/include/asm/kvm_guest.h | 4 +-
arch/powerpc/kernel/firmware.c | 10 +-
arch/powerpc/kernel/mce_power.c | 48 +-
arch/powerpc/kernel/process.c | 48 +-
arch/powerpc/kernel/smp.c | 12 +-
arch/powerpc/kernel/stacktrace.c | 26 +-
arch/powerpc/kvm/book3s_hv.c | 13 +-
arch/powerpc/kvm/book3s_hv_builtin.c | 2 +-
arch/powerpc/kvm/book3s_hv_nested.c | 3 +-
arch/powerpc/kvm/book3s_hv_rm_mmu.c | 2 +-
arch/powerpc/mm/book3s64/hash_utils.c | 24 +-
arch/powerpc/platforms/pseries/papr_scm.c | 62 ++-
arch/powerpc/platforms/pseries/smp.c | 4 +-
arch/riscv/kernel/smpboot.c | 1 -
arch/s390/Kconfig | 3 +-
arch/s390/boot/uv.c | 1 +
arch/s390/include/asm/pgtable.h | 21 +-
arch/s390/include/asm/preempt.h | 4 +-
arch/s390/include/asm/uv.h | 8 +-
arch/s390/kernel/smp.c | 1 -
arch/s390/kernel/uv.c | 10 +
arch/s390/kvm/kvm-s390.c | 18 +-
arch/s390/mm/fault.c | 26 ++
arch/sh/kernel/smp.c | 2 -
arch/sparc/kernel/smp_32.c | 1 -
arch/sparc/kernel/smp_64.c | 3 -
arch/x86/crypto/curve25519-x86_64.c | 2 +-
arch/x86/entry/entry_64.S | 4 +-
arch/x86/events/core.c | 28 +-
arch/x86/events/intel/core.c | 15 +-
arch/x86/events/perf_event.h | 1 +
arch/x86/include/asm/idtentry.h | 29 +-
arch/x86/include/asm/kvm_host.h | 3 +-
arch/x86/include/asm/perf_event.h | 1 +
arch/x86/include/asm/preempt.h | 2 +-
arch/x86/include/uapi/asm/hwcap2.h | 6 +-
arch/x86/kernel/cpu/mshyperv.c | 2 +-
arch/x86/kernel/early-quirks.c | 1 +
arch/x86/kernel/sev.c | 184 ++++----
arch/x86/kernel/smpboot.c | 1 -
arch/x86/kernel/tsc.c | 3 +-
arch/x86/kvm/cpuid.c | 6 +-
arch/x86/kvm/hyperv.c | 2 +-
arch/x86/kvm/mmu/mmu.c | 22 +-
arch/x86/kvm/mmu/paging_tmpl.h | 3 +-
arch/x86/kvm/mmu/spte.c | 7 -
arch/x86/kvm/mmu/tdp_mmu.c | 8 +-
arch/x86/kvm/vmx/nested.c | 41 +-
arch/x86/kvm/vmx/vmcs.h | 5 +
arch/x86/kvm/vmx/vmx.c | 4 +-
arch/x86/kvm/vmx/vmx.h | 1 +
arch/x86/kvm/x86.c | 15 +-
arch/x86/mm/tlb.c | 10 +-
arch/x86/net/bpf_jit_comp.c | 2 +-
arch/xtensa/kernel/smp.c | 1 -
block/bfq-iosched.c | 57 ++-
block/bio.c | 13 +-
block/blk-flush.c | 3 +-
block/blk-merge.c | 8 +-
block/blk-mq-tag.c | 49 ++-
block/blk-mq-tag.h | 6 +
block/blk-mq.c | 63 ++-
block/blk-mq.h | 1 +
block/blk-rq-qos.h | 24 +
block/blk-wbt.c | 11 +-
block/blk-wbt.h | 1 +
crypto/ecdh.c | 12 +-
crypto/shash.c | 18 +-
crypto/sm2.c | 24 +-
crypto/testmgr.c | 3 -
crypto/testmgr.h | 10 +-
drivers/acpi/Makefile | 5 +
drivers/acpi/acpi_fpdt.c | 4 +-
drivers/acpi/acpica/nsrepair2.c | 7 +
drivers/acpi/apei/ghes.c | 81 +++-
drivers/acpi/bgrt.c | 57 +--
drivers/acpi/bus.c | 1 +
drivers/acpi/device_pm.c | 6 +-
drivers/acpi/device_sysfs.c | 2 +-
drivers/acpi/ec.c | 37 +-
drivers/acpi/fan.c | 7 +-
drivers/acpi/fan.h | 13 +
drivers/acpi/processor_idle.c | 40 ++
drivers/acpi/resource.c | 9 +-
drivers/acpi/scan.c | 60 ++-
drivers/acpi/x86/s2idle.c | 4 +
drivers/ata/pata_ep93xx.c | 2 +-
drivers/ata/pata_octeon_cf.c | 5 +-
drivers/ata/pata_rb532_cf.c | 6 +-
drivers/ata/sata_highbank.c | 6 +-
drivers/block/loop.c | 1 +
drivers/bluetooth/btqca.c | 27 +-
drivers/bluetooth/hci_qca.c | 4 +-
drivers/bluetooth/virtio_bt.c | 3 +
drivers/bus/mhi/core/pm.c | 19 +-
drivers/bus/mhi/pci_generic.c | 5 +-
drivers/char/hw_random/exynos-trng.c | 4 +-
drivers/char/pcmcia/cm4000_cs.c | 4 +
drivers/char/tpm/tpm_tis_core.c | 25 +-
drivers/char/tpm/tpm_tis_core.h | 3 +-
drivers/char/tpm/tpm_tis_spi_main.c | 2 +
drivers/clk/actions/owl-s500.c | 75 ++--
drivers/clk/clk-k210.c | 1 +
drivers/clk/clk-si5341.c | 77 +++-
drivers/clk/clk-versaclock5.c | 27 +-
drivers/clk/imx/clk-imx8mq.c | 56 +--
drivers/clk/meson/g12a.c | 2 +-
drivers/clk/qcom/clk-alpha-pll.c | 2 +-
drivers/clk/qcom/gcc-sc7280.c | 1 +
drivers/clk/rockchip/clk-rk3568.c | 10 +-
drivers/clk/socfpga/clk-agilex.c | 93 ++--
drivers/clk/socfpga/clk-gate-s10.c | 119 ++++-
drivers/clk/socfpga/clk-periph-s10.c | 11 +-
drivers/clk/socfpga/clk-s10.c | 87 ++--
drivers/clk/socfpga/stratix10-clk.h | 2 +
drivers/clk/sunxi-ng/ccu-sun8i-v3s.c | 4 +-
drivers/clk/tegra/clk-tegra30.c | 2 +-
drivers/clk/zynqmp/clk-mux-zynqmp.c | 10 +-
drivers/clk/zynqmp/pll.c | 22 +-
drivers/clocksource/timer-ti-dm.c | 6 +
drivers/cpufreq/cpufreq.c | 11 +-
drivers/crypto/cavium/nitrox/nitrox_isr.c | 4 +
drivers/crypto/ccp/sev-dev.c | 4 +
drivers/crypto/ccp/sp-pci.c | 6 +-
drivers/crypto/hisilicon/hpre/hpre_crypto.c | 18 +
drivers/crypto/hisilicon/sec2/sec_crypto.c | 4 +-
drivers/crypto/ixp4xx_crypto.c | 24 +-
drivers/crypto/nx/nx-842-pseries.c | 9 +-
drivers/crypto/nx/nx-aes-ctr.c | 2 +-
drivers/crypto/omap-sham.c | 4 +-
drivers/crypto/qat/qat_common/qat_hal.c | 6 +-
drivers/crypto/qat/qat_common/qat_uclo.c | 1 -
drivers/crypto/qce/skcipher.c | 15 +-
drivers/crypto/sa2ul.c | 34 +-
drivers/crypto/ux500/hash/hash_core.c | 1 +
drivers/devfreq/devfreq.c | 1 +
drivers/devfreq/governor_passive.c | 3 +-
drivers/edac/Kconfig | 3 +-
drivers/edac/aspeed_edac.c | 4 +-
drivers/edac/i10nm_base.c | 3 +
drivers/edac/pnd2_edac.c | 3 +
drivers/edac/sb_edac.c | 3 +
drivers/edac/skx_base.c | 3 +
drivers/edac/ti_edac.c | 1 +
drivers/extcon/extcon-max8997.c | 3 +-
drivers/extcon/extcon-sm5502.c | 1 -
drivers/firmware/stratix10-svc.c | 22 +-
drivers/fsi/fsi-core.c | 4 +-
drivers/fsi/fsi-occ.c | 1 +
drivers/fsi/fsi-sbefifo.c | 10 +-
drivers/fsi/fsi-scom.c | 16 +-
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 21 +-
.../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 3 +
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 2 +-
drivers/gpu/drm/amd/display/dc/inc/dc_link_dp.h | 4 +
drivers/gpu/drm/ast/ast_main.c | 4 +-
drivers/gpu/drm/bridge/Kconfig | 3 +-
drivers/gpu/drm/bridge/analogix/anx7625.c | 2 +-
drivers/gpu/drm/drm_bridge.c | 3 +
drivers/gpu/drm/i915/display/skl_universal_plane.c | 6 +-
drivers/gpu/drm/i915/gt/selftest_execlists.c | 55 ++-
drivers/gpu/drm/imx/ipuv3-plane.c | 57 ++-
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 4 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c | 8 +-
drivers/gpu/drm/msm/dp/dp_catalog.c | 5 +-
drivers/gpu/drm/msm/dp/dp_ctrl.c | 55 +++
drivers/gpu/drm/msm/dp/dp_ctrl.h | 2 +
drivers/gpu/drm/msm/dp/dp_display.c | 57 ++-
drivers/gpu/drm/msm/msm_drv.c | 1 +
drivers/gpu/drm/pl111/Kconfig | 1 +
drivers/gpu/drm/qxl/qxl_dumb.c | 2 +
drivers/gpu/drm/rockchip/cdn-dp-core.c | 1 +
drivers/gpu/drm/rockchip/cdn-dp-reg.c | 2 +-
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c | 36 +-
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 1 +
drivers/gpu/drm/rockchip/rockchip_lvds.c | 4 +-
drivers/gpu/drm/vc4/vc4_crtc.c | 63 ++-
drivers/gpu/drm/vc4/vc4_hdmi.c | 4 +-
.../drm/vmwgfx/device_include/svga3d_surfacedefs.h | 8 +-
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 20 +-
drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 13 +
drivers/hid/hid-core.c | 10 +-
drivers/hid/hid-ids.h | 1 +
drivers/hid/hid-input.c | 2 +
drivers/hid/hid-sony.c | 98 ++---
drivers/hid/surface-hid/surface_hid.c | 2 +-
drivers/hid/wacom_wac.h | 2 +-
drivers/hv/connection.c | 4 +-
drivers/hv/hv_util.c | 4 +-
drivers/hwmon/lm70.c | 26 +-
drivers/hwmon/max31722.c | 9 -
drivers/hwmon/max31790.c | 49 ++-
drivers/hwmon/pmbus/bpa-rs600.c | 29 ++
drivers/hwtracing/coresight/coresight-core.c | 2 +-
drivers/i2c/busses/i2c-mpc.c | 2 +
drivers/iio/accel/bma180.c | 19 +-
drivers/iio/accel/bma220_spi.c | 10 +-
drivers/iio/accel/bmc150-accel-core.c | 21 +-
drivers/iio/accel/bmc150-accel-i2c.c | 2 +-
drivers/iio/accel/bmc150-accel.h | 2 +-
drivers/iio/accel/hid-sensor-accel-3d.c | 13 +-
drivers/iio/accel/kxcjk-1013.c | 24 +-
drivers/iio/accel/mxc4005.c | 10 +-
drivers/iio/accel/stk8312.c | 12 +-
drivers/iio/accel/stk8ba50.c | 17 +-
drivers/iio/adc/at91-sama5d2_adc.c | 3 +-
drivers/iio/adc/hx711.c | 4 +-
drivers/iio/adc/mxs-lradc-adc.c | 3 +-
drivers/iio/adc/ti-ads1015.c | 12 +-
drivers/iio/adc/ti-ads8688.c | 3 +-
drivers/iio/adc/vf610_adc.c | 10 +-
drivers/iio/chemical/atlas-sensor.c | 4 +-
drivers/iio/dummy/Kconfig | 1 +
drivers/iio/frequency/adf4350.c | 6 +-
drivers/iio/gyro/bmg160_core.c | 10 +-
drivers/iio/humidity/am2315.c | 16 +-
drivers/iio/imu/adis16400.c | 3 -
drivers/iio/imu/adis16475.c | 2 +-
drivers/iio/imu/adis_buffer.c | 3 -
drivers/iio/light/isl29125.c | 10 +-
drivers/iio/light/ltr501.c | 15 +-
drivers/iio/light/tcs3414.c | 10 +-
drivers/iio/light/tcs3472.c | 16 +-
drivers/iio/light/vcnl4000.c | 2 +-
drivers/iio/light/vcnl4035.c | 3 +-
drivers/iio/magnetometer/bmc150_magn.c | 11 +-
drivers/iio/magnetometer/hmc5843.h | 8 +-
drivers/iio/magnetometer/hmc5843_core.c | 4 +-
drivers/iio/magnetometer/rm3100-core.c | 3 +-
drivers/iio/potentiostat/lmp91000.c | 4 +-
drivers/iio/proximity/as3935.c | 10 +-
drivers/iio/proximity/isl29501.c | 2 +-
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c | 10 +-
drivers/iio/proximity/srf08.c | 14 +-
drivers/infiniband/core/cm.c | 427 +++++++++---------
drivers/infiniband/core/cma.c | 28 +-
drivers/infiniband/core/uverbs_cmd.c | 21 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 61 ++-
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 3 +
drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +-
drivers/infiniband/hw/mlx4/qp.c | 9 +-
drivers/infiniband/hw/mlx5/main.c | 7 +-
drivers/infiniband/hw/mlx5/qp.c | 6 +-
drivers/infiniband/sw/rxe/rxe_net.c | 10 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 1 -
drivers/infiniband/sw/rxe/rxe_resp.c | 2 -
drivers/infiniband/ulp/iser/iscsi_iser.c | 2 +
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 28 +-
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 1 +
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 39 +-
drivers/infiniband/ulp/rtrs/rtrs.c | 1 -
drivers/infiniband/ulp/srp/ib_srp.c | 13 +-
drivers/input/joydev.c | 2 +-
drivers/input/keyboard/Kconfig | 3 -
drivers/input/keyboard/hil_kbd.c | 1 +
drivers/input/touchscreen/elants_i2c.c | 6 +-
drivers/input/touchscreen/goodix.c | 52 ---
drivers/input/touchscreen/usbtouchscreen.c | 8 +-
drivers/iommu/amd/amd_iommu.h | 2 -
drivers/iommu/amd/init.c | 9 +-
drivers/iommu/amd/iommu.c | 31 +-
drivers/iommu/dma-iommu.c | 6 +-
drivers/leds/Kconfig | 1 +
drivers/leds/blink/leds-lgm-sso.c | 44 +-
drivers/leds/led-class.c | 4 -
drivers/leds/leds-as3645a.c | 1 +
drivers/leds/leds-ktd2692.c | 27 +-
drivers/leds/leds-lm36274.c | 1 +
drivers/leds/leds-lm3692x.c | 8 +-
drivers/leds/leds-lm3697.c | 8 +-
drivers/leds/leds-lp50xx.c | 2 +-
drivers/mailbox/qcom-apcs-ipc-mailbox.c | 2 +-
drivers/mailbox/qcom-ipcc.c | 6 +
drivers/md/md.c | 45 --
drivers/md/md.h | 1 -
drivers/media/cec/platform/s5p/s5p_cec.c | 7 +-
drivers/media/common/siano/smscoreapi.c | 22 +-
drivers/media/common/siano/smscoreapi.h | 4 +-
drivers/media/common/siano/smsdvb-main.c | 4 +
drivers/media/dvb-core/dvb_net.c | 25 +-
drivers/media/dvb-core/dvbdev.c | 3 +
drivers/media/i2c/ccs/ccs-core.c | 2 +-
drivers/media/i2c/imx334.c | 7 +-
drivers/media/i2c/ir-kbd-i2c.c | 4 +-
drivers/media/i2c/ov2659.c | 24 +-
drivers/media/i2c/rdacm21.c | 56 ++-
drivers/media/i2c/s5c73m3/s5c73m3-core.c | 6 +-
drivers/media/i2c/s5c73m3/s5c73m3.h | 2 +-
drivers/media/i2c/s5k4ecgx.c | 10 +-
drivers/media/i2c/s5k5baf.c | 6 +-
drivers/media/i2c/s5k6aa.c | 10 +-
drivers/media/i2c/tc358743.c | 1 +
drivers/media/mc/Makefile | 2 +-
drivers/media/pci/bt8xx/bt878.c | 6 +-
drivers/media/pci/cobalt/cobalt-driver.c | 1 +
drivers/media/pci/cobalt/cobalt-driver.h | 7 +-
drivers/media/pci/intel/ipu3/cio2-bridge.c | 10 +-
drivers/media/platform/am437x/am437x-vpfe.c | 15 +-
drivers/media/platform/exynos-gsc/gsc-m2m.c | 4 +-
drivers/media/platform/exynos4-is/fimc-capture.c | 6 +-
drivers/media/platform/exynos4-is/fimc-is.c | 4 +-
drivers/media/platform/exynos4-is/fimc-isp-video.c | 10 +-
drivers/media/platform/exynos4-is/fimc-isp.c | 7 +-
drivers/media/platform/exynos4-is/fimc-lite.c | 5 +-
drivers/media/platform/exynos4-is/fimc-m2m.c | 5 +-
drivers/media/platform/exynos4-is/media-dev.c | 10 +-
drivers/media/platform/exynos4-is/mipi-csis.c | 10 +-
drivers/media/platform/marvell-ccic/mcam-core.c | 9 +-
drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c | 6 +-
.../media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 4 +-
.../media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c | 8 +-
.../media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h | 2 +-
drivers/media/platform/mtk-vpu/mtk_vpu.c | 6 +
drivers/media/platform/qcom/venus/core.c | 60 ++-
drivers/media/platform/qcom/venus/hfi_cmds.c | 22 +-
drivers/media/platform/s5p-g2d/g2d.c | 3 +
drivers/media/platform/s5p-jpeg/jpeg-core.c | 5 +-
drivers/media/platform/s5p-mfc/s5p_mfc_dec.c | 1 +
drivers/media/platform/sh_vou.c | 6 +-
drivers/media/platform/sti/bdisp/Makefile | 2 +-
drivers/media/platform/sti/bdisp/bdisp-v4l2.c | 7 +-
drivers/media/platform/sti/delta/Makefile | 2 +-
drivers/media/platform/sti/hva/Makefile | 2 +-
drivers/media/platform/sti/hva/hva-hw.c | 3 +-
.../platform/sunxi/sun8i-rotate/sun8i_rotate.c | 2 +-
drivers/media/platform/video-mux.c | 10 +-
drivers/media/usb/au0828/au0828-core.c | 4 +-
drivers/media/usb/cpia2/cpia2.h | 1 +
drivers/media/usb/cpia2/cpia2_core.c | 12 +
drivers/media/usb/cpia2/cpia2_usb.c | 13 +-
drivers/media/usb/dvb-usb/cinergyT2-core.c | 2 +
drivers/media/usb/dvb-usb/cxusb.c | 2 +-
drivers/media/usb/em28xx/em28xx-input.c | 8 +-
drivers/media/usb/gspca/gl860/gl860.c | 4 +-
drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 4 +-
drivers/media/v4l2-core/v4l2-fh.c | 1 +
drivers/media/v4l2-core/v4l2-ioctl.c | 12 +-
drivers/media/v4l2-core/v4l2-subdev.c | 24 -
drivers/memstick/host/rtsx_usb_ms.c | 10 +-
drivers/mfd/Kconfig | 1 +
drivers/mfd/mfd-core.c | 15 +-
drivers/mfd/rn5t618.c | 2 +-
drivers/misc/eeprom/idt_89hpesx.c | 8 +-
drivers/misc/habanalabs/common/habanalabs_drv.c | 1 +
drivers/misc/pvpanic/pvpanic-mmio.c | 3 +-
drivers/misc/pvpanic/pvpanic-pci.c | 9 +-
drivers/mmc/core/block.c | 8 +
drivers/mmc/host/sdhci-of-aspeed.c | 2 +-
drivers/mmc/host/sdhci-sprd.c | 1 +
drivers/mmc/host/usdhi6rol0.c | 1 +
drivers/mmc/host/via-sdmmc.c | 3 +
drivers/mmc/host/vub300.c | 2 +-
drivers/mtd/nand/raw/arasan-nand-controller.c | 90 ++--
drivers/mtd/nand/raw/marvell_nand.c | 4 +-
drivers/mtd/nand/spi/core.c | 17 +-
drivers/mtd/parsers/qcomsmempart.c | 10 +
drivers/mtd/parsers/redboot.c | 7 +-
drivers/mtd/spi-nor/otp.c | 43 +-
drivers/net/Kconfig | 1 +
drivers/net/can/peak_canfd/peak_canfd.c | 4 +-
drivers/net/can/usb/ems_usb.c | 3 +-
drivers/net/dsa/mv88e6xxx/chip.c | 6 +-
drivers/net/dsa/sja1105/sja1105_main.c | 6 +
drivers/net/ethernet/aeroflex/greth.c | 3 +-
drivers/net/ethernet/aquantia/atlantic/aq_macsec.h | 4 +-
drivers/net/ethernet/broadcom/bcm4908_enet.c | 6 +-
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 1 +
drivers/net/ethernet/emulex/benet/be_cmds.c | 6 +-
drivers/net/ethernet/emulex/benet/be_main.c | 2 +
drivers/net/ethernet/ezchip/nps_enet.c | 4 +-
drivers/net/ethernet/faraday/ftgmac100.c | 6 +-
drivers/net/ethernet/google/gve/gve_main.c | 4 +-
drivers/net/ethernet/ibm/ehea/ehea_main.c | 9 +-
drivers/net/ethernet/ibm/ibmvnic.c | 99 ++++-
drivers/net/ethernet/intel/e1000e/netdev.c | 24 +-
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 3 +-
drivers/net/ethernet/intel/i40e/i40e_main.c | 17 +-
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 +
drivers/net/ethernet/marvell/pxa168_eth.c | 2 +-
drivers/net/ethernet/microsoft/mana/mana_en.c | 6 +-
.../net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 10 +-
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 2 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
drivers/net/ethernet/ti/am65-cpsw-nuss.c | 18 +-
drivers/net/ieee802154/mac802154_hwsim.c | 11 +-
drivers/net/macsec.c | 4 +-
drivers/net/phy/mscc/mscc_macsec.c | 2 +-
drivers/net/phy/mscc/mscc_macsec.h | 2 +-
drivers/net/vrf.c | 14 +-
drivers/net/vxlan.c | 2 +
drivers/net/wireless/ath/ath10k/mac.c | 1 +
drivers/net/wireless/ath/ath10k/pci.c | 14 +-
drivers/net/wireless/ath/ath11k/core.c | 3 +-
drivers/net/wireless/ath/ath11k/mac.c | 10 +-
drivers/net/wireless/ath/ath9k/main.c | 5 +
drivers/net/wireless/ath/carl9170/Kconfig | 8 +-
drivers/net/wireless/ath/wcn36xx/main.c | 21 +-
drivers/net/wireless/ath/wil6210/cfg80211.c | 2 -
.../broadcom/brcm80211/brcmfmac/cfg80211.c | 37 +-
.../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 5 +-
.../broadcom/brcm80211/brcmsmac/mac80211_if.c | 8 +-
drivers/net/wireless/intel/iwlwifi/fw/pnvm.h | 4 +-
drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 3 +
drivers/net/wireless/marvell/mwifiex/pcie.c | 10 +-
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c | 3 +
.../net/wireless/mediatek/mt76/mt7615/pci_mac.c | 5 +-
.../net/wireless/mediatek/mt76/mt7615/usb_sdio.c | 5 +-
drivers/net/wireless/mediatek/mt76/mt76_connac.h | 7 +-
.../net/wireless/mediatek/mt76/mt76_connac_mac.c | 6 +
.../net/wireless/mediatek/mt76/mt76_connac_mcu.c | 11 +-
.../net/wireless/mediatek/mt76/mt76_connac_mcu.h | 8 +
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.h | 2 +-
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 3 +-
.../net/wireless/mediatek/mt76/mt7915/testmode.c | 21 +-
.../net/wireless/mediatek/mt76/mt7921/debugfs.c | 3 +
drivers/net/wireless/mediatek/mt76/mt7921/dma.c | 6 +-
drivers/net/wireless/mediatek/mt76/mt7921/init.c | 22 +-
drivers/net/wireless/mediatek/mt76/mt7921/mac.c | 31 +-
drivers/net/wireless/mediatek/mt76/mt7921/main.c | 55 +--
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 32 +-
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h | 1 +
drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 25 +-
drivers/net/wireless/mediatek/mt76/testmode.c | 13 +-
drivers/net/wireless/mediatek/mt76/tx.c | 2 +-
drivers/net/wireless/realtek/rtw88/rtw8822c.c | 22 +-
drivers/net/wireless/rsi/rsi_91x_hal.c | 6 +-
drivers/net/wireless/rsi/rsi_91x_mac80211.c | 3 -
drivers/net/wireless/rsi/rsi_91x_mgmt.c | 3 +-
drivers/net/wireless/rsi/rsi_main.h | 1 -
drivers/net/wireless/st/cw1200/scan.c | 17 +-
drivers/net/wwan/Kconfig | 15 +-
drivers/net/wwan/Makefile | 2 +-
drivers/nvme/host/pci.c | 26 +-
drivers/nvme/host/tcp.c | 2 +
drivers/nvme/target/fc.c | 10 +-
drivers/of/fdt.c | 8 +-
drivers/of/of_reserved_mem.c | 8 +-
drivers/pci/controller/pci-hyperv.c | 3 +
drivers/perf/arm-cmn.c | 2 +-
drivers/perf/arm_smmuv3_pmu.c | 18 +-
drivers/perf/fsl_imx8_ddr_perf.c | 6 +-
drivers/perf/hisilicon/hisi_uncore_hha_pmu.c | 4 +-
drivers/phy/ralink/phy-mt7621-pci.c | 4 +-
drivers/phy/socionext/phy-uniphier-pcie.c | 11 +-
drivers/phy/ti/phy-dm816x-usb.c | 17 +-
drivers/pinctrl/renesas/pfc-r8a7796.c | 3 +-
drivers/pinctrl/renesas/pfc-r8a77990.c | 8 +-
drivers/platform/x86/asus-nb-wmi.c | 77 ----
drivers/platform/x86/toshiba_acpi.c | 1 +
drivers/platform/x86/touchscreen_dmi.c | 85 ++++
drivers/regulator/Kconfig | 1 +
drivers/regulator/bd9576-regulator.c | 4 +-
drivers/regulator/da9052-regulator.c | 3 +-
drivers/regulator/fan53555.c | 3 +
drivers/regulator/fan53880.c | 2 +-
drivers/regulator/hi6421v600-regulator.c | 9 +-
drivers/regulator/hi655x-regulator.c | 16 +-
drivers/regulator/mt6315-regulator.c | 4 +-
drivers/regulator/mt6358-regulator.c | 2 +-
drivers/regulator/qcom-rpmh-regulator.c | 2 +
drivers/regulator/uniphier-regulator.c | 1 +
drivers/rtc/rtc-stm32.c | 6 +-
drivers/s390/cio/chp.c | 3 +
drivers/s390/cio/chsc.c | 2 -
drivers/scsi/FlashPoint.c | 32 +-
drivers/scsi/be2iscsi/be_iscsi.c | 19 +-
drivers/scsi/be2iscsi/be_main.c | 1 +
drivers/scsi/bnx2i/bnx2i_iscsi.c | 24 +-
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 1 +
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 1 +
drivers/scsi/cxgbi/libcxgbi.c | 12 +-
drivers/scsi/libfc/fc_encode.h | 8 +-
drivers/scsi/libiscsi.c | 70 ++-
drivers/scsi/lpfc/lpfc_debugfs.c | 7 +-
drivers/scsi/lpfc/lpfc_els.c | 100 ++++-
drivers/scsi/lpfc/lpfc_hbadisc.c | 27 +-
drivers/scsi/lpfc/lpfc_init.c | 7 -
drivers/scsi/lpfc/lpfc_nportdisc.c | 25 +-
drivers/scsi/lpfc/lpfc_sli.c | 10 +-
drivers/scsi/megaraid/megaraid_sas_fusion.c | 10 +-
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 +-
drivers/scsi/qedi/qedi_iscsi.c | 26 +-
drivers/scsi/qla4xxx/ql4_os.c | 2 +
drivers/scsi/scsi_lib.c | 1 +
drivers/scsi/scsi_transport_iscsi.c | 487 ++++++++++++---------
drivers/soundwire/stream.c | 13 +-
drivers/spi/spi-loopback-test.c | 2 +-
drivers/spi/spi-meson-spicc.c | 8 +-
drivers/spi/spi-omap-100k.c | 2 +-
drivers/spi/spi-sun6i.c | 6 +-
drivers/spi/spi-topcliff-pch.c | 4 +-
drivers/spi/spi.c | 8 +-
drivers/ssb/scan.c | 1 +
drivers/ssb/sdio.c | 1 -
drivers/staging/fbtft/fb_agm1264k-fl.c | 20 +-
drivers/staging/fbtft/fb_bd663474.c | 4 -
drivers/staging/fbtft/fb_ili9163.c | 4 -
drivers/staging/fbtft/fb_ili9320.c | 1 -
drivers/staging/fbtft/fb_ili9325.c | 4 -
drivers/staging/fbtft/fb_ili9340.c | 1 -
drivers/staging/fbtft/fb_s6d1121.c | 4 -
drivers/staging/fbtft/fb_sh1106.c | 1 -
drivers/staging/fbtft/fb_ssd1289.c | 4 -
drivers/staging/fbtft/fb_ssd1325.c | 2 -
drivers/staging/fbtft/fb_ssd1331.c | 6 +-
drivers/staging/fbtft/fb_ssd1351.c | 1 -
drivers/staging/fbtft/fb_upd161704.c | 4 -
drivers/staging/fbtft/fb_watterott.c | 1 -
drivers/staging/fbtft/fbtft-bus.c | 3 +-
drivers/staging/fbtft/fbtft-core.c | 25 +-
drivers/staging/fbtft/fbtft-io.c | 12 +-
drivers/staging/gdm724x/gdm_lte.c | 20 +-
drivers/staging/media/hantro/hantro_drv.c | 33 +-
drivers/staging/media/hantro/hantro_v4l2.c | 9 +-
drivers/staging/media/imx/imx-media-csi.c | 14 +-
drivers/staging/media/imx/imx7-mipi-csis.c | 6 +-
drivers/staging/media/rkvdec/rkvdec.c | 12 +-
drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 4 +-
drivers/staging/media/sunxi/cedrus/cedrus_video.c | 8 +-
drivers/staging/mt7621-dts/mt7621.dtsi | 2 +-
drivers/staging/rtl8712/hal_init.c | 3 +
drivers/staging/rtl8712/os_intfs.c | 4 -
drivers/staging/rtl8712/rtl871x_recv.c | 2 +-
drivers/staging/rtl8712/rtl871x_security.c | 12 +-
drivers/staging/rtl8712/usb_intf.c | 24 +-
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c | 4 +-
.../staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 2 +-
drivers/target/iscsi/cxgbit/cxgbit_ddp.c | 19 +-
drivers/target/iscsi/cxgbit/cxgbit_target.c | 21 +-
drivers/thermal/cpufreq_cooling.c | 2 +-
drivers/thunderbolt/test.c | 14 +-
drivers/tty/nozomi.c | 9 +-
drivers/tty/serial/8250/8250_omap.c | 22 +-
drivers/tty/serial/8250/8250_port.c | 19 +-
drivers/tty/serial/8250/serial_cs.c | 2 +-
drivers/tty/serial/fsl_lpuart.c | 14 +-
drivers/tty/serial/mvebu-uart.c | 18 +-
drivers/tty/serial/sh-sci.c | 8 +
drivers/usb/class/cdc-acm.c | 5 +
drivers/usb/dwc2/core.c | 30 +-
drivers/usb/dwc3/core.c | 3 +-
drivers/usb/gadget/function/f_eem.c | 43 +-
drivers/usb/gadget/function/f_fs.c | 65 ++-
drivers/usb/host/xhci-mem.c | 1 +
drivers/usb/host/xhci-pci-renesas.c | 16 +-
drivers/usb/phy/phy-tegra-usb.c | 15 +-
drivers/usb/typec/class.c | 4 +-
drivers/usb/typec/tcpm/tcpci.c | 18 +-
drivers/usb/typec/tcpm/tcpm.c | 30 ++
drivers/vfio/pci/vfio_pci.c | 29 +-
drivers/video/backlight/lm3630a_bl.c | 4 +-
drivers/video/fbdev/imxfb.c | 2 +-
drivers/visorbus/visorchipset.c | 6 +-
fs/btrfs/Kconfig | 2 +
fs/btrfs/ctree.c | 5 +-
fs/btrfs/delayed-inode.c | 18 +-
fs/btrfs/extent-tree.c | 1 -
fs/btrfs/inode.c | 16 +-
fs/btrfs/send.c | 11 +
fs/btrfs/super.c | 11 -
fs/btrfs/sysfs.c | 4 +-
fs/btrfs/transaction.c | 16 +-
fs/btrfs/transaction.h | 1 -
fs/btrfs/tree-log.c | 1 +
fs/btrfs/zoned.c | 18 +
fs/cifs/cifs_swn.c | 10 +-
fs/cifs/cifsacl.c | 2 +-
fs/cifs/cifsglob.h | 3 +-
fs/cifs/connect.c | 5 +-
fs/cifs/dfs_cache.c | 7 +-
fs/cifs/dir.c | 4 +
fs/cifs/inode.c | 5 +-
fs/cifs/smb2ops.c | 138 ++++++
fs/configfs/file.c | 10 +-
fs/crypto/fname.c | 10 +-
fs/crypto/keysetup.c | 40 +-
fs/dax.c | 3 +-
fs/dlm/config.c | 9 +
fs/dlm/lowcomms.c | 184 ++++++--
fs/erofs/super.c | 1 +
fs/exec.c | 4 +
fs/exfat/dir.c | 8 +-
fs/ext4/extents.c | 3 +
fs/ext4/extents_status.c | 4 +-
fs/ext4/ialloc.c | 11 +-
fs/ext4/inode.c | 2 +-
fs/ext4/mballoc.c | 9 +-
fs/ext4/super.c | 10 +-
fs/f2fs/data.c | 6 +
fs/f2fs/sysfs.c | 8 +
fs/fs-writeback.c | 39 +-
fs/fuse/dev.c | 12 +-
fs/fuse/dir.c | 25 +-
fs/gfs2/file.c | 4 +-
fs/gfs2/ops_fstype.c | 1 +
fs/io_uring.c | 10 +-
fs/ntfs/inode.c | 2 +-
fs/ocfs2/filecheck.c | 6 +-
fs/ocfs2/stackglue.c | 8 +-
fs/open.c | 14 +-
fs/proc/task_mmu.c | 2 +-
fs/pstore/Kconfig | 1 +
include/asm-generic/pgtable-nop4d.h | 1 -
include/asm-generic/preempt.h | 2 +-
include/clocksource/timer-ti-dm.h | 1 +
include/crypto/internal/hash.h | 8 +-
include/dt-bindings/clock/imx8mq-clock.h | 19 -
include/linux/bio.h | 12 +-
include/linux/clocksource.h | 2 +-
include/linux/cred.h | 2 +
include/linux/huge_mm.h | 59 ++-
include/linux/hugetlb.h | 5 +
include/linux/iio/common/cros_ec_sensors_core.h | 2 +-
include/linux/kthread.h | 2 +
include/linux/mm.h | 1 -
include/linux/pgtable.h | 22 +
include/linux/prandom.h | 2 +-
include/linux/swap.h | 9 +
include/linux/tracepoint.h | 10 +
include/linux/user_namespace.h | 4 +
include/media/hevc-ctrls.h | 3 +-
include/media/media-dev-allocator.h | 2 +-
include/net/bluetooth/hci.h | 6 +-
include/net/bluetooth/hci_core.h | 8 +-
include/net/ip.h | 12 +-
include/net/ip6_route.h | 16 +-
include/net/macsec.h | 2 +-
include/net/sch_generic.h | 12 +
include/net/tc_act/tc_vlan.h | 1 +
include/net/xfrm.h | 1 +
include/net/xsk_buff_pool.h | 9 +-
include/scsi/fc/fc_ms.h | 4 +-
include/scsi/libiscsi.h | 1 +
include/scsi/scsi_transport_iscsi.h | 12 +-
include/uapi/linux/seccomp.h | 1 +
include/uapi/linux/v4l2-controls.h | 23 +-
init/main.c | 6 +-
kernel/bpf/devmap.c | 4 +-
kernel/bpf/inode.c | 2 +-
kernel/bpf/verifier.c | 6 +-
kernel/cred.c | 40 ++
kernel/events/core.c | 9 +-
kernel/fork.c | 8 +-
kernel/kthread.c | 49 ++-
kernel/locking/lockdep.c | 122 +++++-
kernel/rcu/tree.c | 2 +-
kernel/sched/core.c | 86 ++--
kernel/sched/deadline.c | 2 +
kernel/sched/fair.c | 19 +-
kernel/sched/psi.c | 12 +-
kernel/sched/rt.c | 17 +-
kernel/seccomp.c | 51 ++-
kernel/smpboot.c | 1 -
kernel/sys.c | 12 +
kernel/time/clocksource.c | 113 ++++-
kernel/trace/bpf_trace.c | 3 +-
kernel/trace/trace_events_hist.c | 7 +
kernel/tracepoint.c | 33 +-
kernel/ucount.c | 40 +-
kernel/user_namespace.c | 3 +
lib/Kconfig.debug | 1 -
lib/iov_iter.c | 37 +-
lib/kstrtox.c | 13 +-
lib/kstrtox.h | 2 +
lib/kunit/test.c | 7 +-
lib/locking-selftest.c | 1 +
lib/math/rational.c | 16 +-
lib/seq_buf.c | 4 +-
lib/vsprintf.c | 82 ++--
mm/debug_vm_pgtable.c | 63 ++-
mm/gup.c | 58 ++-
mm/huge_memory.c | 13 +-
mm/hugetlb.c | 99 +++--
mm/kfence/core.c | 4 +-
mm/khugepaged.c | 4 +-
mm/memcontrol.c | 8 +
mm/memory.c | 11 +-
mm/migrate.c | 2 +-
mm/mmap_lock.c | 33 +-
mm/page_alloc.c | 107 +++--
mm/shmem.c | 17 +-
mm/slab.h | 1 -
mm/z3fold.c | 3 +-
mm/zswap.c | 17 +-
net/bluetooth/hci_event.c | 27 +-
net/bluetooth/hci_request.c | 51 ++-
net/bluetooth/mgmt.c | 3 +
net/bpfilter/main.c | 2 +-
net/can/bcm.c | 7 +-
net/can/gw.c | 3 +
net/can/isotp.c | 7 +-
net/can/j1939/main.c | 4 +
net/can/j1939/socket.c | 5 +-
net/core/filter.c | 4 -
net/core/rtnetlink.c | 26 +-
net/core/skmsg.c | 30 +-
net/core/sock_map.c | 2 +-
net/ipv4/devinet.c | 4 +-
net/ipv4/esp4.c | 2 +-
net/ipv4/fib_frontend.c | 2 +
net/ipv4/route.c | 3 +-
net/ipv4/udp.c | 2 +
net/ipv6/esp6.c | 2 +-
net/ipv6/exthdrs.c | 31 +-
net/ipv6/ip6_tunnel.c | 4 +-
net/mac80211/he.c | 4 +-
net/mac80211/mlme.c | 9 -
net/mac80211/sta_info.c | 5 -
net/mptcp/options.c | 29 +-
net/mptcp/pm_netlink.c | 8 +-
net/mptcp/protocol.c | 5 +
net/mptcp/protocol.h | 10 +
net/mptcp/subflow.c | 53 ++-
net/mptcp/token.c | 6 +-
net/netfilter/nf_tables_api.c | 65 ++-
net/netfilter/nf_tables_offload.c | 34 +-
net/netfilter/nft_exthdr.c | 3 +
net/netfilter/nft_osf.c | 5 +
net/netfilter/nft_tproxy.c | 9 +-
net/netlabel/netlabel_mgmt.c | 19 +-
net/qrtr/ns.c | 4 +-
net/sched/act_vlan.c | 7 +-
net/sched/cls_tcindex.c | 2 +-
net/sched/sch_qfq.c | 8 +-
net/sunrpc/sched.c | 12 +-
net/tipc/bcast.c | 2 +-
net/tipc/msg.c | 17 +-
net/tipc/msg.h | 3 +-
net/tls/tls_sw.c | 2 +-
net/xdp/xsk_queue.h | 11 +-
net/xfrm/xfrm_device.c | 1 +
net/xfrm/xfrm_output.c | 7 -
net/xfrm/xfrm_state.c | 14 +-
samples/bpf/xdp_redirect_user.c | 4 +-
scripts/Makefile.build | 5 +-
scripts/link-vmlinux.sh | 4 +
scripts/tools-support-relr.sh | 3 +-
security/integrity/evm/evm_main.c | 5 +-
security/integrity/evm/evm_secfs.c | 13 +-
security/integrity/ima/ima_appraise.c | 2 -
sound/firewire/amdtp-stream.c | 7 +-
sound/firewire/bebob/bebob_stream.c | 9 +-
sound/firewire/motu/motu-protocol-v2.c | 5 +-
sound/pci/hda/patch_realtek.c | 50 ++-
sound/pci/intel8x0.c | 2 +-
sound/soc/atmel/atmel-i2s.c | 35 +-
sound/soc/codecs/cs42l42.h | 2 +-
sound/soc/codecs/max98373-sdw.c | 14 +-
sound/soc/codecs/max98373.h | 2 +-
sound/soc/codecs/rk3328_codec.c | 28 +-
sound/soc/codecs/rt1308-sdw.c | 2 +-
sound/soc/codecs/rt1316-sdw.c | 2 +-
sound/soc/codecs/rt5682-i2c.c | 1 +
sound/soc/codecs/rt5682-sdw.c | 19 +-
sound/soc/codecs/rt700-sdw.c | 2 +-
sound/soc/codecs/rt711-sdca-sdw.c | 12 +-
sound/soc/codecs/rt711-sdca.c | 4 +
sound/soc/codecs/rt711-sdw.c | 2 +-
sound/soc/codecs/rt715-sdca-sdw.c | 3 +-
sound/soc/codecs/rt715-sdca-sdw.h | 1 +
sound/soc/codecs/rt715-sdca.c | 9 +-
sound/soc/codecs/rt715-sdca.h | 3 +-
sound/soc/codecs/rt715-sdw.c | 2 +-
sound/soc/fsl/fsl_spdif.c | 23 +-
sound/soc/fsl/fsl_xcvr.c | 10 +
sound/soc/hisilicon/hi6210-i2s.c | 14 +-
sound/soc/intel/boards/sof_sdw.c | 16 +-
sound/soc/mediatek/common/mtk-btcvsd.c | 24 +-
sound/soc/sh/rcar/adg.c | 4 +-
sound/usb/format.c | 2 +
sound/usb/mixer.c | 8 +-
sound/usb/mixer.h | 1 +
sound/usb/mixer_scarlett_gen2.c | 7 +-
tools/bpf/bpftool/main.c | 4 +-
tools/bpf/resolve_btfids/main.c | 3 +
tools/lib/bpf/linker.c | 2 +-
tools/objtool/arch/x86/decode.c | 2 +-
tools/perf/util/llvm-utils.c | 2 +
.../util/scripting-engines/trace-event-python.c | 146 +++---
tools/power/x86/intel-speed-select/isst-config.c | 16 +
tools/power/x86/intel-speed-select/isst-core.c | 15 +
tools/power/x86/intel-speed-select/isst-display.c | 2 +-
tools/power/x86/intel-speed-select/isst.h | 2 +
tools/testing/selftests/bpf/.gitignore | 1 +
tools/testing/selftests/bpf/prog_tests/ringbuf.c | 2 +-
.../selftests/bpf/prog_tests/sockmap_listen.c | 7 +-
.../selftests/ftrace/test.d/event/event-no-pid.tc | 7 +
tools/testing/selftests/kvm/dirty_log_test.c | 1 -
tools/testing/selftests/kvm/lib/kvm_util.c | 4 -
tools/testing/selftests/kvm/lib/x86_64/processor.c | 3 +
tools/testing/selftests/kvm/steal_time.c | 2 -
.../testing/selftests/kvm/x86_64/set_boot_cpu_id.c | 2 -
tools/testing/selftests/lkdtm/run.sh | 12 +-
tools/testing/selftests/net/tls.c | 87 ++--
tools/testing/selftests/resctrl/README | 2 +-
tools/testing/selftests/resctrl/resctrl_tests.c | 4 +-
tools/testing/selftests/sgx/load.c | 16 +-
.../testing/selftests/splice/short_splice_read.sh | 119 ++++-
.../selftests/tc-testing/plugin-lib/scapyPlugin.py | 2 +-
tools/testing/selftests/vm/protection_keys.c | 12 +-
834 files changed, 7624 insertions(+), 3977 deletions(-)



2021-07-12 10:51:33

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 017/800] ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too

From: Takashi Iwai <[email protected]>

commit 0ac05b25c3dd8299204ae9d50c1c2f7f05eef08f upstream.

HP Dragonfly G1 (SSID 103c:861f) also requires the same quirk for the
mute and mic-mute LED just as Dragonfly G2 model.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=213329
Cc: <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
sound/pci/hda/patch_realtek.c | 1 +
1 file changed, 1 insertion(+)

--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -8345,6 +8345,7 @@ static const struct snd_pci_quirk alc269
SND_PCI_QUIRK(0x103c, 0x84da, "HP OMEN dc0019-ur", ALC295_FIXUP_HP_OMEN),
SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3),
SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_HP_SPECTRE_X360),
+ SND_PCI_QUIRK(0x103c, 0x861f, "HP Elite Dragonfly G1", ALC285_FIXUP_HP_GPIO_AMP_INIT),
SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED),
SND_PCI_QUIRK(0x103c, 0x86c7, "HP Envy AiO 32", ALC274_FIXUP_HP_ENVY_GPIO),
SND_PCI_QUIRK(0x103c, 0x8716, "HP Elite Dragonfly G2 Notebook PC", ALC285_FIXUP_HP_GPIO_AMP_INIT),


2021-07-12 10:51:34

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 025/800] USB: cdc-acm: blacklist Heimann USB Appset device

From: Hannu Hartikainen <[email protected]>

commit 4897807753e078655a78de39ed76044d784f3e63 upstream.

The device (32a7:0000 Heimann Sensor GmbH USB appset demo) claims to be
a CDC-ACM device in its descriptors but in fact is not. If it is run
with echo disabled it returns garbled data, probably due to something
that happens in the TTY layer. And when run with echo enabled (the
default), it will mess up the calibration data of the sensor the first
time any data is sent to the device.

In short, I had a bad time after connecting the sensor and trying to get
it to work. I hope blacklisting it in the cdc-acm driver will save
someone else a bit of trouble.

Signed-off-by: Hannu Hartikainen <[email protected]>
Cc: stable <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/class/cdc-acm.c | 5 +++++
1 file changed, 5 insertions(+)

--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1959,6 +1959,11 @@ static const struct usb_device_id acm_id
.driver_info = IGNORE_DEVICE,
},

+ /* Exclude Heimann Sensor GmbH USB appset demo */
+ { USB_DEVICE(0x32a7, 0x0000),
+ .driver_info = IGNORE_DEVICE,
+ },
+
/* control interfaces without any protocol set */
{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
USB_CDC_PROTO_NONE) },


2021-07-12 10:51:35

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 028/800] usb: typec: tcpm: Relax disconnect threshold during power negotiation

From: Kyle Tso <[email protected]>

commit 2b537cf877eae6d2f2f102052290676e40b74a1d upstream.

If the voltage is being decreased in power negotiation, the Source will
set the power supply to operate at the new voltage level before sending
PS_RDY. Relax the threshold before sending Request Message so that it
will not race with Source which begins to adjust the voltage right after
it sends Accept Message (PPS) or tSrcTransition (25~35ms) after it sends
Accept Message (non-PPS).

The real threshold will be set after Sink receives PS_RDY Message.

Fixes: f321a02caebd ("usb: typec: tcpm: Implement enabling Auto Discharge disconnect support")
Cc: stable <[email protected]>
Cc: Badhri Jagan Sridharan <[email protected]>
Reviewed-by: Badhri Jagan Sridharan <[email protected]>
Acked-by: Heikki Krogerus <[email protected]>
Signed-off-by: Kyle Tso <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/typec/tcpm/tcpm.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

--- a/drivers/usb/typec/tcpm/tcpm.c
+++ b/drivers/usb/typec/tcpm/tcpm.c
@@ -2576,6 +2576,11 @@ static void tcpm_pd_ctrl_request(struct
} else {
next_state = SNK_WAIT_CAPABILITIES;
}
+
+ /* Threshold was relaxed before sending Request. Restore it back. */
+ tcpm_set_auto_vbus_discharge_threshold(port, TYPEC_PWR_MODE_PD,
+ port->pps_data.active,
+ port->supply_voltage);
tcpm_set_state(port, next_state, 0);
break;
case SNK_NEGOTIATE_PPS_CAPABILITIES:
@@ -2589,6 +2594,11 @@ static void tcpm_pd_ctrl_request(struct
port->send_discover)
port->vdm_sm_running = true;

+ /* Threshold was relaxed before sending Request. Restore it back. */
+ tcpm_set_auto_vbus_discharge_threshold(port, TYPEC_PWR_MODE_PD,
+ port->pps_data.active,
+ port->supply_voltage);
+
tcpm_set_state(port, SNK_READY, 0);
break;
case DR_SWAP_SEND:
@@ -3308,6 +3318,12 @@ static int tcpm_pd_send_request(struct t
if (ret < 0)
return ret;

+ /*
+ * Relax the threshold as voltage will be adjusted after Accept Message plus tSrcTransition.
+ * It is safer to modify the threshold here.
+ */
+ tcpm_set_auto_vbus_discharge_threshold(port, TYPEC_PWR_MODE_USB, false, 0);
+
memset(&msg, 0, sizeof(msg));
msg.header = PD_HEADER_LE(PD_DATA_REQUEST,
port->pwr_role,
@@ -3405,6 +3421,9 @@ static int tcpm_pd_send_pps_request(stru
if (ret < 0)
return ret;

+ /* Relax the threshold as voltage will be adjusted right after Accept Message. */
+ tcpm_set_auto_vbus_discharge_threshold(port, TYPEC_PWR_MODE_USB, false, 0);
+
memset(&msg, 0, sizeof(msg));
msg.header = PD_HEADER_LE(PD_DATA_REQUEST,
port->pwr_role,
@@ -4186,6 +4205,10 @@ static void run_state_machine(struct tcp
port->hard_reset_count = 0;
ret = tcpm_pd_send_request(port);
if (ret < 0) {
+ /* Restore back to the original state */
+ tcpm_set_auto_vbus_discharge_threshold(port, TYPEC_PWR_MODE_PD,
+ port->pps_data.active,
+ port->supply_voltage);
/* Let the Source send capabilities again. */
tcpm_set_state(port, SNK_WAIT_CAPABILITIES, 0);
} else {
@@ -4196,6 +4219,10 @@ static void run_state_machine(struct tcp
case SNK_NEGOTIATE_PPS_CAPABILITIES:
ret = tcpm_pd_send_pps_request(port);
if (ret < 0) {
+ /* Restore back to the original state */
+ tcpm_set_auto_vbus_discharge_threshold(port, TYPEC_PWR_MODE_PD,
+ port->pps_data.active,
+ port->supply_voltage);
port->pps_status = ret;
/*
* If this was called due to updates to sink


2021-07-12 10:51:37

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 029/800] usb: typec: Add the missed altmode_id_remove() in typec_register_altmode()

From: Jing Xiangfeng <[email protected]>

commit 03026197bb657d784220b040c6173267a0375741 upstream.

typec_register_altmode() misses to call altmode_id_remove() in an error
path. Add the missed function call to fix it.

Fixes: 8a37d87d72f0 ("usb: typec: Bus type for alternate modes")
Cc: stable <[email protected]>
Acked-by: Heikki Krogerus <[email protected]>
Signed-off-by: Jing Xiangfeng <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/typec/class.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- a/drivers/usb/typec/class.c
+++ b/drivers/usb/typec/class.c
@@ -517,8 +517,10 @@ typec_register_altmode(struct device *pa
int ret;

alt = kzalloc(sizeof(*alt), GFP_KERNEL);
- if (!alt)
+ if (!alt) {
+ altmode_id_remove(parent, id);
return ERR_PTR(-ENOMEM);
+ }

alt->adev.svid = desc->svid;
alt->adev.mode = desc->mode;


2021-07-12 10:51:53

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 056/800] ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit

From: Zhang Yi <[email protected]>

commit 4fb7c70a889ead2e91e184895ac6e5354b759135 upstream.

The cache_cnt parameter of tracepoint ext4_es_shrink_exit means the
remaining cache count after shrink, but now it is the cache count before
shrink, fix it by read sbi->s_extent_cache_cnt again.

Fixes: 1ab6c4997e04 ("fs: convert fs shrinkers to new scan/count API")
Cc: [email protected] # 3.12+
Signed-off-by: Zhang Yi <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Theodore Ts'o <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
fs/ext4/extents_status.c | 1 +
1 file changed, 1 insertion(+)

--- a/fs/ext4/extents_status.c
+++ b/fs/ext4/extents_status.c
@@ -1579,6 +1579,7 @@ static unsigned long ext4_es_scan(struct

nr_shrunk = __es_shrink(sbi, nr_to_scan, NULL);

+ ret = percpu_counter_read_positive(&sbi->s_es_stats.es_stats_shk_cnt);
trace_ext4_es_shrink_scan_exit(sbi->s_sb, nr_shrunk, ret);
return nr_shrunk;
}


2021-07-12 10:52:02

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 060/800] can: bcm: delay release of struct bcm_op after synchronize_rcu()

From: Thadeu Lima de Souza Cascardo <[email protected]>

commit d5f9023fa61ee8b94f37a93f08e94b136cf1e463 upstream.

can_rx_register() callbacks may be called concurrently to the call to
can_rx_unregister(). The callbacks and callback data, though, are
protected by RCU and the struct sock reference count.

So the callback data is really attached to the life of sk, meaning
that it should be released on sk_destruct. However, bcm_remove_op()
calls tasklet_kill(), and RCU callbacks may be called under RCU
softirq, so that cannot be used on kernels before the introduction of
HRTIMER_MODE_SOFT.

However, bcm_rx_handler() is called under RCU protection, so after
calling can_rx_unregister(), we may call synchronize_rcu() in order to
wait for any RCU read-side critical sections to finish. That is,
bcm_rx_handler() won't be called anymore for those ops. So, we only
free them, after we do that synchronize_rcu().

Fixes: ffd980f976e7 ("[CAN]: Add broadcast manager (bcm) protocol")
Link: https://lore.kernel.org/r/[email protected]
Cc: linux-stable <[email protected]>
Reported-by: [email protected]
Reported-by: Norbert Slusarek <[email protected]>
Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]>
Acked-by: Oliver Hartkopp <[email protected]>
Signed-off-by: Marc Kleine-Budde <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
net/can/bcm.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

--- a/net/can/bcm.c
+++ b/net/can/bcm.c
@@ -785,6 +785,7 @@ static int bcm_delete_rx_op(struct list_
bcm_rx_handler, op);

list_del(&op->list);
+ synchronize_rcu();
bcm_remove_op(op);
return 1; /* done */
}
@@ -1533,9 +1534,13 @@ static int bcm_release(struct socket *so
REGMASK(op->can_id),
bcm_rx_handler, op);

- bcm_remove_op(op);
}

+ synchronize_rcu();
+
+ list_for_each_entry_safe(op, next, &bo->rx_ops, list)
+ bcm_remove_op(op);
+
#if IS_ENABLED(CONFIG_PROC_FS)
/* remove procfs entry */
if (net->can.bcmproc_dir && bo->bcm_proc_read)


2021-07-12 10:52:05

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 065/800] mac80211: remove iwlwifi specific workaround that broke sta NDP tx

From: Felix Fietkau <[email protected]>

commit e41eb3e408de27982a5f8f50b2dd8002bed96908 upstream.

Sending nulldata packets is important for sw AP link probing and detecting
4-address mode links. The checks that dropped these packets were apparently
added to work around an iwlwifi firmware bug with multi-TID aggregation.

Fixes: 41cbb0f5a295 ("mac80211: add support for HE")
Cc: [email protected]
Signed-off-by: Felix Fietkau <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 3 +++
net/mac80211/mlme.c | 9 ---------
2 files changed, 3 insertions(+), 9 deletions(-)

--- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
@@ -1032,6 +1032,9 @@ static int iwl_mvm_tx_mpdu(struct iwl_mv
if (WARN_ON_ONCE(mvmsta->sta_id == IWL_MVM_INVALID_STA))
return -1;

+ if (unlikely(ieee80211_is_any_nullfunc(fc)) && sta->he_cap.has_he)
+ return -1;
+
if (unlikely(ieee80211_is_probe_resp(fc)))
iwl_mvm_probe_resp_set_noa(mvm, skb);

--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1094,11 +1094,6 @@ void ieee80211_send_nullfunc(struct ieee
struct ieee80211_hdr_3addr *nullfunc;
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;

- /* Don't send NDPs when STA is connected HE */
- if (sdata->vif.type == NL80211_IFTYPE_STATION &&
- !(ifmgd->flags & IEEE80211_STA_DISABLE_HE))
- return;
-
skb = ieee80211_nullfunc_get(&local->hw, &sdata->vif,
!ieee80211_hw_check(&local->hw, DOESNT_SUPPORT_QOS_NDP));
if (!skb)
@@ -1130,10 +1125,6 @@ static void ieee80211_send_4addr_nullfun
if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION))
return;

- /* Don't send NDPs when connected HE */
- if (!(sdata->u.mgd.flags & IEEE80211_STA_DISABLE_HE))
- return;
-
skb = dev_alloc_skb(local->hw.extra_tx_headroom + 30);
if (!skb)
return;


2021-07-12 10:52:07

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 064/800] can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path

From: Stephane Grosjean <[email protected]>

commit b17233d385d0b6b43ecf81d43008cb1bbb008166 upstream.

Rather than just indicating that transmission can start, this patch
requires the explicit flushing of the network TX queue when the driver
is informed by the device that it can transmit, next to its
configuration.

In this way, if frames have already been written by the application,
they will actually be transmitted.

Fixes: ffd137f7043c ("can: peak/pcie_fd: remove useless code when interface starts")
Link: https://lore.kernel.org/r/[email protected]
Cc: linux-stable <[email protected]>
Signed-off-by: Stephane Grosjean <[email protected]>
Signed-off-by: Marc Kleine-Budde <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/net/can/peak_canfd/peak_canfd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/net/can/peak_canfd/peak_canfd.c
+++ b/drivers/net/can/peak_canfd/peak_canfd.c
@@ -351,8 +351,8 @@ static int pucan_handle_status(struct pe
return err;
}

- /* start network queue (echo_skb array is empty) */
- netif_start_queue(ndev);
+ /* wake network queue up (echo_skb array is empty) */
+ netif_wake_queue(ndev);

return 0;
}


2021-07-12 10:52:08

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 067/800] SUNRPC: Fix the batch tasks count wraparound.

From: Zhang Xiaoxu <[email protected]>

commit fcb170a9d825d7db4a3fb870b0300f5a40a8d096 upstream.

The 'queue->nr' will wraparound from 0 to 255 when only current
priority queue has tasks. This maybe lead a deadlock same as commit
dfe1fe75e00e ("NFSv4: Fix deadlock between nfs4_evict_inode()
and nfs4_opendata_get_inode()"):

Privileged delegreturn task is queued to privileged list because all
the slots are assigned. When non-privileged task complete and release
the slot, a non-privileged maybe picked out. It maybe allocate slot
failed when the session on draining.

If the 'queue->nr' has wraparound to 255, and no enough slot to
service it, then the privileged delegreturn will lost to wake up.

So we should avoid the wraparound on 'queue->nr'.

Reported-by: Hulk Robot <[email protected]>
Fixes: 5fcdfacc01f3 ("NFSv4: Return delegations synchronously in evict_inode")
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: [email protected]
Signed-off-by: Zhang Xiaoxu <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
net/sunrpc/sched.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -595,7 +595,8 @@ static struct rpc_task *__rpc_find_next_
* Service a batch of tasks from a single owner.
*/
q = &queue->tasks[queue->priority];
- if (!list_empty(q) && --queue->nr) {
+ if (!list_empty(q) && queue->nr) {
+ queue->nr--;
task = list_first_entry(q, struct rpc_task, u.tk_wait.list);
goto out;
}


2021-07-12 10:52:12

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 009/800] ALSA: intel8x0: Fix breakage at ac97 clock measurement

From: Takashi Iwai <[email protected]>

commit 24d1e49415be546470b20429d748e240d0518b7e upstream.

The recent workaround for the wild interrupts in commit c1f0616124c4
("ALSA: intel8x0: Don't update period unless prepared") leaded to a
regression, causing the interrupt storm during ac97 clock measurement
at the driver probe. We need to handle the interrupt while the clock
measurement as well as the proper PCM streams.

Fixes: c1f0616124c4 ("ALSA: intel8x0: Don't update period unless prepared")
Reported-and-tested-by: Max Filippov <[email protected]>
Tested-by: Sergey Senozhatsky <[email protected]>
Cc: <[email protected]>
Link: https://lore.kernel.org/r/CAMo8BfKKMQkcsbOQaeEjq_FsJhdK=fn598dvh7YOcZshUSOH=g@mail.gmail.com
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
sound/pci/intel8x0.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -692,7 +692,7 @@ static inline void snd_intel8x0_update(s
int status, civ, i, step;
int ack = 0;

- if (!ichdev->prepared || ichdev->suspended)
+ if (!(ichdev->prepared || chip->in_measurement) || ichdev->suspended)
return;

spin_lock_irqsave(&chip->reg_lock, flags);


2021-07-12 10:52:13

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 073/800] perf/smmuv3: Dont trample existing events with global filter

From: Robin Murphy <[email protected]>

commit 4c1daba15c209b99d192f147fea3dade30f72ed2 upstream.

With global filtering, we only allow an event to be scheduled if its
filter settings exactly match those of any existing events, therefore
it is pointless to reapply the filter in that case. Much worse, though,
is that in doing that we trample the event type of counter 0 if it's
already active, and never touch the appropriate PMEVTYPERn so the new
event is likely not counting the right thing either. Don't do that.

CC: [email protected]
Signed-off-by: Robin Murphy <[email protected]>
Link: https://lore.kernel.org/r/32c80c0e46237f49ad8da0c9f8864e13c4a803aa.1623153312.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/perf/arm_smmuv3_pmu.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

--- a/drivers/perf/arm_smmuv3_pmu.c
+++ b/drivers/perf/arm_smmuv3_pmu.c
@@ -277,7 +277,7 @@ static int smmu_pmu_apply_event_filter(s
struct perf_event *event, int idx)
{
u32 span, sid;
- unsigned int num_ctrs = smmu_pmu->num_counters;
+ unsigned int cur_idx, num_ctrs = smmu_pmu->num_counters;
bool filter_en = !!get_filter_enable(event);

span = filter_en ? get_filter_span(event) :
@@ -285,17 +285,19 @@ static int smmu_pmu_apply_event_filter(s
sid = filter_en ? get_filter_stream_id(event) :
SMMU_PMCG_DEFAULT_FILTER_SID;

- /* Support individual filter settings */
- if (!smmu_pmu->global_filter) {
+ cur_idx = find_first_bit(smmu_pmu->used_counters, num_ctrs);
+ /*
+ * Per-counter filtering, or scheduling the first globally-filtered
+ * event into an empty PMU so idx == 0 and it works out equivalent.
+ */
+ if (!smmu_pmu->global_filter || cur_idx == num_ctrs) {
smmu_pmu_set_event_filter(event, idx, span, sid);
return 0;
}

- /* Requested settings same as current global settings*/
- idx = find_first_bit(smmu_pmu->used_counters, num_ctrs);
- if (idx == num_ctrs ||
- smmu_pmu_check_global_filter(smmu_pmu->events[idx], event)) {
- smmu_pmu_set_event_filter(event, 0, span, sid);
+ /* Otherwise, must match whatever's currently scheduled */
+ if (smmu_pmu_check_global_filter(smmu_pmu->events[cur_idx], event)) {
+ smmu_pmu_set_evtyper(smmu_pmu, idx, get_event(event));
return 0;
}



2021-07-12 10:52:18

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 058/800] ext4: fix avefreec in find_group_orlov

From: Pan Dong <[email protected]>

commit c89849cc0259f3d33624cc3bd127685c3c0fa25d upstream.

The avefreec should be average free clusters instead
of average free blocks, otherwize Orlov's allocator
will not work properly when bigalloc enabled.

Cc: [email protected]
Signed-off-by: Pan Dong <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Theodore Ts'o <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
fs/ext4/ialloc.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

--- a/fs/ext4/ialloc.c
+++ b/fs/ext4/ialloc.c
@@ -402,7 +402,7 @@ static void get_orlov_stats(struct super
*
* We always try to spread first-level directories.
*
- * If there are blockgroups with both free inodes and free blocks counts
+ * If there are blockgroups with both free inodes and free clusters counts
* not worse than average we return one with smallest directory count.
* Otherwise we simply return a random group.
*
@@ -411,7 +411,7 @@ static void get_orlov_stats(struct super
* It's OK to put directory into a group unless
* it has too many directories already (max_dirs) or
* it has too few free inodes left (min_inodes) or
- * it has too few free blocks left (min_blocks) or
+ * it has too few free clusters left (min_clusters) or
* Parent's group is preferred, if it doesn't satisfy these
* conditions we search cyclically through the rest. If none
* of the groups look good we just look for a group with more
@@ -427,7 +427,7 @@ static int find_group_orlov(struct super
ext4_group_t real_ngroups = ext4_get_groups_count(sb);
int inodes_per_group = EXT4_INODES_PER_GROUP(sb);
unsigned int freei, avefreei, grp_free;
- ext4_fsblk_t freeb, avefreec;
+ ext4_fsblk_t freec, avefreec;
unsigned int ndirs;
int max_dirs, min_inodes;
ext4_grpblk_t min_clusters;
@@ -446,9 +446,8 @@ static int find_group_orlov(struct super

freei = percpu_counter_read_positive(&sbi->s_freeinodes_counter);
avefreei = freei / ngroups;
- freeb = EXT4_C2B(sbi,
- percpu_counter_read_positive(&sbi->s_freeclusters_counter));
- avefreec = freeb;
+ freec = percpu_counter_read_positive(&sbi->s_freeclusters_counter);
+ avefreec = freec;
do_div(avefreec, ngroups);
ndirs = percpu_counter_read_positive(&sbi->s_dirs_counter);



2021-07-12 10:52:23

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 076/800] KVM: x86/mmu: Remove broken WARN that fires on 32-bit KVM w/ nested EPT

From: Sean Christopherson <[email protected]>

commit f0d4379087d8a83f478b371ff7786e8df0cc2314 upstream.

Remove a misguided WARN that attempts to detect the scenario where using
a special A/D tracking flag will set reserved bits on a non-MMIO spte.
The WARN triggers false positives when using EPT with 32-bit KVM because
of the !64-bit clause, which is just flat out wrong. The whole A/D
tracking goo is specific to EPT, and one of the big selling points of EPT
is that EPT is decoupled from the host's native paging mode.

Drop the WARN instead of trying to salvage the check. Keeping a check
specific to A/D tracking bits would essentially regurgitate the same code
that led to KVM needed the tracking bits in the first place.

A better approach would be to add a generic WARN on reserved bits being
set, which would naturally cover the A/D tracking bits, work for all
flavors of paging, and be self-documenting to some extent.

Fixes: 8a406c89532c ("KVM: x86/mmu: Rename and document A/D scheme for TDP SPTEs")
Cc: [email protected]
Signed-off-by: Sean Christopherson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
arch/x86/kvm/mmu/spte.c | 7 -------
1 file changed, 7 deletions(-)

--- a/arch/x86/kvm/mmu/spte.c
+++ b/arch/x86/kvm/mmu/spte.c
@@ -103,13 +103,6 @@ int make_spte(struct kvm_vcpu *vcpu, uns
spte |= SPTE_TDP_AD_WRPROT_ONLY_MASK;

/*
- * Bits 62:52 of PAE SPTEs are reserved. WARN if said bits are set
- * if PAE paging may be employed (shadow paging or any 32-bit KVM).
- */
- WARN_ON_ONCE((!tdp_enabled || !IS_ENABLED(CONFIG_X86_64)) &&
- (spte & SPTE_TDP_AD_MASK));
-
- /*
* For the EPT case, shadow_present_mask is 0 if hardware
* supports exec-only page table entries. In that case,
* ACC_USER_MASK and shadow_user_mask are used to represent


2021-07-12 10:52:23

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 061/800] can: gw: synchronize rcu operations before removing gw job entry

From: Oliver Hartkopp <[email protected]>

commit fb8696ab14adadb2e3f6c17c18ed26b3ecd96691 upstream.

can_can_gw_rcv() is called under RCU protection, so after calling
can_rx_unregister(), we have to call synchronize_rcu in order to wait
for any RCU read-side critical sections to finish before removing the
kmem_cache entry with the referenced gw job entry.

Link: https://lore.kernel.org/r/[email protected]
Fixes: c1aabdf379bc ("can-gw: add netlink based CAN routing")
Cc: linux-stable <[email protected]>
Signed-off-by: Oliver Hartkopp <[email protected]>
Signed-off-by: Marc Kleine-Budde <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
net/can/gw.c | 3 +++
1 file changed, 3 insertions(+)

--- a/net/can/gw.c
+++ b/net/can/gw.c
@@ -596,6 +596,7 @@ static int cgw_notifier(struct notifier_
if (gwj->src.dev == dev || gwj->dst.dev == dev) {
hlist_del(&gwj->list);
cgw_unregister_filter(net, gwj);
+ synchronize_rcu();
kmem_cache_free(cgw_cache, gwj);
}
}
@@ -1154,6 +1155,7 @@ static void cgw_remove_all_jobs(struct n
hlist_for_each_entry_safe(gwj, nx, &net->can.cgw_list, list) {
hlist_del(&gwj->list);
cgw_unregister_filter(net, gwj);
+ synchronize_rcu();
kmem_cache_free(cgw_cache, gwj);
}
}
@@ -1222,6 +1224,7 @@ static int cgw_remove_job(struct sk_buff

hlist_del(&gwj->list);
cgw_unregister_filter(net, gwj);
+ synchronize_rcu();
kmem_cache_free(cgw_cache, gwj);
err = 0;
break;


2021-07-12 10:52:28

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 031/800] mm/page_alloc: fix memory map initialization for descending nodes

From: Mike Rapoport <[email protected]>

commit 122e093c1734361dedb64f65c99b93e28e4624f4 upstream.

On systems with memory nodes sorted in descending order, for instance Dell
Precision WorkStation T5500, the struct pages for higher PFNs and
respectively lower nodes, could be overwritten by the initialization of
struct pages corresponding to the holes in the memory sections.

For example for the below memory layout

[ 0.245624] Early memory node ranges
[ 0.248496] node 1: [mem 0x0000000000001000-0x0000000000090fff]
[ 0.251376] node 1: [mem 0x0000000000100000-0x00000000dbdf8fff]
[ 0.254256] node 1: [mem 0x0000000100000000-0x0000001423ffffff]
[ 0.257144] node 0: [mem 0x0000001424000000-0x0000002023ffffff]

the range 0x1424000000 - 0x1428000000 in the beginning of node 0 starts in
the middle of a section and will be considered as a hole during the
initialization of the last section in node 1.

The wrong initialization of the memory map causes panic on boot when
CONFIG_DEBUG_VM is enabled.

Reorder loop order of the memory map initialization so that the outer loop
will always iterate over populated memory regions in the ascending order
and the inner loop will select the zone corresponding to the PFN range.

This way initialization of the struct pages for the memory holes will be
always done for the ranges that are actually not populated.

[[email protected]: coding style fixes]

Link: https://lkml.kernel.org/r/[email protected]
Link: https://bugzilla.kernel.org/show_bug.cgi?id=213073
Link: https://lkml.kernel.org/r/[email protected]
Fixes: 0740a50b9baa ("mm/page_alloc.c: refactor initialization of struct page for holes in memory layout")
Signed-off-by: Mike Rapoport <[email protected]>
Cc: Boris Petkov <[email protected]>
Cc: Robert Shteynfeld <[email protected]>
Cc: Baoquan He <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
include/linux/mm.h | 1
mm/page_alloc.c | 96 ++++++++++++++++++++++++++++++++---------------------
2 files changed, 59 insertions(+), 38 deletions(-)

--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2474,7 +2474,6 @@ extern void set_dma_reserve(unsigned lon
extern void memmap_init_range(unsigned long, int, unsigned long,
unsigned long, unsigned long, enum meminit_context,
struct vmem_altmap *, int migratetype);
-extern void memmap_init_zone(struct zone *zone);
extern void setup_per_zone_wmarks(void);
extern int __meminit init_per_zone_wmark_min(void);
extern void mem_init(void);
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -6400,7 +6400,7 @@ void __ref memmap_init_zone_device(struc
return;

/*
- * The call to memmap_init_zone should have already taken care
+ * The call to memmap_init should have already taken care
* of the pages reserved for the memmap, so we can just jump to
* the end of that region and start processing the device pages.
*/
@@ -6465,7 +6465,7 @@ static void __meminit zone_init_free_lis
/*
* Only struct pages that correspond to ranges defined by memblock.memory
* are zeroed and initialized by going through __init_single_page() during
- * memmap_init_zone().
+ * memmap_init_zone_range().
*
* But, there could be struct pages that correspond to holes in
* memblock.memory. This can happen because of the following reasons:
@@ -6484,9 +6484,9 @@ static void __meminit zone_init_free_lis
* zone/node above the hole except for the trailing pages in the last
* section that will be appended to the zone/node below.
*/
-static u64 __meminit init_unavailable_range(unsigned long spfn,
- unsigned long epfn,
- int zone, int node)
+static void __init init_unavailable_range(unsigned long spfn,
+ unsigned long epfn,
+ int zone, int node)
{
unsigned long pfn;
u64 pgcnt = 0;
@@ -6502,56 +6502,77 @@ static u64 __meminit init_unavailable_ra
pgcnt++;
}

- return pgcnt;
+ if (pgcnt)
+ pr_info("On node %d, zone %s: %lld pages in unavailable ranges",
+ node, zone_names[zone], pgcnt);
}
#else
-static inline u64 init_unavailable_range(unsigned long spfn, unsigned long epfn,
- int zone, int node)
+static inline void init_unavailable_range(unsigned long spfn,
+ unsigned long epfn,
+ int zone, int node)
{
- return 0;
}
#endif

-void __meminit __weak memmap_init_zone(struct zone *zone)
+static void __init memmap_init_zone_range(struct zone *zone,
+ unsigned long start_pfn,
+ unsigned long end_pfn,
+ unsigned long *hole_pfn)
{
unsigned long zone_start_pfn = zone->zone_start_pfn;
unsigned long zone_end_pfn = zone_start_pfn + zone->spanned_pages;
- int i, nid = zone_to_nid(zone), zone_id = zone_idx(zone);
- static unsigned long hole_pfn;
+ int nid = zone_to_nid(zone), zone_id = zone_idx(zone);
+
+ start_pfn = clamp(start_pfn, zone_start_pfn, zone_end_pfn);
+ end_pfn = clamp(end_pfn, zone_start_pfn, zone_end_pfn);
+
+ if (start_pfn >= end_pfn)
+ return;
+
+ memmap_init_range(end_pfn - start_pfn, nid, zone_id, start_pfn,
+ zone_end_pfn, MEMINIT_EARLY, NULL, MIGRATE_MOVABLE);
+
+ if (*hole_pfn < start_pfn)
+ init_unavailable_range(*hole_pfn, start_pfn, zone_id, nid);
+
+ *hole_pfn = end_pfn;
+}
+
+static void __init memmap_init(void)
+{
unsigned long start_pfn, end_pfn;
- u64 pgcnt = 0;
+ unsigned long hole_pfn = 0;
+ int i, j, zone_id, nid;

- for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) {
- start_pfn = clamp(start_pfn, zone_start_pfn, zone_end_pfn);
- end_pfn = clamp(end_pfn, zone_start_pfn, zone_end_pfn);
+ for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn, &nid) {
+ struct pglist_data *node = NODE_DATA(nid);
+
+ for (j = 0; j < MAX_NR_ZONES; j++) {
+ struct zone *zone = node->node_zones + j;
+
+ if (!populated_zone(zone))
+ continue;

- if (end_pfn > start_pfn)
- memmap_init_range(end_pfn - start_pfn, nid,
- zone_id, start_pfn, zone_end_pfn,
- MEMINIT_EARLY, NULL, MIGRATE_MOVABLE);
-
- if (hole_pfn < start_pfn)
- pgcnt += init_unavailable_range(hole_pfn, start_pfn,
- zone_id, nid);
- hole_pfn = end_pfn;
+ memmap_init_zone_range(zone, start_pfn, end_pfn,
+ &hole_pfn);
+ zone_id = j;
+ }
}

#ifdef CONFIG_SPARSEMEM
/*
- * Initialize the hole in the range [zone_end_pfn, section_end].
- * If zone boundary falls in the middle of a section, this hole
- * will be re-initialized during the call to this function for the
- * higher zone.
+ * Initialize the memory map for hole in the range [memory_end,
+ * section_end].
+ * Append the pages in this hole to the highest zone in the last
+ * node.
+ * The call to init_unavailable_range() is outside the ifdef to
+ * silence the compiler warining about zone_id set but not used;
+ * for FLATMEM it is a nop anyway
*/
- end_pfn = round_up(zone_end_pfn, PAGES_PER_SECTION);
+ end_pfn = round_up(end_pfn, PAGES_PER_SECTION);
if (hole_pfn < end_pfn)
- pgcnt += init_unavailable_range(hole_pfn, end_pfn,
- zone_id, nid);
#endif
-
- if (pgcnt)
- pr_info(" %s zone: %llu pages in unavailable ranges\n",
- zone->name, pgcnt);
+ init_unavailable_range(hole_pfn, end_pfn, zone_id, nid);
}

static int zone_batchsize(struct zone *zone)
@@ -7254,7 +7275,6 @@ static void __init free_area_init_core(s
set_pageblock_order();
setup_usemap(zone);
init_currently_empty_zone(zone, zone->zone_start_pfn, size);
- memmap_init_zone(zone);
}
}

@@ -7780,6 +7800,8 @@ void __init free_area_init(unsigned long
node_set_state(nid, N_MEMORY);
check_for_memory(pgdat, nid);
}
+
+ memmap_init();
}

static int __init cmdline_parse_core(char *p, unsigned long *core,


2021-07-12 10:52:37

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 007/800] ALSA: firewire-motu: fix stream format for MOTU 8pre FireWire

From: Takashi Sakamoto <[email protected]>

commit fc36ef80ca2c68b2c9df06178048f08280e4334f upstream.

My previous refactoring for ALSA firewire-motu driver brought regression
to handle MOTU 8pre FireWire. The packet format is not operated correctly.

Cc: <[email protected]>
Fixes: dfbaa4dc11eb ("ALSA: firewire-motu: add model-specific table of chunk count")
Signed-off-by: Takashi Sakamoto <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
sound/firewire/motu/motu-protocol-v2.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

--- a/sound/firewire/motu/motu-protocol-v2.c
+++ b/sound/firewire/motu/motu-protocol-v2.c
@@ -353,6 +353,7 @@ const struct snd_motu_spec snd_motu_spec
.protocol_version = SND_MOTU_PROTOCOL_V2,
.flags = SND_MOTU_SPEC_RX_MIDI_2ND_Q |
SND_MOTU_SPEC_TX_MIDI_2ND_Q,
- .tx_fixed_pcm_chunks = {10, 6, 0},
- .rx_fixed_pcm_chunks = {10, 6, 0},
+ // Two dummy chunks always in the end of data block.
+ .tx_fixed_pcm_chunks = {10, 10, 0},
+ .rx_fixed_pcm_chunks = {6, 6, 0},
};


2021-07-12 10:52:40

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 074/800] KVM: nVMX: Handle split-lock #AC exceptions that happen in L2

From: Sean Christopherson <[email protected]>

commit b33bb78a1fada6445c265c585ee0dd0fc6279102 upstream.

Mark #ACs that won't be reinjected to the guest as wanted by L0 so that
KVM handles split-lock #AC from L2 instead of forwarding the exception to
L1. Split-lock #AC isn't yet virtualized, i.e. L1 will treat it like a
regular #AC and do the wrong thing, e.g. reinject it into L2.

Fixes: e6f8b6c12f03 ("KVM: VMX: Extend VMXs #AC interceptor to handle split lock #AC in guest")
Cc: Xiaoyao Li <[email protected]>
Signed-off-by: Sean Christopherson <[email protected]>
Message-Id: <[email protected]>
Cc: [email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
arch/x86/kvm/vmx/nested.c | 3 +++
arch/x86/kvm/vmx/vmcs.h | 5 +++++
arch/x86/kvm/vmx/vmx.c | 4 ++--
arch/x86/kvm/vmx/vmx.h | 1 +
4 files changed, 11 insertions(+), 2 deletions(-)

--- a/arch/x86/kvm/vmx/nested.c
+++ b/arch/x86/kvm/vmx/nested.c
@@ -5806,6 +5806,9 @@ static bool nested_vmx_l0_wants_exit(str
else if (is_breakpoint(intr_info) &&
vcpu->guest_debug & KVM_GUESTDBG_USE_SW_BP)
return true;
+ else if (is_alignment_check(intr_info) &&
+ !vmx_guest_inject_ac(vcpu))
+ return true;
return false;
case EXIT_REASON_EXTERNAL_INTERRUPT:
return true;
--- a/arch/x86/kvm/vmx/vmcs.h
+++ b/arch/x86/kvm/vmx/vmcs.h
@@ -117,6 +117,11 @@ static inline bool is_gp_fault(u32 intr_
return is_exception_n(intr_info, GP_VECTOR);
}

+static inline bool is_alignment_check(u32 intr_info)
+{
+ return is_exception_n(intr_info, AC_VECTOR);
+}
+
static inline bool is_machine_check(u32 intr_info)
{
return is_exception_n(intr_info, MC_VECTOR);
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -4829,7 +4829,7 @@ static int handle_machine_check(struct k
* - Guest has #AC detection enabled in CR0
* - Guest EFLAGS has AC bit set
*/
-static inline bool guest_inject_ac(struct kvm_vcpu *vcpu)
+bool vmx_guest_inject_ac(struct kvm_vcpu *vcpu)
{
if (!boot_cpu_has(X86_FEATURE_SPLIT_LOCK_DETECT))
return true;
@@ -4937,7 +4937,7 @@ static int handle_exception_nmi(struct k
kvm_run->debug.arch.exception = ex_no;
break;
case AC_VECTOR:
- if (guest_inject_ac(vcpu)) {
+ if (vmx_guest_inject_ac(vcpu)) {
kvm_queue_exception_e(vcpu, AC_VECTOR, error_code);
return 1;
}
--- a/arch/x86/kvm/vmx/vmx.h
+++ b/arch/x86/kvm/vmx/vmx.h
@@ -387,6 +387,7 @@ void vmx_get_segment(struct kvm_vcpu *vc
void vmx_set_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);
u64 construct_eptp(struct kvm_vcpu *vcpu, hpa_t root_hpa, int root_level);

+bool vmx_guest_inject_ac(struct kvm_vcpu *vcpu);
void vmx_update_exception_bitmap(struct kvm_vcpu *vcpu);
void vmx_update_msr_bitmap(struct kvm_vcpu *vcpu);
bool vmx_nmi_blocked(struct kvm_vcpu *vcpu);


2021-07-12 10:52:43

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 036/800] copy_page_to_iter(): fix ITER_DISCARD case

From: Al Viro <[email protected]>

commit a506abc7b644d71966a75337d5a534f531b3cdc4 upstream.

we need to advance the iterator...

Cc: [email protected]
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
lib/iov_iter.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -967,9 +967,12 @@ size_t copy_page_to_iter(struct page *pa
size_t wanted = copy_to_iter(kaddr + offset, bytes, i);
kunmap_atomic(kaddr);
return wanted;
- } else if (unlikely(iov_iter_is_discard(i)))
+ } else if (unlikely(iov_iter_is_discard(i))) {
+ if (unlikely(i->count < bytes))
+ bytes = i->count;
+ i->count -= bytes;
return bytes;
- else if (likely(!iov_iter_is_pipe(i)))
+ } else if (likely(!iov_iter_is_pipe(i)))
return copy_page_to_iter_iovec(page, offset, bytes, i);
else
return copy_page_to_iter_pipe(page, offset, bytes, i);


2021-07-12 10:52:46

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 039/800] Input: elants_i2c - fix NULL dereference at probing

From: Takashi Iwai <[email protected]>

commit b9c0ebb867d67cc4e9e1a7a2abf0ac9a2cc02051 upstream.

The recent change in elants_i2c driver to support more chips
introduced a regression leading to Oops at probing. The driver reads
id->driver_data, but the id may be NULL depending on the device type
the driver gets bound.

Replace the driver data extraction with the device_get_match_data()
helper, and define the driver data in OF table, too.

Fixes: 9517b95bdc46 ("Input: elants_i2c - add support for eKTF3624")
BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1186454
Signed-off-by: Takashi Iwai <[email protected]>
Cc: <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Dmitry Torokhov <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/input/touchscreen/elants_i2c.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/input/touchscreen/elants_i2c.c
+++ b/drivers/input/touchscreen/elants_i2c.c
@@ -1396,7 +1396,7 @@ static int elants_i2c_probe(struct i2c_c
init_completion(&ts->cmd_done);

ts->client = client;
- ts->chip_id = (enum elants_chip_id)id->driver_data;
+ ts->chip_id = (enum elants_chip_id)(uintptr_t)device_get_match_data(&client->dev);
i2c_set_clientdata(client, ts);

ts->vcc33 = devm_regulator_get(&client->dev, "vcc33");
@@ -1636,8 +1636,8 @@ MODULE_DEVICE_TABLE(acpi, elants_acpi_id

#ifdef CONFIG_OF
static const struct of_device_id elants_of_match[] = {
- { .compatible = "elan,ekth3500" },
- { .compatible = "elan,ektf3624" },
+ { .compatible = "elan,ekth3500", .data = (void *)EKTH3500 },
+ { .compatible = "elan,ektf3624", .data = (void *)EKTF3624 },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, elants_of_match);


2021-07-12 10:52:49

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 080/800] KVM: x86: Force all MMUs to reinitialize if guest CPUID is modified

From: Sean Christopherson <[email protected]>

commit 49c6f8756cdffeb9af1fbcb86bacacced26465d7 upstream.

Invalidate all MMUs' roles after a CPUID update to force reinitizliation
of the MMU context/helpers. Despite the efforts of commit de3ccd26fafc
("KVM: MMU: record maximum physical address width in kvm_mmu_extended_role"),
there are still a handful of CPUID-based properties that affect MMU
behavior but are not incorporated into mmu_role. E.g. 1gb hugepage
support, AMD vs. Intel handling of bit 8, and SEV's C-Bit location all
factor into the guest's reserved PTE bits.

The obvious alternative would be to add all such properties to mmu_role,
but doing so provides no benefit over simply forcing a reinitialization
on every CPUID update, as setting guest CPUID is a rare operation.

Note, reinitializing all MMUs after a CPUID update does not fix all of
KVM's woes. Specifically, kvm_mmu_page_role doesn't track the CPUID
properties, which means that a vCPU can reuse shadow pages that should
not exist for the new vCPU model, e.g. that map GPAs that are now illegal
(due to MAXPHYADDR changes) or that set bits that are now reserved
(PAGE_SIZE for 1gb pages), etc...

Tracking the relevant CPUID properties in kvm_mmu_page_role would address
the majority of problems, but fully tracking that much state in the
shadow page role comes with an unpalatable cost as it would require a
non-trivial increase in KVM's memory footprint. The GBPAGES case is even
worse, as neither Intel nor AMD provides a way to disable 1gb hugepage
support in the hardware page walker, i.e. it's a virtualization hole that
can't be closed when using TDP.

In other words, resetting the MMU after a CPUID update is largely a
superficial fix. But, it will allow reverting the tracking of MAXPHYADDR
in the mmu_role, and that case in particular needs to mostly work because
KVM's shadow_root_level depends on guest MAXPHYADDR when 5-level paging
is supported. For cases where KVM botches guest behavior, the damage is
limited to that guest. But for the shadow_root_level, a misconfigured
MMU can cause KVM to incorrectly access memory, e.g. due to walking off
the end of its shadow page tables.

Fixes: 7dcd57552008 ("x86/kvm/mmu: check if tdp/shadow MMU reconfiguration is needed")
Cc: Yu Zhang <[email protected]>
Cc: [email protected]
Signed-off-by: Sean Christopherson <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
arch/x86/include/asm/kvm_host.h | 1 +
arch/x86/kvm/cpuid.c | 6 +++---
arch/x86/kvm/mmu/mmu.c | 12 ++++++++++++
3 files changed, 16 insertions(+), 3 deletions(-)

--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1464,6 +1464,7 @@ int kvm_mmu_create(struct kvm_vcpu *vcpu
void kvm_mmu_init_vm(struct kvm *kvm);
void kvm_mmu_uninit_vm(struct kvm *kvm);

+void kvm_mmu_after_set_cpuid(struct kvm_vcpu *vcpu);
void kvm_mmu_reset_context(struct kvm_vcpu *vcpu);
void kvm_mmu_slot_remove_write_access(struct kvm *kvm,
struct kvm_memory_slot *memslot,
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -202,10 +202,10 @@ static void kvm_vcpu_after_set_cpuid(str
static_call(kvm_x86_vcpu_after_set_cpuid)(vcpu);

/*
- * Except for the MMU, which needs to be reset after any vendor
- * specific adjustments to the reserved GPA bits.
+ * Except for the MMU, which needs to do its thing any vendor specific
+ * adjustments to the reserved GPA bits.
*/
- kvm_mmu_reset_context(vcpu);
+ kvm_mmu_after_set_cpuid(vcpu);
}

static int is_efer_nx(void)
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -4859,6 +4859,18 @@ kvm_mmu_calc_root_page_role(struct kvm_v
return role.base;
}

+void kvm_mmu_after_set_cpuid(struct kvm_vcpu *vcpu)
+{
+ /*
+ * Invalidate all MMU roles to force them to reinitialize as CPUID
+ * information is factored into reserved bit calculations.
+ */
+ vcpu->arch.root_mmu.mmu_role.ext.valid = 0;
+ vcpu->arch.guest_mmu.mmu_role.ext.valid = 0;
+ vcpu->arch.nested_mmu.mmu_role.ext.valid = 0;
+ kvm_mmu_reset_context(vcpu);
+}
+
void kvm_mmu_reset_context(struct kvm_vcpu *vcpu)
{
kvm_mmu_unload(vcpu);


2021-07-12 10:52:56

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 175/800] media: dvd_usb: memory leak in cinergyt2_fe_attach

From: Dongliang Mu <[email protected]>

[ Upstream commit 9ad1efee086e0e913914fa2b2173efb830bad68c ]

When the driver fails to talk with the hardware with dvb_usb_generic_rw,
it will return an error to dvb_usb_adapter_frontend_init. However, the
driver forgets to free the resource (e.g., struct cinergyt2_fe_state),
which leads to a memory leak.

Fix this by freeing struct cinergyt2_fe_state when dvb_usb_generic_rw
fails in cinergyt2_frontend_attach.

backtrace:
[<0000000056e17b1a>] kmalloc include/linux/slab.h:552 [inline]
[<0000000056e17b1a>] kzalloc include/linux/slab.h:682 [inline]
[<0000000056e17b1a>] cinergyt2_fe_attach+0x21/0x80 drivers/media/usb/dvb-usb/cinergyT2-fe.c:271
[<00000000ae0b1711>] cinergyt2_frontend_attach+0x21/0x70 drivers/media/usb/dvb-usb/cinergyT2-core.c:74
[<00000000d0254861>] dvb_usb_adapter_frontend_init+0x11b/0x1b0 drivers/media/usb/dvb-usb/dvb-usb-dvb.c:290
[<0000000002e08ac6>] dvb_usb_adapter_init drivers/media/usb/dvb-usb/dvb-usb-init.c:84 [inline]
[<0000000002e08ac6>] dvb_usb_init drivers/media/usb/dvb-usb/dvb-usb-init.c:173 [inline]
[<0000000002e08ac6>] dvb_usb_device_init.cold+0x4d0/0x6ae drivers/media/usb/dvb-usb/dvb-usb-init.c:287

Reported-by: [email protected]
Signed-off-by: Dongliang Mu <[email protected]>
Signed-off-by: Sean Young <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/media/usb/dvb-usb/cinergyT2-core.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/media/usb/dvb-usb/cinergyT2-core.c b/drivers/media/usb/dvb-usb/cinergyT2-core.c
index 969a7ec71dff..4116ba5c45fc 100644
--- a/drivers/media/usb/dvb-usb/cinergyT2-core.c
+++ b/drivers/media/usb/dvb-usb/cinergyT2-core.c
@@ -78,6 +78,8 @@ static int cinergyt2_frontend_attach(struct dvb_usb_adapter *adap)

ret = dvb_usb_generic_rw(d, st->data, 1, st->data, 3, 0);
if (ret < 0) {
+ if (adap->fe_adap[0].fe)
+ adap->fe_adap[0].fe->ops.release(adap->fe_adap[0].fe);
deb_rc("cinergyt2_power_ctrl() Failed to retrieve sleep state info\n");
}
mutex_unlock(&d->data_mutex);
--
2.30.2



2021-07-12 10:53:06

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 167/800] media: hantro: Fix .buf_prepare

From: Andrzej Pietrasiewicz <[email protected]>

[ Upstream commit 082aaecff35fbe1937531057911b1dd1fc6b496e ]

The driver should only set the payload on .buf_prepare if the
buffer is CAPTURE type. If an OUTPUT buffer has a zero bytesused
set by userspace then v4l2-core will set it to buffer length.

If we overwrite bytesused for OUTPUT buffers, too, then
vb2_get_plane_payload() will return incorrect value which might be then
written to hw registers by the driver in hantro_g1_h264_dec.c.

Signed-off-by: Andrzej Pietrasiewicz <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/staging/media/hantro/hantro_v4l2.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/hantro/hantro_v4l2.c b/drivers/staging/media/hantro/hantro_v4l2.c
index 1bc118e375a1..7ccc6405036a 100644
--- a/drivers/staging/media/hantro/hantro_v4l2.c
+++ b/drivers/staging/media/hantro/hantro_v4l2.c
@@ -639,7 +639,14 @@ static int hantro_buf_prepare(struct vb2_buffer *vb)
ret = hantro_buf_plane_check(vb, pix_fmt);
if (ret)
return ret;
- vb2_set_plane_payload(vb, 0, pix_fmt->plane_fmt[0].sizeimage);
+ /*
+ * Buffer's bytesused must be written by driver for CAPTURE buffers.
+ * (for OUTPUT buffers, if userspace passes 0 bytesused, v4l2-core sets
+ * it to buffer length).
+ */
+ if (V4L2_TYPE_IS_CAPTURE(vq->type))
+ vb2_set_plane_payload(vb, 0, pix_fmt->plane_fmt[0].sizeimage);
+
return 0;
}

--
2.30.2



2021-07-12 10:53:30

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 154/800] media: pvrusb2: fix warning in pvr2_i2c_core_done

From: Anirudh Rayabharam <[email protected]>

[ Upstream commit f8194e5e63fdcb349e8da9eef9e574d5b1d687cb ]

syzbot has reported the following warning in pvr2_i2c_done:

sysfs group 'power' not found for kobject '1-0043'

When the device is disconnected (pvr_hdw_disconnect), the i2c adapter is
not unregistered along with the USB and v4l2 teardown. As part of the USB
device disconnect, the sysfs files of the subdevices are also deleted.
So, by the time pvr_i2c_core_done is called by pvr_context_destroy, the
sysfs files have been deleted.

To fix this, unregister the i2c adapter too in pvr_hdw_disconnect. Make
the device deregistration code shared by calling pvr_hdw_disconnect from
pvr2_hdw_destroy.

Reported-by: [email protected]
Tested-by: [email protected]
Reviewed-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Anirudh Rayabharam <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
index f4a727918e35..d38dee1792e4 100644
--- a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
@@ -2676,9 +2676,8 @@ void pvr2_hdw_destroy(struct pvr2_hdw *hdw)
pvr2_stream_destroy(hdw->vid_stream);
hdw->vid_stream = NULL;
}
- pvr2_i2c_core_done(hdw);
v4l2_device_unregister(&hdw->v4l2_dev);
- pvr2_hdw_remove_usb_stuff(hdw);
+ pvr2_hdw_disconnect(hdw);
mutex_lock(&pvr2_unit_mtx);
do {
if ((hdw->unit_number >= 0) &&
@@ -2705,6 +2704,7 @@ void pvr2_hdw_disconnect(struct pvr2_hdw *hdw)
{
pvr2_trace(PVR2_TRACE_INIT,"pvr2_hdw_disconnect(hdw=%p)",hdw);
LOCK_TAKE(hdw->big_lock);
+ pvr2_i2c_core_done(hdw);
LOCK_TAKE(hdw->ctl_lock);
pvr2_hdw_remove_usb_stuff(hdw);
LOCK_GIVE(hdw->ctl_lock);
--
2.30.2



2021-07-12 10:53:37

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 169/800] media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release

From: Lv Yunlong <[email protected]>

[ Upstream commit 7dd0c9e547b6924e18712b6b51aa3cba1896ee2c ]

A use after free bug caused by the dangling pointer
filp->privitate_data in v4l2_fh_release.
See https://lore.kernel.org/patchwork/patch/1419058/.

My patch sets the dangling pointer to NULL to provide
robust.

Signed-off-by: Lv Yunlong <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/media/v4l2-core/v4l2-fh.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/media/v4l2-core/v4l2-fh.c b/drivers/media/v4l2-core/v4l2-fh.c
index 684574f58e82..90eec79ee995 100644
--- a/drivers/media/v4l2-core/v4l2-fh.c
+++ b/drivers/media/v4l2-core/v4l2-fh.c
@@ -96,6 +96,7 @@ int v4l2_fh_release(struct file *filp)
v4l2_fh_del(fh);
v4l2_fh_exit(fh);
kfree(fh);
+ filp->private_data = NULL;
}
return 0;
}
--
2.30.2



2021-07-12 10:53:45

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 166/800] media: em28xx: Fix possible memory leak of em28xx struct

From: Igor Matheus Andrade Torrente <[email protected]>

[ Upstream commit ac5688637144644f06ed1f3c6d4dd8bb7db96020 ]

The em28xx struct kref isn't being decreased after an error in the
em28xx_ir_init, leading to a possible memory leak.

A kref_put and em28xx_shutdown_buttons is added to the error handler code.

Signed-off-by: Igor Matheus Andrade Torrente <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/media/usb/em28xx/em28xx-input.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/media/usb/em28xx/em28xx-input.c b/drivers/media/usb/em28xx/em28xx-input.c
index 5aa15a7a49de..59529cbf9cd0 100644
--- a/drivers/media/usb/em28xx/em28xx-input.c
+++ b/drivers/media/usb/em28xx/em28xx-input.c
@@ -720,7 +720,8 @@ static int em28xx_ir_init(struct em28xx *dev)
dev->board.has_ir_i2c = 0;
dev_warn(&dev->intf->dev,
"No i2c IR remote control device found.\n");
- return -ENODEV;
+ err = -ENODEV;
+ goto ref_put;
}
}

@@ -735,7 +736,7 @@ static int em28xx_ir_init(struct em28xx *dev)

ir = kzalloc(sizeof(*ir), GFP_KERNEL);
if (!ir)
- return -ENOMEM;
+ goto ref_put;
rc = rc_allocate_device(RC_DRIVER_SCANCODE);
if (!rc)
goto error;
@@ -839,6 +840,9 @@ error:
dev->ir = NULL;
rc_free_device(rc);
kfree(ir);
+ref_put:
+ em28xx_shutdown_buttons(dev);
+ kref_put(&dev->ref, em28xx_free_device);
return err;
}

--
2.30.2



2021-07-12 10:53:54

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 177/800] mmc: sdhci-sprd: use sdhci_sprd_writew

From: Krzysztof Kozlowski <[email protected]>

[ Upstream commit 961470820021e6f9d74db4837bd6831a1a30341b ]

The sdhci_sprd_writew() was defined by never used in sdhci_ops:

drivers/mmc/host/sdhci-sprd.c:134:20: warning: unused function 'sdhci_sprd_writew'

Reported-by: kernel test robot <[email protected]>
Signed-off-by: Krzysztof Kozlowski <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Ulf Hansson <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/mmc/host/sdhci-sprd.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c
index 5dc36efff47f..11e375579cfb 100644
--- a/drivers/mmc/host/sdhci-sprd.c
+++ b/drivers/mmc/host/sdhci-sprd.c
@@ -393,6 +393,7 @@ static void sdhci_sprd_request_done(struct sdhci_host *host,
static struct sdhci_ops sdhci_sprd_ops = {
.read_l = sdhci_sprd_readl,
.write_l = sdhci_sprd_writel,
+ .write_w = sdhci_sprd_writew,
.write_b = sdhci_sprd_writeb,
.set_clock = sdhci_sprd_set_clock,
.get_max_clock = sdhci_sprd_get_max_clock,
--
2.30.2



2021-07-12 10:53:57

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 190/800] sched/fair: Take thermal pressure into account while estimating energy

From: Lukasz Luba <[email protected]>

[ Upstream commit 489f16459e0008c7a5c4c5af34bd80898aa82c2d ]

Energy Aware Scheduling (EAS) needs to be able to predict the frequency
requests made by the SchedUtil governor to properly estimate energy used
in the future. It has to take into account CPUs utilization and forecast
Performance Domain (PD) frequency. There is a corner case when the max
allowed frequency might be reduced due to thermal. SchedUtil is aware of
that reduced frequency, so it should be taken into account also in EAS
estimations.

SchedUtil, as a CPUFreq governor, knows the maximum allowed frequency of
a CPU, thanks to cpufreq_driver_resolve_freq() and internal clamping
to 'policy::max'. SchedUtil is responsible to respect that upper limit
while setting the frequency through CPUFreq drivers. This effective
frequency is stored internally in 'sugov_policy::next_freq' and EAS has
to predict that value.

In the existing code the raw value of arch_scale_cpu_capacity() is used
for clamping the returned CPU utilization from effective_cpu_util().
This patch fixes issue with too big single CPU utilization, by introducing
clamping to the allowed CPU capacity. The allowed CPU capacity is a CPU
capacity reduced by thermal pressure raw value.

Thanks to knowledge about allowed CPU capacity, we don't get too big value
for a single CPU utilization, which is then added to the util sum. The
util sum is used as a source of information for estimating whole PD energy.
To avoid wrong energy estimation in EAS (due to capped frequency), make
sure that the calculation of util sum is aware of allowed CPU capacity.

This thermal pressure might be visible in scenarios where the CPUs are not
heavily loaded, but some other component (like GPU) drastically reduced
available power budget and increased the SoC temperature. Thus, we still
use EAS for task placement and CPUs are not over-utilized.

Signed-off-by: Lukasz Luba <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Reviewed-by: Vincent Guittot <[email protected]>
Reviewed-by: Dietmar Eggemann <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sasha Levin <[email protected]>
---
kernel/sched/fair.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 190ae8004a22..e807b743353d 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6620,8 +6620,11 @@ compute_energy(struct task_struct *p, int dst_cpu, struct perf_domain *pd)
struct cpumask *pd_mask = perf_domain_span(pd);
unsigned long cpu_cap = arch_scale_cpu_capacity(cpumask_first(pd_mask));
unsigned long max_util = 0, sum_util = 0;
+ unsigned long _cpu_cap = cpu_cap;
int cpu;

+ _cpu_cap -= arch_scale_thermal_pressure(cpumask_first(pd_mask));
+
/*
* The capacity state of CPUs of the current rd can be driven by CPUs
* of another rd if they belong to the same pd. So, account for the
@@ -6657,8 +6660,10 @@ compute_energy(struct task_struct *p, int dst_cpu, struct perf_domain *pd)
* is already enough to scale the EM reported power
* consumption at the (eventually clamped) cpu_capacity.
*/
- sum_util += effective_cpu_util(cpu, util_running, cpu_cap,
- ENERGY_UTIL, NULL);
+ cpu_util = effective_cpu_util(cpu, util_running, cpu_cap,
+ ENERGY_UTIL, NULL);
+
+ sum_util += min(cpu_util, _cpu_cap);

/*
* Performance domain frequency: utilization clamping
@@ -6669,7 +6674,7 @@ compute_energy(struct task_struct *p, int dst_cpu, struct perf_domain *pd)
*/
cpu_util = effective_cpu_util(cpu, util_freq, cpu_cap,
FREQUENCY_UTIL, tsk);
- max_util = max(max_util, cpu_util);
+ max_util = max(max_util, min(cpu_util, _cpu_cap));
}

return em_cpu_energy(pd->em_pd, max_util, sum_util);
--
2.30.2



2021-07-12 10:53:59

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 472/800] netlabel: Fix memory leak in netlbl_mgmt_add_common

From: Liu Shixin <[email protected]>

[ Upstream commit b8f6b0522c298ae9267bd6584e19b942a0636910 ]

Hulk Robot reported memory leak in netlbl_mgmt_add_common.
The problem is non-freed map in case of netlbl_domhsh_add() failed.

BUG: memory leak
unreferenced object 0xffff888100ab7080 (size 96):
comm "syz-executor537", pid 360, jiffies 4294862456 (age 22.678s)
hex dump (first 32 bytes):
05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 ................
backtrace:
[<0000000008b40026>] netlbl_mgmt_add_common.isra.0+0xb2a/0x1b40
[<000000003be10950>] netlbl_mgmt_add+0x271/0x3c0
[<00000000c70487ed>] genl_family_rcv_msg_doit.isra.0+0x20e/0x320
[<000000001f2ff614>] genl_rcv_msg+0x2bf/0x4f0
[<0000000089045792>] netlink_rcv_skb+0x134/0x3d0
[<0000000020e96fdd>] genl_rcv+0x24/0x40
[<0000000042810c66>] netlink_unicast+0x4a0/0x6a0
[<000000002e1659f0>] netlink_sendmsg+0x789/0xc70
[<000000006e43415f>] sock_sendmsg+0x139/0x170
[<00000000680a73d7>] ____sys_sendmsg+0x658/0x7d0
[<0000000065cbb8af>] ___sys_sendmsg+0xf8/0x170
[<0000000019932b6c>] __sys_sendmsg+0xd3/0x190
[<00000000643ac172>] do_syscall_64+0x37/0x90
[<000000009b79d6dc>] entry_SYSCALL_64_after_hwframe+0x44/0xae

Fixes: 63c416887437 ("netlabel: Add network address selectors to the NetLabel/LSM domain mapping")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Liu Shixin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
net/netlabel/netlabel_mgmt.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/net/netlabel/netlabel_mgmt.c b/net/netlabel/netlabel_mgmt.c
index ca52f5085989..e51ab37bbb03 100644
--- a/net/netlabel/netlabel_mgmt.c
+++ b/net/netlabel/netlabel_mgmt.c
@@ -76,6 +76,7 @@ static const struct nla_policy netlbl_mgmt_genl_policy[NLBL_MGMT_A_MAX + 1] = {
static int netlbl_mgmt_add_common(struct genl_info *info,
struct netlbl_audit *audit_info)
{
+ void *pmap = NULL;
int ret_val = -EINVAL;
struct netlbl_domaddr_map *addrmap = NULL;
struct cipso_v4_doi *cipsov4 = NULL;
@@ -175,6 +176,7 @@ static int netlbl_mgmt_add_common(struct genl_info *info,
ret_val = -ENOMEM;
goto add_free_addrmap;
}
+ pmap = map;
map->list.addr = addr->s_addr & mask->s_addr;
map->list.mask = mask->s_addr;
map->list.valid = 1;
@@ -183,10 +185,8 @@ static int netlbl_mgmt_add_common(struct genl_info *info,
map->def.cipso = cipsov4;

ret_val = netlbl_af4list_add(&map->list, &addrmap->list4);
- if (ret_val != 0) {
- kfree(map);
- goto add_free_addrmap;
- }
+ if (ret_val != 0)
+ goto add_free_map;

entry->family = AF_INET;
entry->def.type = NETLBL_NLTYPE_ADDRSELECT;
@@ -223,6 +223,7 @@ static int netlbl_mgmt_add_common(struct genl_info *info,
ret_val = -ENOMEM;
goto add_free_addrmap;
}
+ pmap = map;
map->list.addr = *addr;
map->list.addr.s6_addr32[0] &= mask->s6_addr32[0];
map->list.addr.s6_addr32[1] &= mask->s6_addr32[1];
@@ -235,10 +236,8 @@ static int netlbl_mgmt_add_common(struct genl_info *info,
map->def.calipso = calipso;

ret_val = netlbl_af6list_add(&map->list, &addrmap->list6);
- if (ret_val != 0) {
- kfree(map);
- goto add_free_addrmap;
- }
+ if (ret_val != 0)
+ goto add_free_map;

entry->family = AF_INET6;
entry->def.type = NETLBL_NLTYPE_ADDRSELECT;
@@ -248,10 +247,12 @@ static int netlbl_mgmt_add_common(struct genl_info *info,

ret_val = netlbl_domhsh_add(entry, audit_info);
if (ret_val != 0)
- goto add_free_addrmap;
+ goto add_free_map;

return 0;

+add_free_map:
+ kfree(pmap);
add_free_addrmap:
kfree(addrmap);
add_doi_put_def:
--
2.30.2



2021-07-12 10:53:59

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 180/800] spi: meson-spicc: fix a wrong goto jump for avoiding memory leak.

From: zpershuai <[email protected]>

[ Upstream commit 95730d5eb73170a6d225a9998c478be273598634 ]

In meson_spifc_probe function, when enable the device pclk clock is
error, it should use clk_disable_unprepare to release the core clock.

Signed-off-by: zpershuai <[email protected]>
Reviewed-by: Neil Armstrong <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/spi/spi-meson-spicc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/spi-meson-spicc.c b/drivers/spi/spi-meson-spicc.c
index ecba6b4a5d85..51aef2c6e966 100644
--- a/drivers/spi/spi-meson-spicc.c
+++ b/drivers/spi/spi-meson-spicc.c
@@ -725,7 +725,7 @@ static int meson_spicc_probe(struct platform_device *pdev)
ret = clk_prepare_enable(spicc->pclk);
if (ret) {
dev_err(&pdev->dev, "pclk clock enable failed\n");
- goto out_master;
+ goto out_core_clk;
}

device_reset_optional(&pdev->dev);
@@ -764,9 +764,11 @@ static int meson_spicc_probe(struct platform_device *pdev)
return 0;

out_clk:
- clk_disable_unprepare(spicc->core);
clk_disable_unprepare(spicc->pclk);

+out_core_clk:
+ clk_disable_unprepare(spicc->core);
+
out_master:
spi_master_put(master);

--
2.30.2



2021-07-12 10:54:06

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 188/800] hwmon: (max31790) Report correct current pwm duty cycles

From: Guenter Roeck <[email protected]>

[ Upstream commit 897f6339893b741a5d68ae8e2475df65946041c2 ]

The MAX31790 has two sets of registers for pwm duty cycles, one to request
a duty cycle and one to read the actual current duty cycle. Both do not
have to be the same.

When reporting the pwm duty cycle to the user, the actual pwm duty cycle
from pwm duty cycle registers needs to be reported. When setting it, the
pwm target duty cycle needs to be written. Since we don't know the actual
pwm duty cycle after a target pwm duty cycle has been written, set the
valid flag to false to indicate that actual pwm duty cycle should be read
from the chip instead of using cached values.

Cc: Jan Kundrát <[email protected]>
Cc: Václav Kubernát <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
Tested-by: Václav Kubernát <[email protected]>
Reviewed-by: Jan Kundrát <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sasha Levin <[email protected]>
---
Documentation/hwmon/max31790.rst | 3 ++-
drivers/hwmon/max31790.c | 6 +++---
2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/Documentation/hwmon/max31790.rst b/Documentation/hwmon/max31790.rst
index f301385d8cef..54ff0f49e28f 100644
--- a/Documentation/hwmon/max31790.rst
+++ b/Documentation/hwmon/max31790.rst
@@ -39,5 +39,6 @@ fan[1-12]_input RO fan tachometer speed in RPM
fan[1-12]_fault RO fan experienced fault
fan[1-6]_target RW desired fan speed in RPM
pwm[1-6]_enable RW regulator mode, 0=disabled, 1=manual mode, 2=rpm mode
-pwm[1-6] RW fan target duty cycle (0-255)
+pwm[1-6] RW read: current pwm duty cycle,
+ write: target pwm duty cycle (0-255)
================== === =======================================================
diff --git a/drivers/hwmon/max31790.c b/drivers/hwmon/max31790.c
index 86e6c71db685..8ad7a45bfe68 100644
--- a/drivers/hwmon/max31790.c
+++ b/drivers/hwmon/max31790.c
@@ -104,7 +104,7 @@ static struct max31790_data *max31790_update_device(struct device *dev)
data->tach[NR_CHANNEL + i] = rv;
} else {
rv = i2c_smbus_read_word_swapped(client,
- MAX31790_REG_PWMOUT(i));
+ MAX31790_REG_PWM_DUTY_CYCLE(i));
if (rv < 0)
goto abort;
data->pwm[i] = rv;
@@ -299,10 +299,10 @@ static int max31790_write_pwm(struct device *dev, u32 attr, int channel,
err = -EINVAL;
break;
}
- data->pwm[channel] = val << 8;
+ data->valid = false;
err = i2c_smbus_write_word_swapped(client,
MAX31790_REG_PWMOUT(channel),
- data->pwm[channel]);
+ val << 8);
break;
case hwmon_pwm_enable:
fan_config = data->fan_config[channel];
--
2.30.2



2021-07-12 10:54:12

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 181/800] spi: meson-spicc: fix memory leak in meson_spicc_probe

From: zpershuai <[email protected]>

[ Upstream commit b2d501c13470409ee7613855b17e5e5ec4111e1c ]

when meson_spicc_clk_init returns failed, it should goto the
out_clk label.

Signed-off-by: zpershuai <[email protected]>
Reviewed-by: Neil Armstrong <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/spi/spi-meson-spicc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/spi/spi-meson-spicc.c b/drivers/spi/spi-meson-spicc.c
index 51aef2c6e966..b2c4621db34d 100644
--- a/drivers/spi/spi-meson-spicc.c
+++ b/drivers/spi/spi-meson-spicc.c
@@ -752,7 +752,7 @@ static int meson_spicc_probe(struct platform_device *pdev)
ret = meson_spicc_clk_init(spicc);
if (ret) {
dev_err(&pdev->dev, "clock registration failed\n");
- goto out_master;
+ goto out_clk;
}

ret = devm_spi_register_master(&pdev->dev, master);
--
2.30.2



2021-07-12 10:54:25

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 182/800] regulator: mt6315: Fix checking return value of devm_regmap_init_spmi_ext

From: Axel Lin <[email protected]>

[ Upstream commit 70d654ea3de937d7754c107bb8eeb20e30262c89 ]

devm_regmap_init_spmi_ext() returns ERR_PTR() on error.

Signed-off-by: Axel Lin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/regulator/mt6315-regulator.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/regulator/mt6315-regulator.c b/drivers/regulator/mt6315-regulator.c
index 6b8be52c3772..7514702f78cf 100644
--- a/drivers/regulator/mt6315-regulator.c
+++ b/drivers/regulator/mt6315-regulator.c
@@ -223,8 +223,8 @@ static int mt6315_regulator_probe(struct spmi_device *pdev)
int i;

regmap = devm_regmap_init_spmi_ext(pdev, &mt6315_regmap_config);
- if (!regmap)
- return -ENODEV;
+ if (IS_ERR(regmap))
+ return PTR_ERR(regmap);

chip = devm_kzalloc(dev, sizeof(struct mt6315_chip), GFP_KERNEL);
if (!chip)
--
2.30.2



2021-07-12 10:54:26

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 429/800] RDMA/rtrs-clt: Check state of the rtrs_clt_sess before reading its stats

From: Md Haris Iqbal <[email protected]>

[ Upstream commit 41db63a7efe1c8c2dd282c1849a6ebfbbedbaf67 ]

When get_next_path_min_inflight is called to select the next path, it
iterates over the list of available rtrs_clt_sess (paths). It then reads
the number of inflight IOs for that path to select one which has the least
inflight IO.

But it may so happen that rtrs_clt_sess (path) is no longer in the
connected state because closing or error recovery paths can change the status
of the rtrs_clt_Sess.

For example, the client sent the heart-beat and did not get the
response, it would change the session status and stop IO processing.
The added checking of this patch can prevent accessing the broken path
and generating duplicated error messages.

It is ok if the status is changed after checking the status because
the error recovery path does not free memory and only tries to
reconnection. And also it is ok if the session is closed after checking
the status because closing the session changes the session status and
flush all IO beforing free memory. If the session is being accessed for
IO processing, the closing session will wait.

Fixes: 6a98d71daea18 ("RDMA/rtrs: client: main functionality")
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Md Haris Iqbal <[email protected]>
Reviewed-by: Gioh Kim <[email protected]>
Signed-off-by: Gioh Kim <[email protected]>
Signed-off-by: Jason Gunthorpe <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/infiniband/ulp/rtrs/rtrs-clt.c b/drivers/infiniband/ulp/rtrs/rtrs-clt.c
index 0a794d748a7a..a563c9b9d52c 100644
--- a/drivers/infiniband/ulp/rtrs/rtrs-clt.c
+++ b/drivers/infiniband/ulp/rtrs/rtrs-clt.c
@@ -814,6 +814,9 @@ static struct rtrs_clt_sess *get_next_path_min_inflight(struct path_it *it)
int inflight;

list_for_each_entry_rcu(sess, &clt->paths_list, s.entry) {
+ if (unlikely(READ_ONCE(sess->state) != RTRS_CLT_CONNECTED))
+ continue;
+
if (unlikely(!list_empty(raw_cpu_ptr(sess->mp_skip_entry))))
continue;

--
2.30.2



2021-07-12 10:54:46

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 551/800] drm/msm/dpu: Fix error return code in dpu_mdss_init()

From: Zhen Lei <[email protected]>

[ Upstream commit e020ac961ce5d038de66dc7f6ffca98899e9a3f3 ]

The error code returned by platform_get_irq() is stored in 'irq', it's
forgotten to be copied to 'ret' before being returned. As a result, the
value 0 of 'ret' is returned incorrectly.

After the above fix is completed, initializing the local variable 'ret'
to 0 is no longer needed, remove it.

In addition, when dpu_mdss_init() is successfully returned, the value of
'ret' is always 0. Therefore, replace "return ret" with "return 0" to make
the code clearer.

Fixes: 070e64dc1bbc ("drm/msm/dpu: Convert to a chained irq chip")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Zhen Lei <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Reviewed-by: Stephen Boyd <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Rob Clark <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c
index 06b56fec04e0..6b0a7bc87eb7 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c
@@ -225,7 +225,7 @@ int dpu_mdss_init(struct drm_device *dev)
struct msm_drm_private *priv = dev->dev_private;
struct dpu_mdss *dpu_mdss;
struct dss_module_power *mp;
- int ret = 0;
+ int ret;
int irq;

dpu_mdss = devm_kzalloc(dev->dev, sizeof(*dpu_mdss), GFP_KERNEL);
@@ -253,8 +253,10 @@ int dpu_mdss_init(struct drm_device *dev)
goto irq_domain_error;

irq = platform_get_irq(pdev, 0);
- if (irq < 0)
+ if (irq < 0) {
+ ret = irq;
goto irq_error;
+ }

irq_set_chained_handler_and_data(irq, dpu_mdss_irq,
dpu_mdss);
@@ -263,7 +265,7 @@ int dpu_mdss_init(struct drm_device *dev)

pm_runtime_enable(dev->dev);

- return ret;
+ return 0;

irq_error:
_dpu_mdss_irq_domain_fini(dpu_mdss);
--
2.30.2



2021-07-12 10:55:12

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 748/800] selftests/ftrace: fix event-no-pid on 1-core machine

From: Krzysztof Kozlowski <[email protected]>

[ Upstream commit 07b60713b57a8f952d029a2b6849d003d9c16108 ]

When running event-no-pid test on small machines (e.g. cloud 1-core
instance), other events might not happen:

+ cat trace
+ cnt=0
+ [ 0 -eq 0 ]
+ fail No other events were recorded
[15] event tracing - restricts events based on pid notrace filtering [FAIL]

Schedule a simple sleep task to be sure that some other process events
get recorded.

Fixes: ebed9628f5c2 ("selftests/ftrace: Add test to test new set_event_notrace_pid file")
Signed-off-by: Krzysztof Kozlowski <[email protected]>
Acked-by: Steven Rostedt (VMware) <[email protected]>
Signed-off-by: Shuah Khan <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
.../testing/selftests/ftrace/test.d/event/event-no-pid.tc | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/tools/testing/selftests/ftrace/test.d/event/event-no-pid.tc b/tools/testing/selftests/ftrace/test.d/event/event-no-pid.tc
index e6eb78f0b954..9933ed24f901 100644
--- a/tools/testing/selftests/ftrace/test.d/event/event-no-pid.tc
+++ b/tools/testing/selftests/ftrace/test.d/event/event-no-pid.tc
@@ -57,6 +57,10 @@ enable_events() {
echo 1 > tracing_on
}

+other_task() {
+ sleep .001 || usleep 1 || sleep 1
+}
+
echo 0 > options/event-fork

do_reset
@@ -94,6 +98,9 @@ child=$!
echo "child = $child"
wait $child

+# Be sure some other events will happen for small systems (e.g. 1 core)
+other_task
+
echo 0 > tracing_on

cnt=`count_pid $mypid`
--
2.30.2



2021-07-12 10:55:14

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 775/800] selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random

From: Dave Hansen <[email protected]>

[ Upstream commit f36ef407628835a7d7fb3d235b1f1aac7022d9a3 ]

Patch series "selftests/vm/pkeys: Bug fixes and a new test".

There has been a lot of activity on the x86 front around the XSAVE
architecture which is used to context-switch processor state (among other
things). In addition, AMD has recently joined the protection keys club by
adding processor support for PKU.

The AMD implementation helped uncover a kernel bug around the PKRU "init
state", which actually applied to Intel's implementation but was just
harder to hit. This series adds a test which is expected to help find
this class of bug both on AMD and Intel. All the work around pkeys on x86
also uncovered a few bugs in the selftest.

This patch (of 4):

The "random" pkey allocation code currently does the good old:

srand((unsigned int)time(NULL));

*But*, it unfortunately does this on every random pkey allocation.

There may be thousands of these a second. time() has a one second
resolution. So, each time alloc_random_pkey() is called, the PRNG is
*RESET* to time(). This is nasty. Normally, if you do:

srand(<ANYTHING>);
foo = rand();
bar = rand();

You'll be quite guaranteed that 'foo' and 'bar' are different. But, if
you do:

srand(1);
foo = rand();
srand(1);
bar = rand();

You are quite guaranteed that 'foo' and 'bar' are the *SAME*. The recent
"fix" effectively forced the test case to use the same "random" pkey for
the whole test, unless the test run crossed a second boundary.

Only run srand() once at program startup.

This explains some very odd and persistent test failures I've been seeing.

Link: https://lkml.kernel.org/r/[email protected]
Link: https://lkml.kernel.org/r/[email protected]
Fixes: 6e373263ce07 ("selftests/vm/pkeys: fix alloc_random_pkey() to make it really random")
Signed-off-by: Dave Hansen <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Tested-by: Aneesh Kumar K.V <[email protected]>
Cc: Ram Pai <[email protected]>
Cc: Sandipan Das <[email protected]>
Cc: Florian Weimer <[email protected]>
Cc: "Desnes A. Nunes do Rosario" <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Thiago Jung Bauermann <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Michal Suchanek <[email protected]>
Cc: Shuah Khan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
tools/testing/selftests/vm/protection_keys.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
index fdbb602ecf32..9ee0ae5d3e06 100644
--- a/tools/testing/selftests/vm/protection_keys.c
+++ b/tools/testing/selftests/vm/protection_keys.c
@@ -561,7 +561,6 @@ int alloc_random_pkey(void)
int nr_alloced = 0;
int random_index;
memset(alloced_pkeys, 0, sizeof(alloced_pkeys));
- srand((unsigned int)time(NULL));

/* allocate every possible key and make a note of which ones we got */
max_nr_pkey_allocs = NR_PKEYS;
@@ -1552,6 +1551,8 @@ int main(void)
int nr_iterations = 22;
int pkeys_supported = is_pkeys_supported();

+ srand((unsigned int)time(NULL));
+
setup_handlers();

printf("has pkeys: %d\n", pkeys_supported);
--
2.30.2



2021-07-12 10:55:21

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 640/800] backlight: lm3630a_bl: Put fwnode in error case during ->probe()

From: Andy Shevchenko <[email protected]>

[ Upstream commit 6d1c32dbedd7d7e7372aa38033ec8782c39f6379 ]

device_for_each_child_node() bumps a reference counting of a returned variable.
We have to balance it whenever we return to the caller.

Cc: Brian Masney <[email protected]>
Cc: Dan Murphy <[email protected]>
Fixes: 8fbce8efe15cd ("backlight: lm3630a: Add firmware node support")
Signed-off-by: Andy Shevchenko <[email protected]>
Reviewed-by: Brian Masney <[email protected]>
Reviewed-by: Daniel Thompson <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/video/backlight/lm3630a_bl.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
index e88a2b0e5904..662029d6a3dc 100644
--- a/drivers/video/backlight/lm3630a_bl.c
+++ b/drivers/video/backlight/lm3630a_bl.c
@@ -482,8 +482,10 @@ static int lm3630a_parse_node(struct lm3630a_chip *pchip,

device_for_each_child_node(pchip->dev, node) {
ret = lm3630a_parse_bank(pdata, node, &seen_led_sources);
- if (ret)
+ if (ret) {
+ fwnode_handle_put(node);
return ret;
+ }
}

return ret;
--
2.30.2



2021-07-12 10:55:32

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 557/800] i40e: Fix error handling in i40e_vsi_open

From: Dinghao Liu <[email protected]>

[ Upstream commit 9c04cfcd4aad232e36306cdc5c74cd9fc9148a7e ]

When vsi->type == I40E_VSI_FDIR, we have caught the return value of
i40e_vsi_request_irq() but without further handling. Check and execute
memory clean on failure just like the other i40e_vsi_request_irq().

Fixes: 8a9eb7d3cbcab ("i40e: rework fdir setup and teardown")
Signed-off-by: Dinghao Liu <[email protected]>
Tested-by: Tony Brelinski <[email protected]>
Signed-off-by: Tony Nguyen <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/net/ethernet/intel/i40e/i40e_main.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 704e474879c5..526fa0a791ea 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -8703,6 +8703,8 @@ int i40e_vsi_open(struct i40e_vsi *vsi)
dev_driver_string(&pf->pdev->dev),
dev_name(&pf->pdev->dev));
err = i40e_vsi_request_irq(vsi, int_name);
+ if (err)
+ goto err_setup_rx;

} else {
err = -EINVAL;
--
2.30.2



2021-07-12 11:38:18

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 053/800] ext4: fix kernel infoleak via ext4_extent_header

From: Anirudh Rayabharam <[email protected]>

commit ce3aba43599f0b50adbebff133df8d08a3d5fffe upstream.

Initialize eh_generation of struct ext4_extent_header to prevent leaking
info to userspace. Fixes KMSAN kernel-infoleak bug reported by syzbot at:
http://syzkaller.appspot.com/bug?id=78e9ad0e6952a3ca16e8234724b2fa92d041b9b8

Cc: [email protected]
Reported-by: [email protected]
Fixes: a86c61812637 ("[PATCH] ext3: add extent map support")
Signed-off-by: Anirudh Rayabharam <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Theodore Ts'o <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
fs/ext4/extents.c | 3 +++
1 file changed, 3 insertions(+)

--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -825,6 +825,7 @@ void ext4_ext_tree_init(handle_t *handle
eh->eh_entries = 0;
eh->eh_magic = EXT4_EXT_MAGIC;
eh->eh_max = cpu_to_le16(ext4_ext_space_root(inode, 0));
+ eh->eh_generation = 0;
ext4_mark_inode_dirty(handle, inode);
}

@@ -1090,6 +1091,7 @@ static int ext4_ext_split(handle_t *hand
neh->eh_max = cpu_to_le16(ext4_ext_space_block(inode, 0));
neh->eh_magic = EXT4_EXT_MAGIC;
neh->eh_depth = 0;
+ neh->eh_generation = 0;

/* move remainder of path[depth] to the new leaf */
if (unlikely(path[depth].p_hdr->eh_entries !=
@@ -1167,6 +1169,7 @@ static int ext4_ext_split(handle_t *hand
neh->eh_magic = EXT4_EXT_MAGIC;
neh->eh_max = cpu_to_le16(ext4_ext_space_block_idx(inode, 0));
neh->eh_depth = cpu_to_le16(depth - i);
+ neh->eh_generation = 0;
fidx = EXT_FIRST_INDEX(neh);
fidx->ei_block = border;
ext4_idx_store_pblock(fidx, oldblock);


2021-07-12 11:38:18

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 002/800] Bluetooth: btqca: Dont modify firmware contents in-place

From: Connor Abbott <[email protected]>

commit b43ca511178ed0ab6fd2405df28cf9e100273020 upstream.

struct firmware::data is marked const, and when the firmware is
compressed with xz (default at least with Fedora) it's mapped read-only
which results in a crash:

BUG: unable to handle page fault for address: ffffae57c0ca5047
PGD 100000067 P4D 100000067 PUD 1001ce067 PMD 10165a067 PTE 8000000112bba161
Oops: 0003 [#1] SMP NOPTI
CPU: 3 PID: 204 Comm: kworker/u17:0 Not tainted 5.12.1-test+ #1
Hardware name: Dell Inc. XPS 13 9310/0F7M4C, BIOS 1.2.5 12/10/2020
Workqueue: hci0 hci_power_on [bluetooth]
RIP: 0010:qca_download_firmware+0x27c/0x4e0 [btqca]
Code: 1b 75 04 80 48 0c 01 0f b7 c6 8d 54 02 0c 41 39 d7 0f 8e 62 fe ff ff 48 63 c2 4c 01 e8 0f b7 38 0f b7 70 02 66 83 ff 11 75 d3 <80> 48 0c 80 41 83 fc 03 7e 6e 88 58 0d eb ce 41 0f b6 45 0e 48 8b
RSP: 0018:ffffae57c08dfc68 EFLAGS: 00010246
RAX: ffffae57c0ca503b RBX: 000000000000000e RCX: 0000000000000000
RDX: 0000000000000037 RSI: 0000000000000006 RDI: 0000000000000011
RBP: ffff978d9949e000 R08: ffff978d84ed7540 R09: ffffae57c0ca5000
R10: 000000000010cd00 R11: 0000000000000001 R12: 0000000000000005
R13: ffffae57c0ca5004 R14: ffff978d98ca8680 R15: 00000000000016a9
FS: 0000000000000000(0000) GS:ffff9794ef6c0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffae57c0ca5047 CR3: 0000000113d5a004 CR4: 0000000000770ee0
PKRU: 55555554
Call Trace:
qca_uart_setup+0x2cb/0x1390 [btqca]
? qca_read_soc_version+0x136/0x220 [btqca]
qca_setup+0x288/0xab0 [hci_uart]
hci_dev_do_open+0x1f3/0x780 [bluetooth]
? try_to_wake_up+0x1c1/0x4f0
hci_power_on+0x3f/0x200 [bluetooth]
process_one_work+0x1ec/0x380
worker_thread+0x53/0x3e0
? process_one_work+0x380/0x380
kthread+0x11b/0x140
? kthread_associate_blkcg+0xa0/0xa0
ret_from_fork+0x1f/0x30
Modules linked in: llc ip_set nf_tables nfnetlink snd_soc_skl_hda_dsp(+) ip6table_filter snd_soc_hdac_hdmi ip6_tables qrtr_mhi iptable_filter snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic s>
dell_wmi_sysman(+) dell_smbios snd dcdbas mhi vfat videobuf2_vmalloc i2c_i801 videobuf2_memops videobuf2_v4l2 dell_wmi_descriptor fat wmi_bmof soundcore i2c_smbus videobuf2_common libarc4 mei_me mei hid_se>
i2c_hid_acpi i2c_hid video pinctrl_tigerlake fuse
CR2: ffffae57c0ca5047

This also seems to fix a failure to suspend due to the firmware
download on bootup getting interrupted by the crash:

Bluetooth: hci0: SSR or FW download time out
PM: dpm_run_callback(): acpi_subsys_suspend+0x0/0x60 returns -110
PM: Device serial0-0 failed to suspend: error -110
PM: Some devices failed to suspend, or early wake event detected

Fixes: 83e8196 ("Bluetooth: btqca: Introduce generic QCA ROME support")
Cc: Venkata Lakshmi Narayana Gubba <[email protected]>
Cc: [email protected]
Signed-off-by: Connor Abbott <[email protected]>
Signed-off-by: Marcel Holtmann <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/bluetooth/btqca.c | 27 ++++++++++++++++++++-------
1 file changed, 20 insertions(+), 7 deletions(-)

--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -183,7 +183,7 @@ int qca_send_pre_shutdown_cmd(struct hci
EXPORT_SYMBOL_GPL(qca_send_pre_shutdown_cmd);

static void qca_tlv_check_data(struct qca_fw_config *config,
- const struct firmware *fw, enum qca_btsoc_type soc_type)
+ u8 *fw_data, enum qca_btsoc_type soc_type)
{
const u8 *data;
u32 type_len;
@@ -194,7 +194,7 @@ static void qca_tlv_check_data(struct qc
struct tlv_type_nvm *tlv_nvm;
uint8_t nvm_baud_rate = config->user_baud_rate;

- tlv = (struct tlv_type_hdr *)fw->data;
+ tlv = (struct tlv_type_hdr *)fw_data;

type_len = le32_to_cpu(tlv->type_len);
length = (type_len >> 8) & 0x00ffffff;
@@ -390,8 +390,9 @@ static int qca_download_firmware(struct
enum qca_btsoc_type soc_type)
{
const struct firmware *fw;
+ u8 *data;
const u8 *segment;
- int ret, remain, i = 0;
+ int ret, size, remain, i = 0;

bt_dev_info(hdev, "QCA Downloading %s", config->fwname);

@@ -402,10 +403,22 @@ static int qca_download_firmware(struct
return ret;
}

- qca_tlv_check_data(config, fw, soc_type);
+ size = fw->size;
+ data = vmalloc(fw->size);
+ if (!data) {
+ bt_dev_err(hdev, "QCA Failed to allocate memory for file: %s",
+ config->fwname);
+ release_firmware(fw);
+ return -ENOMEM;
+ }
+
+ memcpy(data, fw->data, size);
+ release_firmware(fw);
+
+ qca_tlv_check_data(config, data, soc_type);

- segment = fw->data;
- remain = fw->size;
+ segment = data;
+ remain = size;
while (remain > 0) {
int segsize = min(MAX_SIZE_PER_TLV_SEGMENT, remain);

@@ -435,7 +448,7 @@ static int qca_download_firmware(struct
ret = qca_inject_cmd_complete_event(hdev);

out:
- release_firmware(fw);
+ vfree(data);

return ret;
}


2021-07-12 11:38:28

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 092/800] iio: light: tcs3472: do not free unallocated IRQ

From: frank zago <[email protected]>

commit 7cd04c863f9e1655d607705455e7714f24451984 upstream.

Allocating an IRQ is conditional to the IRQ existence, but freeing it
was not. If no IRQ was allocate, the driver would still try to free
IRQ 0. Add the missing checks.

This fixes the following trace when the driver is removed:

[ 100.667788] Trying to free already-free IRQ 0
[ 100.667793] WARNING: CPU: 0 PID: 2315 at kernel/irq/manage.c:1826 free_irq+0x1fd/0x370
...
[ 100.667914] Call Trace:
[ 100.667920] tcs3472_remove+0x3a/0x90 [tcs3472]
[ 100.667927] i2c_device_remove+0x2b/0xa0

Signed-off-by: frank zago <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Fixes: 9d2f715d592e ("iio: light: tcs3472: support out-of-threshold events")
Cc: <[email protected]>
Signed-off-by: Jonathan Cameron <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/iio/light/tcs3472.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/iio/light/tcs3472.c
+++ b/drivers/iio/light/tcs3472.c
@@ -531,7 +531,8 @@ static int tcs3472_probe(struct i2c_clie
return 0;

free_irq:
- free_irq(client->irq, indio_dev);
+ if (client->irq)
+ free_irq(client->irq, indio_dev);
buffer_cleanup:
iio_triggered_buffer_cleanup(indio_dev);
return ret;
@@ -559,7 +560,8 @@ static int tcs3472_remove(struct i2c_cli
struct iio_dev *indio_dev = i2c_get_clientdata(client);

iio_device_unregister(indio_dev);
- free_irq(client->irq, indio_dev);
+ if (client->irq)
+ free_irq(client->irq, indio_dev);
iio_triggered_buffer_cleanup(indio_dev);
tcs3472_powerdown(iio_priv(indio_dev));



2021-07-12 11:39:11

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.13 096/800] iio: accel: bma180: Fix BMA25x bandwidth register values

From: Stephan Gerhold <[email protected]>

commit 8090d67421ddab0ae932abab5a60200598bf0bbb upstream.

According to the BMA253 datasheet [1] and BMA250 datasheet [2] the
bandwidth value for BMA25x should be set as 01xxx:

"Settings 00xxx result in a bandwidth of 7.81 Hz; [...]
It is recommended [...] to use the range from ´01000b´ to ´01111b´
only in order to be compatible with future products."

However, at the moment the drivers sets bandwidth values from 0 to 6,
which is not recommended and always results into 7.81 Hz bandwidth
according to the datasheet.

Fix this by introducing a bw_offset = 8 = 01000b for BMA25x,
so the additional bit is always set for BMA25x.

[1]: https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bma253-ds000.pdf
[2]: https://datasheet.octopart.com/BMA250-Bosch-datasheet-15540103.pdf

Cc: Peter Meerwald <[email protected]>
Fixes: 2017cff24cc0 ("iio:bma180: Add BMA250 chip support")
Signed-off-by: Stephan Gerhold <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Cc: <[email protected]>
Signed-off-by: Jonathan Cameron <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/iio/accel/bma180.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

--- a/drivers/iio/accel/bma180.c
+++ b/drivers/iio/accel/bma180.c
@@ -55,7 +55,7 @@ struct bma180_part_info {

u8 int_reset_reg, int_reset_mask;
u8 sleep_reg, sleep_mask;
- u8 bw_reg, bw_mask;
+ u8 bw_reg, bw_mask, bw_offset;
u8 scale_reg, scale_mask;
u8 power_reg, power_mask, lowpower_val;
u8 int_enable_reg, int_enable_mask;
@@ -127,6 +127,7 @@ struct bma180_part_info {

#define BMA250_RANGE_MASK GENMASK(3, 0) /* Range of accel values */
#define BMA250_BW_MASK GENMASK(4, 0) /* Accel bandwidth */
+#define BMA250_BW_OFFSET 8
#define BMA250_SUSPEND_MASK BIT(7) /* chip will sleep */
#define BMA250_LOWPOWER_MASK BIT(6)
#define BMA250_DATA_INTEN_MASK BIT(4)
@@ -143,6 +144,7 @@ struct bma180_part_info {

#define BMA254_RANGE_MASK GENMASK(3, 0) /* Range of accel values */
#define BMA254_BW_MASK GENMASK(4, 0) /* Accel bandwidth */
+#define BMA254_BW_OFFSET 8
#define BMA254_SUSPEND_MASK BIT(7) /* chip will sleep */
#define BMA254_LOWPOWER_MASK BIT(6)
#define BMA254_DATA_INTEN_MASK BIT(4)
@@ -283,7 +285,8 @@ static int bma180_set_bw(struct bma180_d
for (i = 0; i < data->part_info->num_bw; ++i) {
if (data->part_info->bw_table[i] == val) {
ret = bma180_set_bits(data, data->part_info->bw_reg,
- data->part_info->bw_mask, i);
+ data->part_info->bw_mask,
+ i + data->part_info->bw_offset);
if (ret) {
dev_err(&data->client->dev,
"failed to set bandwidth\n");
@@ -876,6 +879,7 @@ static const struct bma180_part_info bma
.sleep_mask = BMA250_SUSPEND_MASK,
.bw_reg = BMA250_BW_REG,
.bw_mask = BMA250_BW_MASK,
+ .bw_offset = BMA250_BW_OFFSET,
.scale_reg = BMA250_RANGE_REG,
.scale_mask = BMA250_RANGE_MASK,
.power_reg = BMA250_POWER_REG,
@@ -905,6 +909,7 @@ static const struct bma180_part_info bma
.sleep_mask = BMA254_SUSPEND_MASK,
.bw_reg = BMA254_BW_REG,
.bw_mask = BMA254_BW_MASK,
+ .bw_offset = BMA254_BW_OFFSET,
.scale_reg = BMA254_RANGE_REG,
.scale_mask = BMA254_RANGE_MASK,
.power_reg = BMA254_POWER_REG,


2021-07-12 16:49:24

by Fox Chen

[permalink] [raw]
Subject: RE: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Mon, 12 Jul 2021 08:00:23 +0200, Greg Kroah-Hartman <[email protected]> wrote:
> This is the start of the stable review cycle for the 5.13.2 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.13.2-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.13.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

5.13.2-rc1 Successfully Compiled and booted on my Raspberry PI 4b (8g) (bcm2711)

Tested-by: Fox Chen <[email protected]>

2021-07-12 17:26:44

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On 7/11/21 11:00 PM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.13.2 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.13.2-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.13.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h

On ARCH_BRCMSTB, using 32-bit and 64-bit ARM kernels:

Tested-by: Florian Fainelli <[email protected]>
--
Florian

2021-07-12 17:49:48

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On 7/11/21 11:00 PM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.13.2 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> Anything received after that time might be too late.
>

Build results:
total: 154 pass: 152 fail: 2
Failed builds:
riscv32:allmodconfig
riscv:allmodconfig
Qemu test results:
total: 462 pass: 462 fail: 0

riscv build failures as before, inherited from mainline.

Error log:
cc1: error: '5904' is not a valid offset in '-mstack-protector-guard-offset='

Tested-by: Guenter Roeck <[email protected]>

Guenter

2021-07-13 02:29:02

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On 7/12/21 12:00 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.13.2 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.13.2-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.13.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

Compiled and booted on my test system. No dmesg regressions.

Tested-by: Shuah Khan <[email protected]>

thanks,
-- Shuah

2021-07-13 07:32:31

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Mon, 12 Jul 2021 at 13:00, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 5.13.2 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.13.2-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.13.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h


Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.

Tested-by: Linux Kernel Functional Testing <[email protected]>

## Build
* kernel: 5.13.2-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
* git branch: linux-5.13.y
* git commit: 949241ad55a91465aea61c7afa51c1ec7540d5d7
* git describe: v5.13.1-805-g949241ad55a9
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.13.y/build/v5.13.1-805-g949241ad55a9

## No regressions (compared to v5.13.1-800-g0e69649203d5)

## No fixes (compared to v5.13.1-800-g0e69649203d5)

## Test result summary
total: 84521, pass: 69640, fail: 1673, skip: 12072, xfail: 1136,

## Build Summary
* arc: 10 total, 10 passed, 0 failed
* arm: 193 total, 193 passed, 0 failed
* arm64: 27 total, 27 passed, 0 failed
* dragonboard-410c: 1 total, 1 passed, 0 failed
* hi6220-hikey: 1 total, 1 passed, 0 failed
* i386: 26 total, 26 passed, 0 failed
* juno-r2: 1 total, 1 passed, 0 failed
* mips: 45 total, 45 passed, 0 failed
* parisc: 9 total, 9 passed, 0 failed
* powerpc: 27 total, 27 passed, 0 failed
* riscv: 21 total, 21 passed, 0 failed
* s390: 18 total, 18 passed, 0 failed
* sh: 18 total, 18 passed, 0 failed
* sparc: 9 total, 9 passed, 0 failed
* x15: 1 total, 0 passed, 1 failed
* x86: 1 total, 1 passed, 0 failed
* x86_64: 27 total, 27 passed, 0 failed

## Test suites summary
* fwts
* igt-gpu-tools
* install-android-platform-tools-r2600
* kselftest-
* kselftest-android
* kselftest-bpf
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-drivers
* kselftest-efivarfs
* kselftest-filesystems
* kselftest-firmware
* kselftest-fpu
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-ir
* kselftest-kcmp
* kselftest-kexec
* kselftest-kvm
* kselftest-lib
* kselftest-livepatch
* kselftest-lkdtm
* kselftest-membarrier
* kselftest-memfd
* kselftest-memory-hotplug
* kselftest-mincore
* kselftest-mount
* kselftest-mqueue
* kselftest-net
* kselftest-netfilter
* kselftest-nsfs
* kselftest-openat2
* kselftest-pid_namespace
* kselftest-pidfd
* kselftest-proc
* kselftest-pstore
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-splice
* kselftest-static_keys
* kselftest-sync
* kselftest-sysctl
* kselftest-tc-testing
* kselftest-timens
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user
* kselftest-vm
* kselftest-vsyscall-mode-native-
* kselftest-vsyscall-mode-none-
* kselftest-x86
* kselftest-zram
* kunit
* kvm-unit-tests
* libgpiod
* libhugetlbfs
* linux-log-parser
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-controllers-tests
* ltp-cpuhotplug-tests
* ltp-crypto-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-open-posix-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* ltp-tracing-tests
* network-basic-tests
* packetdrill
* perf
* rcutorture
* v4l2-compliance

--
Linaro LKFT
https://lkft.linaro.org

2021-07-13 15:26:10

by Justin Forbes

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Mon, Jul 12, 2021 at 08:00:23AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.13.2 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.13.2-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.13.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

Tested rc1 minus the offending patch against the Fedora build system
(aarch64, armv7, ppc64le, s390x, x86_64), and boot tested x86_64. No
regressions noted.

Tested-by: Justin M. Forbes <[email protected]>

2021-07-13 23:43:39

by Ronald Warsow

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

hallo

all fine here on an Intel i7-6700 box.

thanks

--
regards

Ronald

2021-07-14 05:49:31

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, Jul 14, 2021 at 05:39:43AM +0000, Holger Kiehl wrote:
> Hello,
>
> On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
>
> > This is the start of the stable review cycle for the 5.13.2 release.
> > There are 800 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > Anything received after that time might be too late.
> >
> With this my system no longer boots:
>
> [ OK ] Reached target Swap.
> [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> See 'systemctl status systemd-udev-settle.service' for details.
> Starting Activation of DM RAID sets...
> [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
>
> System is a Fedora 34 with all updates applied. Two other similar
> systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> and boots fine. The system where it does not boot has an Intel
> Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
>
> Any idea which patch I should drop to see if it boots again. I already
> dropped
>
> [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
>
> and I just see that this one should also be dropped:
>
> [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
>
> Will still need to test this.

Can you run 'git bisect' to see what commit causes the problem?

thanks,

greg k-h

2021-07-14 05:50:18

by Holger Kiehl

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

Hello,

On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:

> This is the start of the stable review cycle for the 5.13.2 release.
> There are 800 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> Anything received after that time might be too late.
>
With this my system no longer boots:

[ OK ] Reached target Swap.
[ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
[ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
[ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
[FAILED] Failed to start Wait for udev To Complete Device Initialization.
See 'systemctl status systemd-udev-settle.service' for details.
Starting Activation of DM RAID sets...
[ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
[ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)

System is a Fedora 34 with all updates applied. Two other similar
systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
and boots fine. The system where it does not boot has an Intel
Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.

Any idea which patch I should drop to see if it boots again. I already
dropped

[PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload

and I just see that this one should also be dropped:

[PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page

Will still need to test this.

Holger

2021-07-14 07:16:19

by Holger Kiehl

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, 14 Jul 2021, Holger Kiehl wrote:

> Hello,
>
> On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
>
> > This is the start of the stable review cycle for the 5.13.2 release.
> > There are 800 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > Anything received after that time might be too late.
> >
> With this my system no longer boots:
>
> [ OK ] Reached target Swap.
> [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> See 'systemctl status systemd-udev-settle.service' for details.
> Starting Activation of DM RAID sets...
> [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
>
> System is a Fedora 34 with all updates applied. Two other similar
> systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> and boots fine. The system where it does not boot has an Intel
> Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
>
> Any idea which patch I should drop to see if it boots again. I already
> dropped
>
> [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
>
> and I just see that this one should also be dropped:
>
> [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
>
> Will still need to test this.
>
Dropping that did not fix it.

Holger

2021-07-14 07:17:42

by Holger Kiehl

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:

> On Wed, Jul 14, 2021 at 05:39:43AM +0000, Holger Kiehl wrote:
> > Hello,
> >
> > On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
> >
> > > This is the start of the stable review cycle for the 5.13.2 release.
> > > There are 800 patches in this series, all will be posted as a response
> > > to this one. If anyone has any issues with these being applied, please
> > > let me know.
> > >
> > > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > > Anything received after that time might be too late.
> > >
> > With this my system no longer boots:
> >
> > [ OK ] Reached target Swap.
> > [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> > [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> > [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> > [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> > See 'systemctl status systemd-udev-settle.service' for details.
> > Starting Activation of DM RAID sets...
> > [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> > [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
> >
> > System is a Fedora 34 with all updates applied. Two other similar
> > systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> > and boots fine. The system where it does not boot has an Intel
> > Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
> >
> > Any idea which patch I should drop to see if it boots again. I already
> > dropped
> >
> > [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
> >
> > and I just see that this one should also be dropped:
> >
> > [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
> >
> > Will still need to test this.
>
> Can you run 'git bisect' to see what commit causes the problem?
>
Yes, will try to do that. I think it will take some time ...

Holger

2021-07-14 08:17:09

by Holger Kiehl

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review



On Wed, 14 Jul 2021, Holger Kiehl wrote:

> On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:
>
> > On Wed, Jul 14, 2021 at 05:39:43AM +0000, Holger Kiehl wrote:
> > > Hello,
> > >
> > > On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
> > >
> > > > This is the start of the stable review cycle for the 5.13.2 release.
> > > > There are 800 patches in this series, all will be posted as a response
> > > > to this one. If anyone has any issues with these being applied, please
> > > > let me know.
> > > >
> > > > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > > > Anything received after that time might be too late.
> > > >
> > > With this my system no longer boots:
> > >
> > > [ OK ] Reached target Swap.
> > > [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> > > [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> > > [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> > > [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> > > See 'systemctl status systemd-udev-settle.service' for details.
> > > Starting Activation of DM RAID sets...
> > > [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> > > [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
> > >
> > > System is a Fedora 34 with all updates applied. Two other similar
> > > systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> > > and boots fine. The system where it does not boot has an Intel
> > > Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
> > >
> > > Any idea which patch I should drop to see if it boots again. I already
> > > dropped
> > >
> > > [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
> > >
> > > and I just see that this one should also be dropped:
> > >
> > > [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
> > >
> > > Will still need to test this.
> >
> > Can you run 'git bisect' to see what commit causes the problem?
> >
> Yes, will try to do that. I think it will take some time ...
>
Hmm, I am doing something wrong?

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.13.y
cd linux-5.13.y/
git tag|grep v5.13
v5.13
v5.13-rc1
v5.13-rc2
v5.13-rc3
v5.13-rc4
v5.13-rc5
v5.13-rc6
v5.13-rc7
v5.13.1

There is no v5.13.2-rc1. It is my first time with 'git bisect'. Must be
doing something wrong. How can I get the correct git kernel rc version?

Holger

2021-07-14 08:40:29

by Jiri Slaby

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On 14. 07. 21, 10:15, Holger Kiehl wrote:
>> Yes, will try to do that. I think it will take some time ...
>>
> Hmm, I am doing something wrong?

No, you are not: -rcs are not tagged.

> git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.13.y
> cd linux-5.13.y/
> git tag|grep v5.13
> v5.13
> v5.13-rc1
> v5.13-rc2
> v5.13-rc3
> v5.13-rc4
> v5.13-rc5
> v5.13-rc6
> v5.13-rc7
> v5.13.1
>
> There is no v5.13.2-rc1. It is my first time with 'git bisect'. Must be
> doing something wrong. How can I get the correct git kernel rc version?

So just bisect v5.13.1..linux-5.13.y.

regards,
--
js
suse labs

2021-07-14 10:29:24

by Holger Kiehl

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review


On Wed, 14 Jul 2021, Jiri Slaby wrote:

> On 14. 07. 21, 10:15, Holger Kiehl wrote:
> >> Yes, will try to do that. I think it will take some time ...
> >>
> > Hmm, I am doing something wrong?
>
> No, you are not: -rcs are not tagged.
>
> > git clone
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > linux-5.13.y
> > cd linux-5.13.y/
> > git tag|grep v5.13
> > v5.13
> > v5.13-rc1
> > v5.13-rc2
> > v5.13-rc3
> > v5.13-rc4
> > v5.13-rc5
> > v5.13-rc6
> > v5.13-rc7
> > v5.13.1
> >
> > There is no v5.13.2-rc1. It is my first time with 'git bisect'. Must be
> > doing something wrong. How can I get the correct git kernel rc version?
>
> So just bisect v5.13.1..linux-5.13.y.
>
But what do I say for bad?

git bisect bad linux-5.13.y
error: Bad rev input: linux-5.13.y

Just saying:

git bisect bad
git bisect good v5.13.1
Bisecting: a merge base must be tested
[62fb9874f5da54fdb243003b386128037319b219] Linux 5.13

If I read this correctly it now set v5.13 as bad and v5.13.1 as good.
How to set the correct bad?

Holger

2021-07-14 10:43:09

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

Hi!
>
> > On 14. 07. 21, 10:15, Holger Kiehl wrote:
> > >> Yes, will try to do that. I think it will take some time ...
> > >>
> > > Hmm, I am doing something wrong?
> >
> > No, you are not: -rcs are not tagged.
> >
> > > git clone
> > > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > > linux-5.13.y
> > > cd linux-5.13.y/
> > > git tag|grep v5.13
> > > v5.13
> > > v5.13-rc1
> > > v5.13-rc2
> > > v5.13-rc3
> > > v5.13-rc4
> > > v5.13-rc5
> > > v5.13-rc6
> > > v5.13-rc7
> > > v5.13.1
> > >
> > > There is no v5.13.2-rc1. It is my first time with 'git bisect'. Must be
> > > doing something wrong. How can I get the correct git kernel rc version?
> >
> > So just bisect v5.13.1..linux-5.13.y.
> >
> But what do I say for bad?
>
> git bisect bad linux-5.13.y
> error: Bad rev input: linux-5.13.y
>
> Just saying:
>
> git bisect bad
> git bisect good v5.13.1
> Bisecting: a merge base must be tested
> [62fb9874f5da54fdb243003b386128037319b219] Linux 5.13
>
> If I read this correctly it now set v5.13 as bad and v5.13.1 as good.
> How to set the correct bad?

You can use hashes instead of symbolic revisions, and that may be
easier. I suspect you want to say "git bisect bad
origin/linux-5.13.y". You can also just do git show and note the hash.

There's other option: git bisect can be quite confusing, but you are
searching for a bug in linear history, so you can just git log
--pretty=oneline into a file, then do the binary search
manually. Should be 10 steps or so...

Best regards,
Pavel
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


Attachments:
(No filename) (1.78 kB)
signature.asc (188.00 B)
Digital signature
Download all attachments

2021-07-14 12:09:19

by Ronald Warsow

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

hallo

all fine here on an Intel i7-6700 box.

thanks


+++ UPDATE +++
##############

Regarding the above I need to be more accurate:
The kernel compiles, boots and runs without errors -so far -.

BUT: it seems under load it could lead to an dead box.


what I did:

running in one terminal: dmesg -w

and in an second terminal:

make clean && ccache -Czs && time make all -j $(nproc)


leads within a minutes to an complete dead box after make has started !


- no output regarding crashes, etc. in the first terminal running dmesg
- no mouse, no keyboard, no switch via CRTL+ALT+F3 to a console
- the box is dead
- only the power button helps


with kernel 5.13.1 all the above is fine


anyone (too) ?

--
regards

Ronald

2021-07-14 13:23:04

by Holger Kiehl

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, 14 Jul 2021, Pavel Machek wrote:

> Hi!
> >
> > > On 14. 07. 21, 10:15, Holger Kiehl wrote:
> > > >> Yes, will try to do that. I think it will take some time ...
> > > >>
> > > > Hmm, I am doing something wrong?
> > >
> > > No, you are not: -rcs are not tagged.
> > >
> > > > git clone
> > > > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > > > linux-5.13.y
> > > > cd linux-5.13.y/
> > > > git tag|grep v5.13
> > > > v5.13
> > > > v5.13-rc1
> > > > v5.13-rc2
> > > > v5.13-rc3
> > > > v5.13-rc4
> > > > v5.13-rc5
> > > > v5.13-rc6
> > > > v5.13-rc7
> > > > v5.13.1
> > > >
> > > > There is no v5.13.2-rc1. It is my first time with 'git bisect'. Must be
> > > > doing something wrong. How can I get the correct git kernel rc version?
> > >
> > > So just bisect v5.13.1..linux-5.13.y.
> > >
> > But what do I say for bad?
> >
> > git bisect bad linux-5.13.y
> > error: Bad rev input: linux-5.13.y
> >
> > Just saying:
> >
> > git bisect bad
> > git bisect good v5.13.1
> > Bisecting: a merge base must be tested
> > [62fb9874f5da54fdb243003b386128037319b219] Linux 5.13
> >
> > If I read this correctly it now set v5.13 as bad and v5.13.1 as good.
> > How to set the correct bad?
>
> You can use hashes instead of symbolic revisions, and that may be
> easier. I suspect you want to say "git bisect bad
> origin/linux-5.13.y". You can also just do git show and note the hash.
>
> There's other option: git bisect can be quite confusing, but you are
> searching for a bug in linear history, so you can just git log
> --pretty=oneline into a file, then do the binary search
> manually. Should be 10 steps or so...
>
Thanks! That 'git bisect bad origin/linux-5.13.y' got me going!

Holger

2021-07-14 13:27:54

by Holger Kiehl

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, 14 Jul 2021, Holger Kiehl wrote:

> On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:
>
> > On Wed, Jul 14, 2021 at 05:39:43AM +0000, Holger Kiehl wrote:
> > > Hello,
> > >
> > > On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
> > >
> > > > This is the start of the stable review cycle for the 5.13.2 release.
> > > > There are 800 patches in this series, all will be posted as a response
> > > > to this one. If anyone has any issues with these being applied, please
> > > > let me know.
> > > >
> > > > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > > > Anything received after that time might be too late.
> > > >
> > > With this my system no longer boots:
> > >
> > > [ OK ] Reached target Swap.
> > > [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> > > [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> > > [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> > > [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> > > See 'systemctl status systemd-udev-settle.service' for details.
> > > Starting Activation of DM RAID sets...
> > > [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> > > [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
> > >
> > > System is a Fedora 34 with all updates applied. Two other similar
> > > systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> > > and boots fine. The system where it does not boot has an Intel
> > > Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
> > >
> > > Any idea which patch I should drop to see if it boots again. I already
> > > dropped
> > >
> > > [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
> > >
> > > and I just see that this one should also be dropped:
> > >
> > > [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
> > >
> > > Will still need to test this.
> >
> > Can you run 'git bisect' to see what commit causes the problem?
> >
> Yes, will try to do that. I think it will take some time ...
>
With the help of Pavel Machek and Jiri Slaby I was able 'git bisect'
this to:

yoda:/usr/src/kernels/linux-5.13.y# git bisect good
a483f513670541227e6a31ac7141826b8c785842 is the first bad commit
commit a483f513670541227e6a31ac7141826b8c785842
Author: Jan Kara <[email protected]>
Date: Wed Jun 23 11:36:33 2021 +0200

bfq: Remove merged request already in bfq_requests_merged()

[ Upstream commit a921c655f2033dd1ce1379128efe881dda23ea37 ]

Currently, bfq does very little in bfq_requests_merged() and handles all
the request cleanup in bfq_finish_requeue_request() called from
blk_mq_free_request(). That is currently safe only because
blk_mq_free_request() is called shortly after bfq_requests_merged()
while bfqd->lock is still held. However to fix a lock inversion between
bfqd->lock and ioc->lock, we need to call blk_mq_free_request() after
dropping bfqd->lock. That would mean that already merged request could
be seen by other processes inside bfq queues and possibly dispatched to
the device which is wrong. So move cleanup of the request from
bfq_finish_requeue_request() to bfq_requests_merged().

Acked-by: Paolo Valente <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>

block/bfq-iosched.c | 41 +++++++++++++----------------------------
1 file changed, 13 insertions(+), 28 deletions(-)

Holger

2021-07-14 13:33:54

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, Jul 14, 2021 at 01:26:26PM +0000, Holger Kiehl wrote:
> On Wed, 14 Jul 2021, Holger Kiehl wrote:
>
> > On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:
> >
> > > On Wed, Jul 14, 2021 at 05:39:43AM +0000, Holger Kiehl wrote:
> > > > Hello,
> > > >
> > > > On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
> > > >
> > > > > This is the start of the stable review cycle for the 5.13.2 release.
> > > > > There are 800 patches in this series, all will be posted as a response
> > > > > to this one. If anyone has any issues with these being applied, please
> > > > > let me know.
> > > > >
> > > > > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > > > > Anything received after that time might be too late.
> > > > >
> > > > With this my system no longer boots:
> > > >
> > > > [ OK ] Reached target Swap.
> > > > [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> > > > [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> > > > [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> > > > [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> > > > See 'systemctl status systemd-udev-settle.service' for details.
> > > > Starting Activation of DM RAID sets...
> > > > [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> > > > [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
> > > >
> > > > System is a Fedora 34 with all updates applied. Two other similar
> > > > systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> > > > and boots fine. The system where it does not boot has an Intel
> > > > Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
> > > >
> > > > Any idea which patch I should drop to see if it boots again. I already
> > > > dropped
> > > >
> > > > [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
> > > >
> > > > and I just see that this one should also be dropped:
> > > >
> > > > [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
> > > >
> > > > Will still need to test this.
> > >
> > > Can you run 'git bisect' to see what commit causes the problem?
> > >
> > Yes, will try to do that. I think it will take some time ...
> >
> With the help of Pavel Machek and Jiri Slaby I was able 'git bisect'
> this to:
>
> yoda:/usr/src/kernels/linux-5.13.y# git bisect good
> a483f513670541227e6a31ac7141826b8c785842 is the first bad commit
> commit a483f513670541227e6a31ac7141826b8c785842
> Author: Jan Kara <[email protected]>
> Date: Wed Jun 23 11:36:33 2021 +0200
>
> bfq: Remove merged request already in bfq_requests_merged()
>
> [ Upstream commit a921c655f2033dd1ce1379128efe881dda23ea37 ]
>
> Currently, bfq does very little in bfq_requests_merged() and handles all
> the request cleanup in bfq_finish_requeue_request() called from
> blk_mq_free_request(). That is currently safe only because
> blk_mq_free_request() is called shortly after bfq_requests_merged()
> while bfqd->lock is still held. However to fix a lock inversion between
> bfqd->lock and ioc->lock, we need to call blk_mq_free_request() after
> dropping bfqd->lock. That would mean that already merged request could
> be seen by other processes inside bfq queues and possibly dispatched to
> the device which is wrong. So move cleanup of the request from
> bfq_finish_requeue_request() to bfq_requests_merged().
>
> Acked-by: Paolo Valente <[email protected]>
> Signed-off-by: Jan Kara <[email protected]>
> Link: https://lore.kernel.org/r/[email protected]
> Signed-off-by: Jens Axboe <[email protected]>
> Signed-off-by: Sasha Levin <[email protected]>
>
> block/bfq-iosched.c | 41 +++++++++++++----------------------------
> 1 file changed, 13 insertions(+), 28 deletions(-)
>
> Holger

Wonderful!

So if you drop that, all works well? I'll go drop that from the queues
now.

thanks,

greg k-h

2021-07-14 13:54:55

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, 14 Jul 2021 at 19:01, Greg Kroah-Hartman
<[email protected]> wrote:
>
> On Wed, Jul 14, 2021 at 01:26:26PM +0000, Holger Kiehl wrote:
> > On Wed, 14 Jul 2021, Holger Kiehl wrote:
> >
> > > On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:
> > >
> > > > On Wed, Jul 14, 2021 at 05:39:43AM +0000, Holger Kiehl wrote:
> > > > > Hello,
> > > > >
> > > > > On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
> > > > >
> > > > > > This is the start of the stable review cycle for the 5.13.2 release.
> > > > > > There are 800 patches in this series, all will be posted as a response
> > > > > > to this one. If anyone has any issues with these being applied, please
> > > > > > let me know.
> > > > > >
> > > > > > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > > > > > Anything received after that time might be too late.
> > > > > >
> > > > > With this my system no longer boots:
> > > > >
> > > > > [ OK ] Reached target Swap.
> > > > > [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> > > > > [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> > > > > [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> > > > > [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> > > > > See 'systemctl status systemd-udev-settle.service' for details.
> > > > > Starting Activation of DM RAID sets...
> > > > > [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> > > > > [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
> > > > >
> > > > > System is a Fedora 34 with all updates applied. Two other similar
> > > > > systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> > > > > and boots fine. The system where it does not boot has an Intel
> > > > > Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
> > > > >
> > > > > Any idea which patch I should drop to see if it boots again. I already
> > > > > dropped
> > > > >
> > > > > [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
> > > > >
> > > > > and I just see that this one should also be dropped:
> > > > >
> > > > > [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
> > > > >
> > > > > Will still need to test this.
> > > >
> > > > Can you run 'git bisect' to see what commit causes the problem?
> > > >
> > > Yes, will try to do that. I think it will take some time ...
> > >
> > With the help of Pavel Machek and Jiri Slaby I was able 'git bisect'
> > this to:
> >
> > yoda:/usr/src/kernels/linux-5.13.y# git bisect good
> > a483f513670541227e6a31ac7141826b8c785842 is the first bad commit
> > commit a483f513670541227e6a31ac7141826b8c785842
> > Author: Jan Kara <[email protected]>
> > Date: Wed Jun 23 11:36:33 2021 +0200
> >
> > bfq: Remove merged request already in bfq_requests_merged()
> >
> > [ Upstream commit a921c655f2033dd1ce1379128efe881dda23ea37 ]
> >
> > Currently, bfq does very little in bfq_requests_merged() and handles all
> > the request cleanup in bfq_finish_requeue_request() called from
> > blk_mq_free_request(). That is currently safe only because
> > blk_mq_free_request() is called shortly after bfq_requests_merged()
> > while bfqd->lock is still held. However to fix a lock inversion between
> > bfqd->lock and ioc->lock, we need to call blk_mq_free_request() after
> > dropping bfqd->lock. That would mean that already merged request could
> > be seen by other processes inside bfq queues and possibly dispatched to
> > the device which is wrong. So move cleanup of the request from
> > bfq_finish_requeue_request() to bfq_requests_merged().
> >
> > Acked-by: Paolo Valente <[email protected]>
> > Signed-off-by: Jan Kara <[email protected]>
> > Link: https://lore.kernel.org/r/[email protected]
> > Signed-off-by: Jens Axboe <[email protected]>
> > Signed-off-by: Sasha Levin <[email protected]>
> >
> > block/bfq-iosched.c | 41 +++++++++++++----------------------------
> > 1 file changed, 13 insertions(+), 28 deletions(-)
> >
> > Holger
>
> Wonderful!



My two cents,
While running ssuite long running stress testing we have noticed deadlock.

> So if you drop that, all works well? I'll go drop that from the queues
> now.

Let me drop that patch and test it again.

Crash log,

[ 1957.278399] ============================================
[ 1957.283717] WARNING: possible recursive locking detected
[ 1957.289031] 5.13.2-rc1 #1 Not tainted
[ 1957.292703] --------------------------------------------
[ 1957.298016] kworker/u8:7/236 is trying to acquire lock:
[ 1957.303241] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
bfq_finish_requeue_request+0x55/0x500 [bfq]
[ 1957.312643]
[ 1957.312643] but task is already holding lock:
[ 1957.318467] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
bfq_insert_requests+0x81/0x1750 [bfq]
[ 1957.327334]
[ 1957.327334] other info that might help us debug this:
[ 1957.333852] Possible unsafe locking scenario:
[ 1957.333852]
[ 1957.339762] CPU0
[ 1957.342206] ----
[ 1957.344651] lock(&bfqd->lock);
[ 1957.347873] lock(&bfqd->lock);
[ 1957.351097]
[ 1957.351097] *** DEADLOCK ***
[ 1957.351097]
[ 1957.357008] May be due to missing lock nesting notation
[ 1957.357008]
[ 1957.363783] 3 locks held by kworker/u8:7/236:
[ 1957.368136] #0: ffff8cc2009c5938
((wq_completion)writeback){+.+.}-{0:0}, at:
process_one_work+0x207/0x5e0
[ 1957.377782] #1: ffff9ba980d57e68
((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at:
process_one_work+0x207/0x5e0
[ 1957.388640] #2: ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
bfq_insert_requests+0x81/0x1750 [bfq]
[ 1957.397938]
[ 1957.397938] stack backtrace:
[ 1957.402291] CPU: 1 PID: 236 Comm: kworker/u8:7 Not tainted 5.13.2-rc1 #1
[ 1957.408989] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
2.2 05/23/2018
[ 1957.416374] Workqueue: writeback wb_workfn (flush-8:0)
[ 1957.421513] Call Trace:
[ 1957.423966] dump_stack+0x76/0x95
[ 1957.427283] __lock_acquire+0xb70/0x1a50
[ 1957.431203] ? lock_is_held_type+0xa0/0x110
[ 1957.435388] ? bfq_init_rq+0x30e/0x1140 [bfq]
[ 1957.439748] lock_acquire+0x258/0x2e0
[ 1957.443413] ? bfq_finish_requeue_request+0x55/0x500 [bfq]
[ 1957.448923] ? __lock_acquire+0x4a6/0x1a50
[ 1957.453016] ? __lock_acquire+0x3e0/0x1a50
[ 1957.457107] _raw_spin_lock_irqsave+0x3f/0x60
[ 1957.461466] ? bfq_finish_requeue_request+0x55/0x500 [bfq]
[ 1957.466950] bfq_finish_requeue_request+0x55/0x500 [bfq]
[ 1957.472256] ? rcu_read_lock_sched_held+0x4f/0x80
[ 1957.476960] blk_mq_free_request+0x3e/0x140
[ 1957.481146] blk_put_request+0xe/0x10
[ 1957.484804] blk_attempt_req_merge+0x1d/0x30
[ 1957.489075] elv_attempt_insert_merge+0x34/0x90
[ 1957.493599] blk_mq_sched_try_insert_merge+0x2c/0x50
[ 1957.498556] bfq_insert_requests+0x8d/0x1750 [bfq]
[ 1957.503342] ? find_held_lock+0x35/0xa0
[ 1957.507180] ? writeback_sb_inodes+0x35a/0x550
[ 1957.511618] blk_mq_sched_insert_requests+0xd9/0x2a0
[ 1957.516580] blk_mq_flush_plug_list+0x138/0x270
[ 1957.521110] blk_flush_plug_list+0xd1/0x100
[ 1957.525295] blk_finish_plug+0x2c/0x40
[ 1957.529045] wb_writeback+0x1ab/0x430
[ 1957.532702] ? _raw_spin_unlock_bh+0x30/0x40
[ 1957.536970] wb_workfn+0xcb/0x660
[ 1957.540286] ? wb_workfn+0xcb/0x660
[ 1957.543770] ? lock_acquire+0x258/0x2e0
[ 1957.547600] ? process_one_work+0x207/0x5e0
[ 1957.551778] process_one_work+0x289/0x5e0
[ 1957.555782] ? inode_wait_for_writeback+0x40/0x40
[ 1957.560477] ? process_one_work+0x289/0x5e0
[ 1957.564656] worker_thread+0x3c/0x3f0
[ 1957.568315] ? process_one_work+0x5e0/0x5e0
[ 1957.572500] kthread+0x14c/0x170
[ 1957.575733] ? set_kthread_struct+0x40/0x40
[ 1957.579921] ret_from_fork+0x22/0x30
Waiting for transitory to terminate: 5[0KWaiting for transitory to
terminate: 4[0K[ 2106.390977] systemd[1]: systemd-resolved.service:
Watchdog timeout (limit 3min)!
[ 2106.398454] systemd[1]: systemd-resolved.service: Killing process
349 (systemd-resolve) with signal SIGABRT.

Reported-by: Linux Kernel Functional Testing <[email protected]>

ref:
https://lkft.validation.linaro.org/scheduler/job/3058868#L2922

- Naresh

2021-07-14 14:09:01

by Holger Kiehl

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:

> On Wed, Jul 14, 2021 at 01:26:26PM +0000, Holger Kiehl wrote:
> > On Wed, 14 Jul 2021, Holger Kiehl wrote:
> >
> > > On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:
> > >
> > > > On Wed, Jul 14, 2021 at 05:39:43AM +0000, Holger Kiehl wrote:
> > > > > Hello,
> > > > >
> > > > > On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
> > > > >
> > > > > > This is the start of the stable review cycle for the 5.13.2 release.
> > > > > > There are 800 patches in this series, all will be posted as a response
> > > > > > to this one. If anyone has any issues with these being applied, please
> > > > > > let me know.
> > > > > >
> > > > > > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > > > > > Anything received after that time might be too late.
> > > > > >
> > > > > With this my system no longer boots:
> > > > >
> > > > > [ OK ] Reached target Swap.
> > > > > [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> > > > > [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> > > > > [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> > > > > [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> > > > > See 'systemctl status systemd-udev-settle.service' for details.
> > > > > Starting Activation of DM RAID sets...
> > > > > [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> > > > > [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
> > > > >
> > > > > System is a Fedora 34 with all updates applied. Two other similar
> > > > > systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> > > > > and boots fine. The system where it does not boot has an Intel
> > > > > Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
> > > > >
> > > > > Any idea which patch I should drop to see if it boots again. I already
> > > > > dropped
> > > > >
> > > > > [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
> > > > >
> > > > > and I just see that this one should also be dropped:
> > > > >
> > > > > [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
> > > > >
> > > > > Will still need to test this.
> > > >
> > > > Can you run 'git bisect' to see what commit causes the problem?
> > > >
> > > Yes, will try to do that. I think it will take some time ...
> > >
> > With the help of Pavel Machek and Jiri Slaby I was able 'git bisect'
> > this to:
> >
> > yoda:/usr/src/kernels/linux-5.13.y# git bisect good
> > a483f513670541227e6a31ac7141826b8c785842 is the first bad commit
> > commit a483f513670541227e6a31ac7141826b8c785842
> > Author: Jan Kara <[email protected]>
> > Date: Wed Jun 23 11:36:33 2021 +0200
> >
> > bfq: Remove merged request already in bfq_requests_merged()
> >
> > [ Upstream commit a921c655f2033dd1ce1379128efe881dda23ea37 ]
> >
> > Currently, bfq does very little in bfq_requests_merged() and handles all
> > the request cleanup in bfq_finish_requeue_request() called from
> > blk_mq_free_request(). That is currently safe only because
> > blk_mq_free_request() is called shortly after bfq_requests_merged()
> > while bfqd->lock is still held. However to fix a lock inversion between
> > bfqd->lock and ioc->lock, we need to call blk_mq_free_request() after
> > dropping bfqd->lock. That would mean that already merged request could
> > be seen by other processes inside bfq queues and possibly dispatched to
> > the device which is wrong. So move cleanup of the request from
> > bfq_finish_requeue_request() to bfq_requests_merged().
> >
> > Acked-by: Paolo Valente <[email protected]>
> > Signed-off-by: Jan Kara <[email protected]>
> > Link: https://lore.kernel.org/r/[email protected]
> > Signed-off-by: Jens Axboe <[email protected]>
> > Signed-off-by: Sasha Levin <[email protected]>
> >
> > block/bfq-iosched.c | 41 +++++++++++++----------------------------
> > 1 file changed, 13 insertions(+), 28 deletions(-)
> >
> > Holger
>
> Wonderful!
>
> So if you drop that, all works well? I'll go drop that from the queues
> now.
>
Yes. Just double checked it took a plain 5.13.1, patched it with
patch-5.13.2-rc1.xz and then reverted

PATCH-5.13-259-800-bfq-Remove-merged-request-already-in-bfq_requests_merged

and it booted fine with no problems. Tested several times.
Just wonder why it only happens on the Intel Broadwell CPU.
Maybe it is the 128MB eDRAM L4 Cache ...

Holger

2021-07-14 14:15:51

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, 14 Jul 2021 at 19:22, Naresh Kamboju <[email protected]> wrote:
>
> On Wed, 14 Jul 2021 at 19:01, Greg Kroah-Hartman
> <[email protected]> wrote:
> >

<trim>

> My two cents,
> While running ssuite long running stress testing we have noticed deadlock.
>
> > So if you drop that, all works well? I'll go drop that from the queues
> > now.
>
> Let me drop that patch and test it again.
>
> Crash log,
>
> [ 1957.278399] ============================================
> [ 1957.283717] WARNING: possible recursive locking detected
> [ 1957.289031] 5.13.2-rc1 #1 Not tainted
> [ 1957.292703] --------------------------------------------
> [ 1957.298016] kworker/u8:7/236 is trying to acquire lock:
> [ 1957.303241] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> bfq_finish_requeue_request+0x55/0x500 [bfq]
> [ 1957.312643]
> [ 1957.312643] but task is already holding lock:
> [ 1957.318467] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> bfq_insert_requests+0x81/0x1750 [bfq]
> [ 1957.327334]
> [ 1957.327334] other info that might help us debug this:
> [ 1957.333852] Possible unsafe locking scenario:
> [ 1957.333852]
> [ 1957.339762] CPU0
> [ 1957.342206] ----
> [ 1957.344651] lock(&bfqd->lock);
> [ 1957.347873] lock(&bfqd->lock);
> [ 1957.351097]
> [ 1957.351097] *** DEADLOCK ***
> [ 1957.351097]

Also noticed on stable-rc 5.12.17-rc1.

> Reported-by: Linux Kernel Functional Testing <[email protected]>
>
> ref:
> https://lkft.validation.linaro.org/scheduler/job/3058868#L2922

ref:
https://lkft.validation.linaro.org/scheduler/job/3058423#L3125


- Naresh

2021-07-14 14:28:19

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, Jul 14, 2021 at 07:29:26PM +0530, Naresh Kamboju wrote:
> On Wed, 14 Jul 2021 at 19:22, Naresh Kamboju <[email protected]> wrote:
> >
> > On Wed, 14 Jul 2021 at 19:01, Greg Kroah-Hartman
> > <[email protected]> wrote:
> > >
>
> <trim>
>
> > My two cents,
> > While running ssuite long running stress testing we have noticed deadlock.
> >
> > > So if you drop that, all works well? I'll go drop that from the queues
> > > now.
> >
> > Let me drop that patch and test it again.
> >
> > Crash log,
> >
> > [ 1957.278399] ============================================
> > [ 1957.283717] WARNING: possible recursive locking detected
> > [ 1957.289031] 5.13.2-rc1 #1 Not tainted
> > [ 1957.292703] --------------------------------------------
> > [ 1957.298016] kworker/u8:7/236 is trying to acquire lock:
> > [ 1957.303241] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> > bfq_finish_requeue_request+0x55/0x500 [bfq]
> > [ 1957.312643]
> > [ 1957.312643] but task is already holding lock:
> > [ 1957.318467] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> > bfq_insert_requests+0x81/0x1750 [bfq]
> > [ 1957.327334]
> > [ 1957.327334] other info that might help us debug this:
> > [ 1957.333852] Possible unsafe locking scenario:
> > [ 1957.333852]
> > [ 1957.339762] CPU0
> > [ 1957.342206] ----
> > [ 1957.344651] lock(&bfqd->lock);
> > [ 1957.347873] lock(&bfqd->lock);
> > [ 1957.351097]
> > [ 1957.351097] *** DEADLOCK ***
> > [ 1957.351097]
>
> Also noticed on stable-rc 5.12.17-rc1.

I dropped the same patch from there as well already, thanks.

greg k-h

2021-07-14 14:29:41

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, Jul 14, 2021 at 02:07:10PM +0000, Holger Kiehl wrote:
> On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:
>
> > On Wed, Jul 14, 2021 at 01:26:26PM +0000, Holger Kiehl wrote:
> > > On Wed, 14 Jul 2021, Holger Kiehl wrote:
> > >
> > > > On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:
> > > >
> > > > > On Wed, Jul 14, 2021 at 05:39:43AM +0000, Holger Kiehl wrote:
> > > > > > Hello,
> > > > > >
> > > > > > On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
> > > > > >
> > > > > > > This is the start of the stable review cycle for the 5.13.2 release.
> > > > > > > There are 800 patches in this series, all will be posted as a response
> > > > > > > to this one. If anyone has any issues with these being applied, please
> > > > > > > let me know.
> > > > > > >
> > > > > > > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > > > > > > Anything received after that time might be too late.
> > > > > > >
> > > > > > With this my system no longer boots:
> > > > > >
> > > > > > [ OK ] Reached target Swap.
> > > > > > [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> > > > > > [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> > > > > > [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> > > > > > [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> > > > > > See 'systemctl status systemd-udev-settle.service' for details.
> > > > > > Starting Activation of DM RAID sets...
> > > > > > [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> > > > > > [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
> > > > > >
> > > > > > System is a Fedora 34 with all updates applied. Two other similar
> > > > > > systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> > > > > > and boots fine. The system where it does not boot has an Intel
> > > > > > Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
> > > > > >
> > > > > > Any idea which patch I should drop to see if it boots again. I already
> > > > > > dropped
> > > > > >
> > > > > > [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
> > > > > >
> > > > > > and I just see that this one should also be dropped:
> > > > > >
> > > > > > [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
> > > > > >
> > > > > > Will still need to test this.
> > > > >
> > > > > Can you run 'git bisect' to see what commit causes the problem?
> > > > >
> > > > Yes, will try to do that. I think it will take some time ...
> > > >
> > > With the help of Pavel Machek and Jiri Slaby I was able 'git bisect'
> > > this to:
> > >
> > > yoda:/usr/src/kernels/linux-5.13.y# git bisect good
> > > a483f513670541227e6a31ac7141826b8c785842 is the first bad commit
> > > commit a483f513670541227e6a31ac7141826b8c785842
> > > Author: Jan Kara <[email protected]>
> > > Date: Wed Jun 23 11:36:33 2021 +0200
> > >
> > > bfq: Remove merged request already in bfq_requests_merged()
> > >
> > > [ Upstream commit a921c655f2033dd1ce1379128efe881dda23ea37 ]
> > >
> > > Currently, bfq does very little in bfq_requests_merged() and handles all
> > > the request cleanup in bfq_finish_requeue_request() called from
> > > blk_mq_free_request(). That is currently safe only because
> > > blk_mq_free_request() is called shortly after bfq_requests_merged()
> > > while bfqd->lock is still held. However to fix a lock inversion between
> > > bfqd->lock and ioc->lock, we need to call blk_mq_free_request() after
> > > dropping bfqd->lock. That would mean that already merged request could
> > > be seen by other processes inside bfq queues and possibly dispatched to
> > > the device which is wrong. So move cleanup of the request from
> > > bfq_finish_requeue_request() to bfq_requests_merged().
> > >
> > > Acked-by: Paolo Valente <[email protected]>
> > > Signed-off-by: Jan Kara <[email protected]>
> > > Link: https://lore.kernel.org/r/[email protected]
> > > Signed-off-by: Jens Axboe <[email protected]>
> > > Signed-off-by: Sasha Levin <[email protected]>
> > >
> > > block/bfq-iosched.c | 41 +++++++++++++----------------------------
> > > 1 file changed, 13 insertions(+), 28 deletions(-)
> > >
> > > Holger
> >
> > Wonderful!
> >
> > So if you drop that, all works well? I'll go drop that from the queues
> > now.
> >
> Yes. Just double checked it took a plain 5.13.1, patched it with
> patch-5.13.2-rc1.xz and then reverted
>
> PATCH-5.13-259-800-bfq-Remove-merged-request-already-in-bfq_requests_merged
>
> and it booted fine with no problems. Tested several times.
> Just wonder why it only happens on the Intel Broadwell CPU.
> Maybe it is the 128MB eDRAM L4 Cache ...

Wondeful!

Could you test 5.14-rc1 to verify if this problem is there or not? If
it is, the developers need to know this so that they can work to fix the
regression.

thanks,

greg k-h

2021-07-14 15:19:56

by Holger Kiehl

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:

> On Wed, Jul 14, 2021 at 02:07:10PM +0000, Holger Kiehl wrote:
> > On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:
> >
> > > On Wed, Jul 14, 2021 at 01:26:26PM +0000, Holger Kiehl wrote:
> > > > On Wed, 14 Jul 2021, Holger Kiehl wrote:
> > > >
> > > > > On Wed, 14 Jul 2021, Greg Kroah-Hartman wrote:
> > > > >
> > > > > > On Wed, Jul 14, 2021 at 05:39:43AM +0000, Holger Kiehl wrote:
> > > > > > > Hello,
> > > > > > >
> > > > > > > On Mon, 12 Jul 2021, Greg Kroah-Hartman wrote:
> > > > > > >
> > > > > > > > This is the start of the stable review cycle for the 5.13.2 release.
> > > > > > > > There are 800 patches in this series, all will be posted as a response
> > > > > > > > to this one. If anyone has any issues with these being applied, please
> > > > > > > > let me know.
> > > > > > > >
> > > > > > > > Responses should be made by Wed, 14 Jul 2021 06:02:46 +0000.
> > > > > > > > Anything received after that time might be too late.
> > > > > > > >
> > > > > > > With this my system no longer boots:
> > > > > > >
> > > > > > > [ OK ] Reached target Swap.
> > > > > > > [ 75.213852] NMI watchdog: Watchdog detected hard LOCKUP on cpu 0
> > > > > > > [ 75.213926] NMI watchdog: Watchdog detected hard LOCKUP on cpu 2
> > > > > > > [ 75.213962] NMI watchdog: Watchdog detected hard LOCKUP on cpu 4
> > > > > > > [FAILED] Failed to start Wait for udev To Complete Device Initialization.
> > > > > > > See 'systemctl status systemd-udev-settle.service' for details.
> > > > > > > Starting Activation of DM RAID sets...
> > > > > > > [ ] (1 of 2) A start job is running for Activation of DM RAID sets (..min ..s / no limit)
> > > > > > > [ ] (2 of 2) A start job is running for Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling (..min ..s / no limit)
> > > > > > >
> > > > > > > System is a Fedora 34 with all updates applied. Two other similar
> > > > > > > systems with AMD CPUs (Ryzen 4750G + 3400G) this does not happen
> > > > > > > and boots fine. The system where it does not boot has an Intel
> > > > > > > Xeon E3-1285L v4 CPU. All of them use a dm_crypt root filesystem.
> > > > > > >
> > > > > > > Any idea which patch I should drop to see if it boots again. I already
> > > > > > > dropped
> > > > > > >
> > > > > > > [PATCH 5.13 743/800] ASoC: Intel: sof_sdw: add quirk support for Brya and BT-offload
> > > > > > >
> > > > > > > and I just see that this one should also be dropped:
> > > > > > >
> > > > > > > [PATCH 5.13 768/800] hugetlb: address ref count racing in prep_compound_gigantic_page
> > > > > > >
> > > > > > > Will still need to test this.
> > > > > >
> > > > > > Can you run 'git bisect' to see what commit causes the problem?
> > > > > >
> > > > > Yes, will try to do that. I think it will take some time ...
> > > > >
> > > > With the help of Pavel Machek and Jiri Slaby I was able 'git bisect'
> > > > this to:
> > > >
> > > > yoda:/usr/src/kernels/linux-5.13.y# git bisect good
> > > > a483f513670541227e6a31ac7141826b8c785842 is the first bad commit
> > > > commit a483f513670541227e6a31ac7141826b8c785842
> > > > Author: Jan Kara <[email protected]>
> > > > Date: Wed Jun 23 11:36:33 2021 +0200
> > > >
> > > > bfq: Remove merged request already in bfq_requests_merged()
> > > >
> > > > [ Upstream commit a921c655f2033dd1ce1379128efe881dda23ea37 ]
> > > >
> > > > Currently, bfq does very little in bfq_requests_merged() and handles all
> > > > the request cleanup in bfq_finish_requeue_request() called from
> > > > blk_mq_free_request(). That is currently safe only because
> > > > blk_mq_free_request() is called shortly after bfq_requests_merged()
> > > > while bfqd->lock is still held. However to fix a lock inversion between
> > > > bfqd->lock and ioc->lock, we need to call blk_mq_free_request() after
> > > > dropping bfqd->lock. That would mean that already merged request could
> > > > be seen by other processes inside bfq queues and possibly dispatched to
> > > > the device which is wrong. So move cleanup of the request from
> > > > bfq_finish_requeue_request() to bfq_requests_merged().
> > > >
> > > > Acked-by: Paolo Valente <[email protected]>
> > > > Signed-off-by: Jan Kara <[email protected]>
> > > > Link: https://lore.kernel.org/r/[email protected]
> > > > Signed-off-by: Jens Axboe <[email protected]>
> > > > Signed-off-by: Sasha Levin <[email protected]>
> > > >
> > > > block/bfq-iosched.c | 41 +++++++++++++----------------------------
> > > > 1 file changed, 13 insertions(+), 28 deletions(-)
> > > >
> > > > Holger
> > >
> > > Wonderful!
> > >
> > > So if you drop that, all works well? I'll go drop that from the queues
> > > now.
> > >
> > Yes. Just double checked it took a plain 5.13.1, patched it with
> > patch-5.13.2-rc1.xz and then reverted
> >
> > PATCH-5.13-259-800-bfq-Remove-merged-request-already-in-bfq_requests_merged
> >
> > and it booted fine with no problems. Tested several times.
> > Just wonder why it only happens on the Intel Broadwell CPU.
> > Maybe it is the 128MB eDRAM L4 Cache ...
>
> Wondeful!
>
> Could you test 5.14-rc1 to verify if this problem is there or not? If
> it is, the developers need to know this so that they can work to fix the
> regression.
>
No. 5.14-rc1 boots fine. Could not see any problems with it. Just tried
it.

Holger

2021-07-15 12:43:45

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Wed 14-07-21 16:26:52, Greg Kroah-Hartman wrote:
> On Wed, Jul 14, 2021 at 07:29:26PM +0530, Naresh Kamboju wrote:
> > On Wed, 14 Jul 2021 at 19:22, Naresh Kamboju <[email protected]> wrote:
> > >
> > > On Wed, 14 Jul 2021 at 19:01, Greg Kroah-Hartman
> > > <[email protected]> wrote:
> > > >
> >
> > <trim>
> >
> > > My two cents,
> > > While running ssuite long running stress testing we have noticed deadlock.
> > >
> > > > So if you drop that, all works well? I'll go drop that from the queues
> > > > now.
> > >
> > > Let me drop that patch and test it again.
> > >
> > > Crash log,
> > >
> > > [ 1957.278399] ============================================
> > > [ 1957.283717] WARNING: possible recursive locking detected
> > > [ 1957.289031] 5.13.2-rc1 #1 Not tainted
> > > [ 1957.292703] --------------------------------------------
> > > [ 1957.298016] kworker/u8:7/236 is trying to acquire lock:
> > > [ 1957.303241] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> > > bfq_finish_requeue_request+0x55/0x500 [bfq]
> > > [ 1957.312643]
> > > [ 1957.312643] but task is already holding lock:
> > > [ 1957.318467] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> > > bfq_insert_requests+0x81/0x1750 [bfq]
> > > [ 1957.327334]
> > > [ 1957.327334] other info that might help us debug this:
> > > [ 1957.333852] Possible unsafe locking scenario:
> > > [ 1957.333852]
> > > [ 1957.339762] CPU0
> > > [ 1957.342206] ----
> > > [ 1957.344651] lock(&bfqd->lock);
> > > [ 1957.347873] lock(&bfqd->lock);
> > > [ 1957.351097]
> > > [ 1957.351097] *** DEADLOCK ***
> > > [ 1957.351097]
> >
> > Also noticed on stable-rc 5.12.17-rc1.
>
> I dropped the same patch from there as well already, thanks.

OK, when you dropped this patch, please also drop upstream commit
fd2ef39cc9a6b ("blk: Fix lock inversion between ioc lock and bfqd lock").
Because without BFQ patch this block layer patch could cause some
use-after-free issues. I'll have a look if I can understand why BFQ patch
causes problems in stable kernels...

Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR

2021-07-15 13:08:08

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

On Thu, Jul 15, 2021 at 02:27:58PM +0200, Jan Kara wrote:
> On Wed 14-07-21 16:26:52, Greg Kroah-Hartman wrote:
> > On Wed, Jul 14, 2021 at 07:29:26PM +0530, Naresh Kamboju wrote:
> > > On Wed, 14 Jul 2021 at 19:22, Naresh Kamboju <[email protected]> wrote:
> > > >
> > > > On Wed, 14 Jul 2021 at 19:01, Greg Kroah-Hartman
> > > > <[email protected]> wrote:
> > > > >
> > >
> > > <trim>
> > >
> > > > My two cents,
> > > > While running ssuite long running stress testing we have noticed deadlock.
> > > >
> > > > > So if you drop that, all works well? I'll go drop that from the queues
> > > > > now.
> > > >
> > > > Let me drop that patch and test it again.
> > > >
> > > > Crash log,
> > > >
> > > > [ 1957.278399] ============================================
> > > > [ 1957.283717] WARNING: possible recursive locking detected
> > > > [ 1957.289031] 5.13.2-rc1 #1 Not tainted
> > > > [ 1957.292703] --------------------------------------------
> > > > [ 1957.298016] kworker/u8:7/236 is trying to acquire lock:
> > > > [ 1957.303241] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> > > > bfq_finish_requeue_request+0x55/0x500 [bfq]
> > > > [ 1957.312643]
> > > > [ 1957.312643] but task is already holding lock:
> > > > [ 1957.318467] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> > > > bfq_insert_requests+0x81/0x1750 [bfq]
> > > > [ 1957.327334]
> > > > [ 1957.327334] other info that might help us debug this:
> > > > [ 1957.333852] Possible unsafe locking scenario:
> > > > [ 1957.333852]
> > > > [ 1957.339762] CPU0
> > > > [ 1957.342206] ----
> > > > [ 1957.344651] lock(&bfqd->lock);
> > > > [ 1957.347873] lock(&bfqd->lock);
> > > > [ 1957.351097]
> > > > [ 1957.351097] *** DEADLOCK ***
> > > > [ 1957.351097]
> > >
> > > Also noticed on stable-rc 5.12.17-rc1.
> >
> > I dropped the same patch from there as well already, thanks.
>
> OK, when you dropped this patch, please also drop upstream commit
> fd2ef39cc9a6b ("blk: Fix lock inversion between ioc lock and bfqd lock").

That commit did not end up in the tree either, so all should be good.

thanks,

greg k-h

2021-07-15 14:11:21

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

Hi Naresh!

On Wed 14-07-21 19:22:59, Naresh Kamboju wrote:
> My two cents,
> While running ssuite long running stress testing we have noticed deadlock.
>
> > So if you drop that, all works well? I'll go drop that from the queues
> > now.
>
> Let me drop that patch and test it again.
>
> Crash log,
>
> [ 1957.278399] ============================================
> [ 1957.283717] WARNING: possible recursive locking detected
> [ 1957.289031] 5.13.2-rc1 #1 Not tainted
> [ 1957.292703] --------------------------------------------
> [ 1957.298016] kworker/u8:7/236 is trying to acquire lock:
> [ 1957.303241] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> bfq_finish_requeue_request+0x55/0x500 [bfq]
> [ 1957.312643]
> [ 1957.312643] but task is already holding lock:
> [ 1957.318467] ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> bfq_insert_requests+0x81/0x1750 [bfq]
> [ 1957.327334]
> [ 1957.327334] other info that might help us debug this:
> [ 1957.333852] Possible unsafe locking scenario:
> [ 1957.333852]
> [ 1957.339762] CPU0
> [ 1957.342206] ----
> [ 1957.344651] lock(&bfqd->lock);
> [ 1957.347873] lock(&bfqd->lock);
> [ 1957.351097]
> [ 1957.351097] *** DEADLOCK ***
> [ 1957.351097]
> [ 1957.357008] May be due to missing lock nesting notation
> [ 1957.357008]
> [ 1957.363783] 3 locks held by kworker/u8:7/236:
> [ 1957.368136] #0: ffff8cc2009c5938
> ((wq_completion)writeback){+.+.}-{0:0}, at:
> process_one_work+0x207/0x5e0
> [ 1957.377782] #1: ffff9ba980d57e68
> ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at:
> process_one_work+0x207/0x5e0
> [ 1957.388640] #2: ffff8cc203f92c38 (&bfqd->lock){-.-.}-{2:2}, at:
> bfq_insert_requests+0x81/0x1750 [bfq]
> [ 1957.397938]
> [ 1957.397938] stack backtrace:
> [ 1957.402291] CPU: 1 PID: 236 Comm: kworker/u8:7 Not tainted 5.13.2-rc1 #1
> [ 1957.408989] Hardware name: Supermicro SYS-5019S-ML/X11SSH-F, BIOS
> 2.2 05/23/2018
> [ 1957.416374] Workqueue: writeback wb_workfn (flush-8:0)
> [ 1957.421513] Call Trace:
> [ 1957.423966] dump_stack+0x76/0x95
> [ 1957.427283] __lock_acquire+0xb70/0x1a50
> [ 1957.431203] ? lock_is_held_type+0xa0/0x110
> [ 1957.435388] ? bfq_init_rq+0x30e/0x1140 [bfq]
> [ 1957.439748] lock_acquire+0x258/0x2e0
> [ 1957.443413] ? bfq_finish_requeue_request+0x55/0x500 [bfq]
> [ 1957.448923] ? __lock_acquire+0x4a6/0x1a50
> [ 1957.453016] ? __lock_acquire+0x3e0/0x1a50
> [ 1957.457107] _raw_spin_lock_irqsave+0x3f/0x60
> [ 1957.461466] ? bfq_finish_requeue_request+0x55/0x500 [bfq]
> [ 1957.466950] bfq_finish_requeue_request+0x55/0x500 [bfq]
> [ 1957.472256] ? rcu_read_lock_sched_held+0x4f/0x80
> [ 1957.476960] blk_mq_free_request+0x3e/0x140
> [ 1957.481146] blk_put_request+0xe/0x10
> [ 1957.484804] blk_attempt_req_merge+0x1d/0x30
> [ 1957.489075] elv_attempt_insert_merge+0x34/0x90
> [ 1957.493599] blk_mq_sched_try_insert_merge+0x2c/0x50
> [ 1957.498556] bfq_insert_requests+0x8d/0x1750 [bfq]
> [ 1957.503342] ? find_held_lock+0x35/0xa0
> [ 1957.507180] ? writeback_sb_inodes+0x35a/0x550
> [ 1957.511618] blk_mq_sched_insert_requests+0xd9/0x2a0
> [ 1957.516580] blk_mq_flush_plug_list+0x138/0x270
> [ 1957.521110] blk_flush_plug_list+0xd1/0x100
> [ 1957.525295] blk_finish_plug+0x2c/0x40
> [ 1957.529045] wb_writeback+0x1ab/0x430
> [ 1957.532702] ? _raw_spin_unlock_bh+0x30/0x40
> [ 1957.536970] wb_workfn+0xcb/0x660
> [ 1957.540286] ? wb_workfn+0xcb/0x660
> [ 1957.543770] ? lock_acquire+0x258/0x2e0
> [ 1957.547600] ? process_one_work+0x207/0x5e0
> [ 1957.551778] process_one_work+0x289/0x5e0
> [ 1957.555782] ? inode_wait_for_writeback+0x40/0x40
> [ 1957.560477] ? process_one_work+0x289/0x5e0
> [ 1957.564656] worker_thread+0x3c/0x3f0
> [ 1957.568315] ? process_one_work+0x5e0/0x5e0
> [ 1957.572500] kthread+0x14c/0x170
> [ 1957.575733] ? set_kthread_struct+0x40/0x40
> [ 1957.579921] ret_from_fork+0x22/0x30
> Waiting for transitory to terminate: 5[0KWaiting for transitory to
> terminate: 4[0K[ 2106.390977] systemd[1]: systemd-resolved.service:
> Watchdog timeout (limit 3min)!
> [ 2106.398454] systemd[1]: systemd-resolved.service: Killing process
> 349 (systemd-resolve) with signal SIGABRT.

Thanks for testing and the report! So this looks like you didn't have
commit fd2ef39cc9a ("blk: Fix lock inversion between ioc lock and bfqd
lock") applied. As I was looking into BFQ code indeed commit a921c655f2
("bfq: Remove merged request already in bfq_requests_merged()") on its own
would introduce this deadlock which then gets fixed up by commit
fd2ef39cc9a (I didn't realize this when writing the series). So we either
need to apply both commits or none of them. Do you see some problems with
both commits applied?

Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR

2021-07-15 18:32:04

by Ronald Warsow

[permalink] [raw]
Subject: Re: [PATCH 5.13 000/800] 5.13.2-rc1 review

hallo

--- snip ---


+++ UPDATE 2 +++
################

all nice again with 5.13.2 release
thanks

---
regards

Ronald