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(-)
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),
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) },
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
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;
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;
}
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)
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;
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;
}
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;
}
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);
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;
}
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);
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
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;
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,
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},
};
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);
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);
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);
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);
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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);
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;
}
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));
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,
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]>
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
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
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
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
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]>
hallo
all fine here on an Intel i7-6700 box.
thanks
--
regards
Ronald
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
hallo
--- snip ---
+++ UPDATE 2 +++
################
all nice again with 5.13.2 release
thanks
---
regards
Ronald