This is the start of the stable review cycle for the 6.1.91 release.
There are 243 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 Fri, 17 May 2024 08:23:27 +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/v6.x/stable-review/patch-6.1.91-rc2.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.1.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 6.1.91-rc2
Li Nan <[email protected]>
md: fix kmemleak of rdev->serial
Oscar Salvador <[email protected]>
mm,swapops: update check in is_pfn_swap_entry for hwpoison entries
Miaohe Lin <[email protected]>
mm/hugetlb: fix DEBUG_LOCKS_WARN_ON(1) when dissolve_free_hugetlb_folio()
Qu Wenruo <[email protected]>
btrfs: do not wait for short bulk allocation
Silvio Gissi <[email protected]>
keys: Fix overwrite of key expiration on instantiation
Nikhil Rao <[email protected]>
dmaengine: idxd: add a write() method for applications to submit work
Arjan van de Ven <[email protected]>
dmaengine: idxd: add a new security check to deal with a hardware erratum
Arjan van de Ven <[email protected]>
VFIO: Add the SPR_DSA and SPR_IAX devices to the denylist
Johan Hovold <[email protected]>
Bluetooth: qca: fix firmware check error path
Johan Hovold <[email protected]>
Bluetooth: qca: fix info leak when fetching fw build id
Johan Hovold <[email protected]>
Bluetooth: qca: fix info leak when fetching board id
Johan Hovold <[email protected]>
Bluetooth: qca: fix NVM configuration parsing
Johan Hovold <[email protected]>
Bluetooth: qca: add missing firmware sanity checks
Namjae Jeon <[email protected]>
ksmbd: do not grant v2 lease if parent lease key and epoch are not set
Namjae Jeon <[email protected]>
ksmbd: avoid to send duplicate lease break notifications
Namjae Jeon <[email protected]>
ksmbd: off ipv6only for both ipv4/ipv6 binding
Conor Dooley <[email protected]>
spi: microchip-core-qspi: fix setting spi bus clock rate
Johan Hovold <[email protected]>
regulator: core: fix debugfs creation regression
Kefeng Wang <[email protected]>
mm: use memalloc_nofs_save() in page_cache_ra_order()
Lakshmi Yadlapati <[email protected]>
hwmon: (pmbus/ucd9000) Increase delay from 250 to 500us
Thadeu Lima de Souza Cascardo <[email protected]>
net: fix out-of-bounds access in ops_init
George Shen <[email protected]>
drm/amd/display: Handle Y carry-over in VCP X.Y calculation
Karthikeyan Ramasubramanian <[email protected]>
drm/i915/bios: Fix parsing backlight BDB data
Zack Rusin <[email protected]>
drm/vmwgfx: Fix invalid reads in fence signaled events
Alex Deucher <[email protected]>
drm/amdkfd: don't allow mapping the MMIO HDP page with large pages
Alexander Usyskin <[email protected]>
mei: me: add lunar lake point M DID
Viken Dadhaniya <[email protected]>
slimbus: qcom-ngd-ctrl: Add timeout for wait operation
Jim Cromie <[email protected]>
dyndbg: fix old BUG_ON in >control parser
Joao Paulo Goncalves <[email protected]>
ASoC: ti: davinci-mcasp: Fix race condition during probe
Sameer Pujar <[email protected]>
ASoC: tegra: Fix DSPK 16-bit playback
Doug Berger <[email protected]>
net: bcmgenet: synchronize UMAC_CMD access
Doug Berger <[email protected]>
net: bcmgenet: synchronize use of bcmgenet_set_rx_mode()
Doug Berger <[email protected]>
net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
Paolo Abeni <[email protected]>
tipc: fix UAF in error path
Alexander Potapenko <[email protected]>
kmsan: compiler_types: declare __no_sanitize_or_inline
Hans de Goede <[email protected]>
iio: accel: mxc4005: Interrupt handling fixes
Ramona Gradinariu <[email protected]>
iio:imu: adis16475: Fix sync mode setting
Javier Carrasco <[email protected]>
dt-bindings: iio: health: maxim,max30102: fix compatible check
Paolo Abeni <[email protected]>
mptcp: ensure snd_nxt is properly initialized on connect
Dan Carpenter <[email protected]>
mm/slab: make __free(kfree) accept error pointers
Dominique Martinet <[email protected]>
btrfs: add missing mutex_unlock in btrfs_relocate_sys_chunks()
Aman Dhoot <[email protected]>
ALSA: hda/realtek: Fix mute led of HP Laptop 15-da3001TU
Badhri Jagan Sridharan <[email protected]>
usb: typec: tcpm: Check for port partner validity before consuming it
Amit Sunil Dhamne <[email protected]>
usb: typec: tcpm: unregister existing source caps before re-registration
Thinh Nguyen <[email protected]>
usb: dwc3: core: Prevent phy suspend during init
Thinh Nguyen <[email protected]>
usb: xhci-plat: Don't include xhci.h
Chris Wulff <[email protected]>
usb: gadget: f_fs: Fix a race condition when processing setup packets.
Peter Korsgaard <[email protected]>
usb: gadget: composite: fix OS descriptors w_value logic
Alan Stern <[email protected]>
USB: core: Fix access violation during port device removal
Guenter Roeck <[email protected]>
usb: ohci: Prevent missed ohci interrupts
Alan Stern <[email protected]>
usb: Fix regression caused by invalid ep0 maxpacket in virtual SuperSpeed device
Christian A. Ehrhardt <[email protected]>
usb: typec: ucsi: Fix connector check on init
Christian A. Ehrhardt <[email protected]>
usb: typec: ucsi: Check for notifications after init
Benno Lossin <[email protected]>
rust: macros: fix soundness issue in `module!` macro
Thomas Bertschinger <[email protected]>
rust: module: place generated init_module() function in .init.text
Andrea Righi <[email protected]>
btf, scripts: rust: drop is_rust_module.sh
Andrea Righi <[email protected]>
rust: fix regexp in scripts/is_rust_module.sh
Asahi Lina <[email protected]>
rust: error: Rename to_kernel_errno() -> to_errno()
Linus Torvalds <[email protected]>
Reapply "drm/qxl: simplify qxl_fence_wait"
Thanassis Avgerinos <[email protected]>
firewire: nosy: ensure user_length is taken into account when fetching packet contents
Dmitry Antipov <[email protected]>
btrfs: fix kvcalloc() arguments order in btrfs_ioctl_send()
Christian König <[email protected]>
drm/amdgpu: once more fix the call oder in amdgpu_ttm_move() v2
Leah Rumancik <[email protected]>
MAINTAINERS: add leah to 6.1 MAINTAINERS file
Gabe Teeger <[email protected]>
drm/amd/display: Atom Integrated System Info v2_2 for DCN35
Kent Gibson <[email protected]>
gpiolib: cdev: fix uninitialised kfifo
Kent Gibson <[email protected]>
gpiolib: cdev: relocate debounce_period_us from struct gpio_desc
Andy Shevchenko <[email protected]>
gpiolib: cdev: Add missing header(s)
Mario Limonciello <[email protected]>
dm/amd/pm: Fix problems with reboot/shutdown for some SMU 13.0.4/13.0.11 users
Douglas Anderson <[email protected]>
drm/connector: Add \n to message about demoting connector force-probes
Jerome Brunet <[email protected]>
drm/meson: dw-hdmi: add bandgap setting for g12
Jerome Brunet <[email protected]>
drm/meson: dw-hdmi: power up phy on device init
Yonglong Liu <[email protected]>
net: hns3: fix kernel crash when devlink reload during initialization
Yonglong Liu <[email protected]>
net: hns3: fix port vlan filter not disabled issue
Peiyang Wang <[email protected]>
net: hns3: use appropriate barrier function after setting a bit value
Peiyang Wang <[email protected]>
net: hns3: release PTP resources if pf initialization failed
Peiyang Wang <[email protected]>
net: hns3: change type of numa_node_mask as nodemask_t
Jian Shen <[email protected]>
net: hns3: direct return when receive a unknown mailbox message
Peiyang Wang <[email protected]>
net: hns3: using user configure after hardware reset
Wen Gu <[email protected]>
net/smc: fix neighbour and rtable leak in smc_ib_find_route()
Eric Dumazet <[email protected]>
ipv6: prevent NULL dereference in ip6_output()
Eric Dumazet <[email protected]>
ipv6: annotate data-races around cnf.disable_ipv6
Lukasz Majewski <[email protected]>
hsr: Simplify code for announcing HSR nodes timer setup
Eric Dumazet <[email protected]>
net-sysfs: convert dev->operstate reads to lockless ones
Thomas Gleixner <[email protected]>
timers: Rename del_timer() to timer_delete()
Thomas Gleixner <[email protected]>
timers: Get rid of del_singleshot_timer_sync()
Eric Dumazet <[email protected]>
ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action()
Felix Fietkau <[email protected]>
net: bridge: fix corrupted ethernet header on multicast-to-unicast
Eric Dumazet <[email protected]>
phonet: fix rtm_phonet_notify() skb allocation
Aleksa Savic <[email protected]>
hwmon: (corsair-cpro) Protect ccp->wait_input_report with a spinlock
Aleksa Savic <[email protected]>
hwmon: (corsair-cpro) Use complete_all() instead of complete() in ccp_raw_event()
Aleksa Savic <[email protected]>
hwmon: (corsair-cpro) Use a separate buffer for sending commands
Roded Zats <[email protected]>
rtnetlink: Correct nested IFLA_VF_VLAN_LIST attribute validation
Marek Vasut <[email protected]>
net: ks8851: Queue RX packets in IRQ handler instead of disabling BHs
Duoming Zhou <[email protected]>
Bluetooth: l2cap: fix null-ptr-deref in l2cap_chan_timeout
Sungwoo Kim <[email protected]>
Bluetooth: msft: fix slab-use-after-free in msft_do_close()
Duoming Zhou <[email protected]>
Bluetooth: Fix use-after-free bugs caused by sco_sock_timeout
Kuniyuki Iwashima <[email protected]>
tcp: Use refcount_inc_not_zero() in tcp_twsk_unique().
Eric Dumazet <[email protected]>
tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets
Boy.Wu <[email protected]>
ARM: 9381/1: kasan: clear stale stack poison
Paul Davey <[email protected]>
xfrm: Preserve vlan tags for transport mode software GRO
Al Viro <[email protected]>
qibfs: fix dentry leak
Namhyung Kim <[email protected]>
perf unwind-libdw: Handle JIT-generated DSOs properly
Namhyung Kim <[email protected]>
perf unwind-libunwind: Fix base address for .eh_frame
Geert Uytterhoeven <[email protected]>
spi: Merge spi_controller.{slave,target}_abort()
Miguel Ojeda <[email protected]>
kbuild: rust: avoid creating temporary files
Vanillan Wang <[email protected]>
net:usb:qmi_wwan: support Rolling modules
Lyude Paul <[email protected]>
drm/nouveau/dp: Don't probe eDP ports twice harder
Joakim Sindholt <[email protected]>
fs/9p: drop inodes immediately on non-.L too
Stephen Boyd <[email protected]>
clk: Don't hold prepare_lock when calling kref_put()
Andy Shevchenko <[email protected]>
gpio: crystalcove: Use -ENOTSUPP consistently
Andy Shevchenko <[email protected]>
gpio: wcove: Use -ENOTSUPP consistently
Jeff Layton <[email protected]>
9p: explicitly deny setlease attempts
Joakim Sindholt <[email protected]>
fs/9p: translate O_TRUNC into OTRUNC
Joakim Sindholt <[email protected]>
fs/9p: only translate RWX permissions for plain 9P2000
Krzysztof Kozlowski <[email protected]>
iommu: mtk: fix module autoloading
Michael Kelley <[email protected]>
Drivers: hv: vmbus: Don't free ring buffers that couldn't be re-encrypted
Rick Edgecombe <[email protected]>
uio_hv_generic: Don't free decrypted memory
Rick Edgecombe <[email protected]>
Drivers: hv: vmbus: Track decrypted status in vmbus_gpadl
John Stultz <[email protected]>
selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior
Lijo Lazar <[email protected]>
drm/amdgpu: Refine IB schedule error logging
Justin Ernst <[email protected]>
tools/power/turbostat: Fix uncore frequency file string
Jiaxun Yang <[email protected]>
MIPS: scall: Save thread_info.syscall unconditionally on entry
Thierry Reding <[email protected]>
gpu: host1x: Do not setup DMA for virtual devices
Rik van Riel <[email protected]>
blk-iocost: avoid out of bounds shift
Maurizio Lombardi <[email protected]>
scsi: target: Fix SELinux error when systemd-modules loads the target module
Wei Yang <[email protected]>
memblock tests: fix undefined reference to `BIT'
Wei Yang <[email protected]>
memblock tests: fix undefined reference to `panic'
Wei Yang <[email protected]>
memblock tests: fix undefined reference to `early_pfn_to_nid'
Boris Burkov <[email protected]>
btrfs: always clear PERTRANS metadata during commit
Boris Burkov <[email protected]>
btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve
Peng Liu <[email protected]>
tools/power turbostat: Fix Bzy_MHz documentation typo
Wyes Karny <[email protected]>
tools/power turbostat: Increase the limit for fd opened
Doug Smythies <[email protected]>
tools/power turbostat: Fix added raw MSR output
Adam Goldman <[email protected]>
firewire: ohci: mask bus reset interrupts between ISR and bottom half
Chen Ni <[email protected]>
ata: sata_gemini: Check clk_enable() result
Phil Elwell <[email protected]>
net: bcmgenet: Reset RBUF on first open
Li Nan <[email protected]>
block: fix overflow in blk_ioctl_discard()
Takashi Iwai <[email protected]>
ALSA: line6: Zero-initialize message buffers
Peter Wang <[email protected]>
scsi: ufs: core: WLUN suspend dev/link state error recovery
Borislav Petkov (AMD) <[email protected]>
kbuild: Disable KCSAN for autogenerated *.mod.c intermediaries
Andrei Matei <[email protected]>
bpf: Check bloom filter map value size
Anand Jain <[email protected]>
btrfs: return accurate error code on open failure in open_fs_devices()
Saurav Kashyap <[email protected]>
scsi: bnx2fc: Remove spin_lock_bh while releasing resources after upload
Shin'ichiro Kawasaki <[email protected]>
scsi: mpi3mr: Avoid memcpy field-spanning write WARNING
linke li <[email protected]>
net: mark racy access on sk->sk_rcvbuf
Igor Artemiev <[email protected]>
wifi: cfg80211: fix rdev_dump_mpp() arguments order
Jeff Johnson <[email protected]>
wifi: mac80211: fix ieee80211_bss_*_flags kernel-doc
Andrew Price <[email protected]>
gfs2: Fix invalid metadata access in punch_hole
Justin Tee <[email protected]>
scsi: lpfc: Release hbalock before calling lpfc_worker_wake_up()
Justin Tee <[email protected]>
scsi: lpfc: Replace hbalock with ndlp lock in lpfc_nvme_unregister_port()
Justin Tee <[email protected]>
scsi: lpfc: Update lpfc_ramp_down_queue_handler() logic
Justin Tee <[email protected]>
scsi: lpfc: Move NPIV's transport unregistration to after resource clean up
Oliver Upton <[email protected]>
KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr()
Marc Zyngier <[email protected]>
KVM: arm64: vgic-v2: Use cpuid from userspace as vcpu_id
Gaurav Batra <[email protected]>
powerpc/pseries/iommu: LPAR panics during boot up with a frozen PE
Nayna Jain <[email protected]>
powerpc/pseries: make max polling consistent for longer H_CALLs
Russell Currey <[email protected]>
powerpc/pseries: Move PLPKS constants to header file
Nayna Jain <[email protected]>
powerpc/pseries: replace kmalloc with kzalloc in PLPKS driver
Jernej Skrabec <[email protected]>
clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change
Richard Gobert <[email protected]>
net: gro: add flush check in udp_gro_receive_segment
Andy Shevchenko <[email protected]>
drm/panel: ili9341: Use predefined error codes
Andy Shevchenko <[email protected]>
drm/panel: ili9341: Respect deferred probe
Alexandra Winter <[email protected]>
s390/qeth: Fix kernel panic after setting hsuid
Guillaume Nault <[email protected]>
vxlan: Pull inner IP header in vxlan_rcv().
Xin Long <[email protected]>
tipc: fix a possible memleak in tipc_buf_append
Felix Fietkau <[email protected]>
net: core: reject skb_copy(_expand) for fraglist GSO skbs
Felix Fietkau <[email protected]>
net: bridge: fix multicast-to-unicast with fraglist GSO
Mans Rullgard <[email protected]>
spi: fix null pointer dereference within spi_sync
Marek Behún <[email protected]>
net: dsa: mv88e6xxx: Fix number of databases for 88E6141 / 88E6341
Sebastian Andrzej Siewior <[email protected]>
cxgb4: Properly lock TX queue for the selftest.
Bui Quang Minh <[email protected]>
s390/cio: Ensure the copied buf is NUL terminated
Pierre-Louis Bossart <[email protected]>
ALSA: hda: intel-sdw-acpi: fix usage of device_get_named_child_node()
Jerome Brunet <[email protected]>
ASoC: meson: cards: select SND_DYNAMIC_MINORS
Jerome Brunet <[email protected]>
ASoC: meson: axg-tdm-interface: manage formatters in trigger
Jerome Brunet <[email protected]>
ASoC: meson: axg-card: make links nonatomic
Jerome Brunet <[email protected]>
ASoC: meson: axg-fifo: use threaded irq to check periods
Jerome Brunet <[email protected]>
ASoC: meson: axg-fifo: use FIELD helpers
Asbjørn Sloth Tønnesen <[email protected]>
net: qede: use return from qede_parse_actions()
Asbjørn Sloth Tønnesen <[email protected]>
net: qede: use return from qede_parse_flow_attr() for flow_spec
Asbjørn Sloth Tønnesen <[email protected]>
net: qede: use return from qede_parse_flow_attr() for flower
Asbjørn Sloth Tønnesen <[email protected]>
net: qede: sanitize 'rc' in qede_add_tc_flower_fltr()
Jens Remus <[email protected]>
s390/vdso: Add CFI for RA register to asm macro vdso_func
David Bauer <[email protected]>
net l2tp: drop flow hash on forward
Kuniyuki Iwashima <[email protected]>
nsh: Restore skb->{protocol,data,mac_header} for outer header in nsh_gso_segment().
Bui Quang Minh <[email protected]>
octeontx2-af: avoid off-by-one read from userspace
Bui Quang Minh <[email protected]>
bna: ensure the copied buf is NUL terminated
Toke Høiland-Jørgensen <[email protected]>
xdp: use flags field to disambiguate broadcast redirect
Claudio Imbrenda <[email protected]>
s390/mm: Fix clearing storage keys for huge pages
Claudio Imbrenda <[email protected]>
s390/mm: Fix storage key clearing for guest huge pages
Xu Kuohai <[email protected]>
bpf, arm64: Fix incorrect runtime stats
Devyn Liu <[email protected]>
spi: hisi-kunpeng: Delete the dump interface of data registers in debugfs
David Lechner <[email protected]>
spi: axi-spi-engine: fix version format string
David Lechner <[email protected]>
spi: axi-spi-engine: use common AXI macros
David Lechner <[email protected]>
spi: axi-spi-engine: move msg state to new struct
David Lechner <[email protected]>
spi: axi-spi-engine: use devm_spi_alloc_host()
David Lechner <[email protected]>
spi: axi-spi-engine: simplify driver data allocation
Li Zetao <[email protected]>
spi: spi-axi-spi-engine: Use helper function devm_clk_get_enabled()
Yang Yingliang <[email protected]>
spi: spi-axi-spi-engine: switch to use modern name
Uwe Kleine-König <[email protected]>
spi: axi-spi-engine: Convert to platform remove callback returning void
Yang Yingliang <[email protected]>
spi: introduce new helpers with using modern naming
Anton Protopopov <[email protected]>
bpf: Fix a verifier verbose message
Yi Zhang <[email protected]>
nvme: fix warn output about shared namespaces without CONFIG_NVME_MULTIPATH
Jason Xing <[email protected]>
bpf, skmsg: Fix NULL pointer dereference in sk_psock_skb_ingress_enqueue
Andrii Nakryiko <[email protected]>
bpf, kconfig: Fix DEBUG_INFO_BTF_MODULES Kconfig definition
Matti Vaittinen <[email protected]>
regulator: change devm_regulator_get_enable_optional() stub to return Ok
Matti Vaittinen <[email protected]>
regulator: change stubbed devm_regulator_get_enable to return Ok
AngeloGioacchino Del Regno <[email protected]>
regulator: mt6360: De-capitalize devicetree regulator subnodes
Zeng Heng <[email protected]>
pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map()
AngeloGioacchino Del Regno <[email protected]>
power: supply: mt6360_charger: Fix of_match for usb-otg-vbus regulator
Arnd Bergmann <[email protected]>
power: rt9455: hide unused rt9455_boost_voltage_values
Hans de Goede <[email protected]>
pinctrl: baytrail: Fix selecting gpio pinctrl state
Andy Shevchenko <[email protected]>
pinctrl: intel: Make use of struct pinfunction and PINCTRL_PINFUNCTION()
Andy Shevchenko <[email protected]>
pinctrl: Introduce struct pinfunction and PINCTRL_PINFUNCTION() macro
Kuniyuki Iwashima <[email protected]>
nfs: Handle error of rpc_proc_register() in nfs_net_init().
Josef Bacik <[email protected]>
nfs: make the rpc_stat per net namespace
Josef Bacik <[email protected]>
nfs: expose /proc/net/sunrpc/nfs in net namespaces
Josef Bacik <[email protected]>
sunrpc: add a struct rpc_stats arg to rpc_create_args
Chen-Yu Tsai <[email protected]>
pinctrl: mediatek: paris: Rework support for PIN_CONFIG_{INPUT,OUTPUT}_ENABLE
Chen-Yu Tsai <[email protected]>
pinctrl: mediatek: paris: Fix PIN_CONFIG_INPUT_SCHMITT_ENABLE readback
Dan Carpenter <[email protected]>
pinctrl: core: delete incorrect free in pinctrl_enable()
Jan Dakinevich <[email protected]>
pinctrl/meson: fix typo in PDM's pin name
Billy Tsai <[email protected]>
pinctrl: pinctrl-aspeed-g6: Fix register offset for pinconf of GPIOR-T
Steve French <[email protected]>
smb3: missing lock when picking channel
Shyam Prasad N <[email protected]>
cifs: use the least loaded channel for sending requests
Masahiro Yamada <[email protected]>
kbuild: specify output names separately for each emission type from rustc
Masahiro Yamada <[email protected]>
kbuild: refactor host*_flags
Peter Xu <[email protected]>
mm/hugetlb: fix missing hugetlb_lock for resv uncharge
Sidhartha Kumar <[email protected]>
mm/hugetlb_cgroup: convert hugetlb_cgroup_uncharge_page() to folios
Sidhartha Kumar <[email protected]>
mm/hugetlb: convert free_huge_page to folios
Sidhartha Kumar <[email protected]>
mm/hugetlb_cgroup: convert hugetlb_cgroup_from_page() to folios
Sidhartha Kumar <[email protected]>
mm/hugetlb_cgroup: convert __set_hugetlb_cgroup() to folios
Sidhartha Kumar <[email protected]>
mm/hugetlb: add folio_hstate()
Sidhartha Kumar <[email protected]>
mm/hugetlb: add hugetlb_folio_subpool() helpers
Sidhartha Kumar <[email protected]>
mm: add private field of first tail to struct page and struct folio
Sidhartha Kumar <[email protected]>
mm/hugetlb: add folio support to hugetlb specific flag macros
Tim Jiang <[email protected]>
Bluetooth: qca: add support for QCA2066
Daniel Okazaki <[email protected]>
eeprom: at24: fix memory corruption race condition
Heiner Kallweit <[email protected]>
eeprom: at24: Probe for DDR3 thermal sensor in the SPD case
Alexander Stein <[email protected]>
eeprom: at24: Use dev_err_probe for nvmem register failure
Wedson Almeida Filho <[email protected]>
rust: kernel: require `Send` for `Module` implementations
Johannes Berg <[email protected]>
wifi: nl80211: don't free NULL coalescing rule
Vinod Koul <[email protected]>
dmaengine: Revert "dmaengine: pl330: issue_pending waits until WFP state"
Bumyong Lee <[email protected]>
dmaengine: pl330: issue_pending waits until WFP state
-------------
Diffstat:
.../bindings/iio/health/maxim,max30102.yaml | 2 +-
MAINTAINERS | 1 +
Makefile | 4 +-
arch/arm/kernel/sleep.S | 4 +
arch/arm64/kvm/vgic/vgic-kvm-device.c | 12 +-
arch/arm64/net/bpf_jit_comp.c | 6 +-
arch/mips/include/asm/ptrace.h | 2 +-
arch/mips/kernel/asm-offsets.c | 1 +
arch/mips/kernel/ptrace.c | 15 +-
arch/mips/kernel/scall32-o32.S | 23 +-
arch/mips/kernel/scall64-n32.S | 3 +-
arch/mips/kernel/scall64-n64.S | 3 +-
arch/mips/kernel/scall64-o32.S | 33 +--
arch/powerpc/platforms/pseries/iommu.c | 8 +
arch/powerpc/platforms/pseries/plpks.c | 62 ++---
arch/powerpc/platforms/pseries/plpks.h | 35 ++-
arch/s390/include/asm/dwarf.h | 1 +
arch/s390/kernel/vdso64/vdso_user_wrapper.S | 2 +
arch/s390/mm/gmap.c | 2 +-
arch/s390/mm/hugetlbpage.c | 2 +-
block/blk-iocost.c | 7 +-
block/ioctl.c | 5 +-
drivers/ata/sata_gemini.c | 5 +-
drivers/bluetooth/btqca.c | 162 +++++++++++-
drivers/bluetooth/btqca.h | 6 +-
drivers/bluetooth/hci_qca.c | 11 +
drivers/char/tpm/tpm-dev-common.c | 4 +-
drivers/clk/clk.c | 12 +-
drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 19 +-
drivers/dma/idxd/cdev.c | 77 ++++++
drivers/dma/idxd/idxd.h | 3 +
drivers/dma/idxd/init.c | 4 +
drivers/dma/idxd/registers.h | 3 -
drivers/dma/idxd/sysfs.c | 27 +-
drivers/firewire/nosy.c | 6 +-
drivers/firewire/ohci.c | 6 +-
drivers/gpio/gpio-crystalcove.c | 2 +-
drivers/gpio/gpio-wcove.c | 2 +-
drivers/gpio/gpiolib-cdev.c | 183 ++++++++++++--
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 7 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 14 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 4 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 52 ++--
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 7 +-
drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 1 +
.../display/dc/dcn31/dcn31_hpo_dp_link_encoder.c | 6 +
.../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c | 2 +-
drivers/gpu/drm/drm_connector.c | 2 +-
drivers/gpu/drm/i915/display/intel_bios.c | 19 +-
drivers/gpu/drm/i915/display/intel_vbt_defs.h | 5 -
drivers/gpu/drm/meson/meson_dw_hdmi.c | 70 +++---
drivers/gpu/drm/nouveau/nouveau_dp.c | 13 +-
drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 8 +-
drivers/gpu/drm/qxl/qxl_release.c | 50 +---
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c | 2 +-
drivers/gpu/host1x/bus.c | 8 -
drivers/hv/channel.c | 29 ++-
drivers/hwmon/corsair-cpro.c | 43 +++-
drivers/hwmon/pmbus/ucd9000.c | 6 +-
drivers/iio/accel/mxc4005.c | 24 +-
drivers/iio/imu/adis16475.c | 4 +-
drivers/infiniband/hw/qib/qib_fs.c | 1 +
drivers/iommu/mtk_iommu.c | 1 +
drivers/iommu/mtk_iommu_v1.c | 1 +
drivers/md/md.c | 1 +
drivers/misc/eeprom/at24.c | 46 +++-
drivers/misc/mei/hw-me-regs.h | 2 +
drivers/misc/mei/pci-me.c | 2 +
drivers/net/dsa/mv88e6xxx/chip.c | 4 +-
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 32 ++-
drivers/net/ethernet/broadcom/genet/bcmgenet.h | 4 +-
drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 8 +-
drivers/net/ethernet/broadcom/genet/bcmmii.c | 6 +-
drivers/net/ethernet/brocade/bna/bnad_debugfs.c | 4 +-
drivers/net/ethernet/chelsio/cxgb4/sge.c | 6 +-
drivers/net/ethernet/hisilicon/hns3/hnae3.h | 2 +-
.../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 52 ++--
.../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 5 +-
.../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 7 +-
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 20 +-
.../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 2 +-
.../ethernet/marvell/octeontx2/af/rvu_debugfs.c | 4 +-
drivers/net/ethernet/micrel/ks8851_common.c | 16 +-
drivers/net/ethernet/qlogic/qede/qede_filter.c | 14 +-
drivers/net/usb/qmi_wwan.c | 1 +
drivers/net/vxlan/vxlan_core.c | 19 +-
drivers/nvme/host/core.c | 2 +-
drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c | 34 +--
drivers/pinctrl/core.c | 8 +-
drivers/pinctrl/devicetree.c | 10 +-
drivers/pinctrl/intel/pinctrl-baytrail.c | 74 +++---
drivers/pinctrl/intel/pinctrl-intel.c | 6 +-
drivers/pinctrl/intel/pinctrl-intel.h | 17 +-
drivers/pinctrl/mediatek/pinctrl-paris.c | 40 +--
drivers/pinctrl/meson/pinctrl-meson-a1.c | 6 +-
drivers/power/supply/mt6360_charger.c | 2 +-
drivers/power/supply/rt9455_charger.c | 2 +
drivers/regulator/core.c | 27 +-
drivers/regulator/mt6360-regulator.c | 32 ++-
drivers/s390/cio/cio_inject.c | 2 +-
drivers/s390/net/qeth_core_main.c | 69 +++---
drivers/scsi/bnx2fc/bnx2fc_tgt.c | 2 -
drivers/scsi/lpfc/lpfc.h | 1 -
drivers/scsi/lpfc/lpfc_els.c | 20 +-
drivers/scsi/lpfc/lpfc_hbadisc.c | 5 +-
drivers/scsi/lpfc/lpfc_nvme.c | 4 +-
drivers/scsi/lpfc/lpfc_scsi.c | 13 +-
drivers/scsi/lpfc/lpfc_sli.c | 14 +-
drivers/scsi/lpfc/lpfc_vport.c | 8 +-
drivers/scsi/mpi3mr/mpi3mr_app.c | 2 +-
drivers/slimbus/qcom-ngd-ctrl.c | 6 +-
drivers/spi/spi-axi-spi-engine.c | 275 +++++++++++----------
drivers/spi/spi-hisi-kunpeng.c | 2 -
drivers/spi/spi-microchip-core-qspi.c | 1 +
drivers/spi/spi.c | 12 +
drivers/staging/wlan-ng/hfa384x_usb.c | 4 +-
drivers/staging/wlan-ng/prism2usb.c | 6 +-
drivers/target/target_core_configfs.c | 12 +
drivers/ufs/core/ufshcd.c | 5 +-
drivers/uio/uio_hv_generic.c | 12 +-
drivers/usb/core/hub.c | 5 +-
drivers/usb/core/port.c | 8 +-
drivers/usb/dwc3/core.c | 90 +++----
drivers/usb/dwc3/core.h | 1 +
drivers/usb/dwc3/gadget.c | 2 +
drivers/usb/dwc3/host.c | 27 ++
drivers/usb/gadget/composite.c | 6 +-
drivers/usb/gadget/function/f_fs.c | 2 +-
drivers/usb/host/ohci-hcd.c | 8 +
drivers/usb/host/xhci-plat.h | 4 +-
drivers/usb/typec/tcpm/tcpm.c | 35 ++-
drivers/usb/typec/ucsi/ucsi.c | 12 +-
drivers/vfio/pci/vfio_pci.c | 2 +
fs/9p/vfs_file.c | 2 +
fs/9p/vfs_inode.c | 5 +-
fs/9p/vfs_super.c | 1 +
fs/btrfs/extent_io.c | 19 +-
fs/btrfs/inode.c | 2 +-
fs/btrfs/send.c | 4 +-
fs/btrfs/transaction.c | 2 +-
fs/btrfs/volumes.c | 18 +-
fs/gfs2/bmap.c | 5 +-
fs/hugetlbfs/inode.c | 8 +-
fs/nfs/client.c | 5 +-
fs/nfs/inode.c | 13 +-
fs/nfs/internal.h | 2 -
fs/nfs/netns.h | 2 +
fs/smb/client/transport.c | 37 ++-
fs/smb/server/oplock.c | 35 ++-
fs/smb/server/transport_tcp.c | 4 +
include/linux/compiler_types.h | 11 +
include/linux/dma-fence.h | 7 -
include/linux/gfp_types.h | 2 +
include/linux/hugetlb.h | 53 +++-
include/linux/hugetlb_cgroup.h | 69 +++---
include/linux/hyperv.h | 1 +
include/linux/mm_types.h | 14 ++
include/linux/pci_ids.h | 2 +
include/linux/pinctrl/pinctrl.h | 20 ++
include/linux/regulator/consumer.h | 4 +-
include/linux/skbuff.h | 15 ++
include/linux/skmsg.h | 2 +
include/linux/slab.h | 2 +-
include/linux/spi/spi.h | 51 +++-
include/linux/sunrpc/clnt.h | 1 +
include/linux/swapops.h | 105 ++++----
include/linux/timer.h | 15 +-
include/net/xfrm.h | 3 +
include/uapi/scsi/scsi_bsg_mpi3mr.h | 2 +-
kernel/bpf/bloom_filter.c | 13 +
kernel/bpf/verifier.c | 3 +-
kernel/time/timer.c | 8 +-
lib/Kconfig.debug | 5 +-
lib/dynamic_debug.c | 6 +-
mm/hugetlb.c | 55 +++--
mm/hugetlb_cgroup.c | 34 +--
mm/migrate.c | 2 +-
mm/readahead.c | 4 +
net/bluetooth/hci_core.c | 3 +-
net/bluetooth/l2cap_core.c | 3 +
net/bluetooth/msft.c | 2 +-
net/bluetooth/msft.h | 4 +-
net/bluetooth/sco.c | 4 +
net/bridge/br_forward.c | 9 +-
net/bridge/br_netlink.c | 3 +-
net/core/filter.c | 42 +++-
net/core/link_watch.c | 4 +-
net/core/net-sysfs.c | 4 +-
net/core/net_namespace.c | 13 +-
net/core/rtnetlink.c | 6 +-
net/core/skbuff.c | 27 +-
net/core/skmsg.c | 5 +-
net/core/sock.c | 4 +-
net/hsr/hsr_device.c | 31 ++-
net/ipv4/tcp.c | 4 +-
net/ipv4/tcp_input.c | 2 +
net/ipv4/tcp_ipv4.c | 8 +-
net/ipv4/tcp_output.c | 4 +-
net/ipv4/udp_offload.c | 12 +-
net/ipv4/xfrm4_input.c | 6 +-
net/ipv6/addrconf.c | 11 +-
net/ipv6/fib6_rules.c | 6 +-
net/ipv6/ip6_input.c | 4 +-
net/ipv6/ip6_output.c | 2 +-
net/ipv6/xfrm6_input.c | 6 +-
net/l2tp/l2tp_eth.c | 3 +
net/mac80211/ieee80211_i.h | 4 +-
net/mptcp/protocol.c | 3 +
net/nsh/nsh.c | 14 +-
net/phonet/pn_netlink.c | 2 +-
net/smc/smc_ib.c | 19 +-
net/sunrpc/clnt.c | 5 +-
net/sunrpc/xprt.c | 2 +-
net/tipc/msg.c | 8 +-
net/wireless/nl80211.c | 2 +
net/wireless/trace.h | 2 +-
net/xfrm/xfrm_input.c | 8 +
rust/Makefile | 11 +-
rust/kernel/error.rs | 2 +-
rust/kernel/lib.rs | 2 +-
rust/macros/module.rs | 185 ++++++++------
scripts/Makefile.build | 17 +-
scripts/Makefile.host | 27 +-
scripts/Makefile.modfinal | 4 +-
scripts/is_rust_module.sh | 16 --
security/keys/key.c | 3 +-
sound/hda/intel-sdw-acpi.c | 2 +
sound/pci/hda/patch_realtek.c | 1 +
sound/soc/meson/Kconfig | 1 +
sound/soc/meson/axg-card.c | 1 +
sound/soc/meson/axg-fifo.c | 56 +++--
sound/soc/meson/axg-fifo.h | 12 +-
sound/soc/meson/axg-frddr.c | 5 +-
sound/soc/meson/axg-tdm-interface.c | 34 +--
sound/soc/meson/axg-toddr.c | 22 +-
sound/soc/tegra/tegra186_dspk.c | 7 +-
sound/soc/ti/davinci-mcasp.c | 12 +-
sound/usb/line6/driver.c | 6 +-
tools/include/linux/kernel.h | 1 +
tools/include/linux/mm.h | 5 +
tools/include/linux/panic.h | 19 ++
tools/perf/util/unwind-libdw.c | 21 +-
tools/perf/util/unwind-libunwind-local.c | 2 +-
tools/power/x86/turbostat/turbostat.8 | 2 +-
tools/power/x86/turbostat/turbostat.c | 30 ++-
.../selftests/bpf/prog_tests/bloom_filter_map.c | 6 +
tools/testing/selftests/timers/valid-adjtimex.c | 73 +++---
247 files changed, 2501 insertions(+), 1396 deletions(-)
On Wed, May 15, 2024 at 10:27:34AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.1.91 release.
> There are 243 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.
This seems to break NFS boot for me on Raspberry Pi 4. The first sign
of trouble is a WARN:
[ 31.969792] ------------[ cut here ]------------
Setting prompt string to ['-+\\[ end trace \\w* \\]-+[^\\n]*\\r', '/ #', 'Login timed out', 'Login incorrect']
[ 31.974485] NETDEV WATCHDOG: end0 (bcmgenet): transmit queue 4 timed out
[ 31.981327] WARNING: CPU: 1 PID: 0 at net/sched/sch_generic.c:525 dev_watchdog+0x20c/0x214
Full log at:
https://lava.sirena.org.uk/scheduler/job/265447#L1021
ramdisk boots seem happy. A bisect claims that "net: bcmgenet:
synchronize EXT_RGMII_OOB_CTRL access" is the first commit that breaks,
I'm not seeing issues with other stables.
# bad: [ca2e773ed20f212ed18c759aef3993ae7bfea631] Linux 6.1.91-rc2
# good: [909ba1f1b4146de529469910c1bd0b1248964536] Linux 6.1.90
# good: [a48685468888cca7b6e9df4b944a11be93de7837] MIPS: scall: Save thread_info.syscall unconditionally on entry
git bisect start 'ca2e773ed20f212ed18c759aef3993ae7bfea631' '909ba1f1b4146de529469910c1bd0b1248964536' 'a48685468888cca7b6e9df4b944a11be93de7837'
# bad: [ca2e773ed20f212ed18c759aef3993ae7bfea631] Linux 6.1.91-rc2
git bisect bad ca2e773ed20f212ed18c759aef3993ae7bfea631
# good: [b86d51ccf09b413520133f135d69e2ed90aae95d] btrfs: fix kvcalloc() arguments order in btrfs_ioctl_send()
git bisect good b86d51ccf09b413520133f135d69e2ed90aae95d
# bad: [e84fd70ea88224569d12d7fb011a29796f1d7eb9] net: bcmgenet: synchronize UMAC_CMD access
git bisect bad e84fd70ea88224569d12d7fb011a29796f1d7eb9
# good: [b8c64a29b20e55e5d910d59ae3cc8b188c3d8048] usb: xhci-plat: Don't include xhci.h
git bisect good b8c64a29b20e55e5d910d59ae3cc8b188c3d8048
# good: [f87acc39c53bf614274607090a25f51f567f16c2] mptcp: ensure snd_nxt is properly initialized on connect
git bisect good f87acc39c53bf614274607090a25f51f567f16c2
# good: [cd586168e27d7403c49cfe8c5e3f40f44e63f2f4] kmsan: compiler_types: declare __no_sanitize_or_inline
git bisect good cd586168e27d7403c49cfe8c5e3f40f44e63f2f4
# bad: [3443d6c3616b41676a7f02b0fbb55da47067dbc4] net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
git bisect bad 3443d6c3616b41676a7f02b0fbb55da47067dbc4
# good: [7d43b80d8a20d95c876cd6a4f2cc94f9da4637f7] tipc: fix UAF in error path
git bisect good 7d43b80d8a20d95c876cd6a4f2cc94f9da4637f7
# first bad commit: [3443d6c3616b41676a7f02b0fbb55da47067dbc4] net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
On Wed, 15 May 2024 at 09:17, Mark Brown <[email protected]> wrote:
>
> A bisect claims that "net: bcmgenet:
> synchronize EXT_RGMII_OOB_CTRL access" is the first commit that breaks,
> I'm not seeing issues with other stables.
That's d85cf67a3396 ("net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL
access") upstream. Is upstream ok?
Linus
On Wed, May 15, 2024 at 09:20:48AM -0700, Linus Torvalds wrote:
> On Wed, 15 May 2024 at 09:17, Mark Brown <[email protected]> wrote:
> > A bisect claims that "net: bcmgenet:
> > synchronize EXT_RGMII_OOB_CTRL access" is the first commit that breaks,
> > I'm not seeing issues with other stables.
> That's d85cf67a3396 ("net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL
> access") upstream. Is upstream ok?
Yes, it seems fine in this regard (I am seeing some performance related
issues later on which trigger timeouts during tests but I'm fairly sure
they're infrastructure and they're definitely well after this issue
manifests).
On Wed, May 15, 2024 at 10:27:34AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.1.91 release.
> There are 243 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.
Tested-by: Conor Dooley <[email protected]>
Cheers,
Conor.
On 5/15/24 09:20, Linus Torvalds wrote:
> On Wed, 15 May 2024 at 09:17, Mark Brown <[email protected]> wrote:
>>
>> A bisect claims that "net: bcmgenet:
>> synchronize EXT_RGMII_OOB_CTRL access" is the first commit that breaks,
>> I'm not seeing issues with other stables.
>
> That's d85cf67a3396 ("net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL
> access") upstream. Is upstream ok?
>
Upstream code was rearranged. d85cf67a3396 affects bcmgenet_mii_config().
3443d6c3616b affects bcmgenet_mac_config(). bcmgenet_mac_config()
is called from bcmgenet_phy_pause_set() under phydev->lock. I would guess
that trying to acquire the same lock in in bcmgenet_mac_config() results
in a deadlock.
Guenter
On 5/15/24 09:58, Guenter Roeck wrote:
> On 5/15/24 09:20, Linus Torvalds wrote:
>> On Wed, 15 May 2024 at 09:17, Mark Brown <[email protected]> wrote:
>>>
>>> A bisect claims that "net: bcmgenet:
>>> synchronize EXT_RGMII_OOB_CTRL access" is the first commit that breaks,
>>> I'm not seeing issues with other stables.
>>
>> That's d85cf67a3396 ("net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL
>> access") upstream. Is upstream ok?
>>
>
> Upstream code was rearranged. d85cf67a3396 affects bcmgenet_mii_config().
> 3443d6c3616b affects bcmgenet_mac_config(). bcmgenet_mac_config()
> is called from bcmgenet_phy_pause_set() under phydev->lock. I would guess
> that trying to acquire the same lock in in bcmgenet_mac_config() results
> in a deadlock.
Yes that's exactly what is happening:
https://lore.kernel.org/all/[email protected]/
Thanks!
--
Florian
On 5/15/24 1:27 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 6.1.91 release.
> There are 243 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 Fri, 17 May 2024 08:23:27 +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/v6.x/stable-review/patch-6.1.91-rc2.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.1.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Tested-by: Ron Economos <[email protected]>
On 5/15/24 09:20, Linus Torvalds wrote:
> On Wed, 15 May 2024 at 09:17, Mark Brown <[email protected]> wrote:
>>
>> A bisect claims that "net: bcmgenet:
>> synchronize EXT_RGMII_OOB_CTRL access" is the first commit that breaks,
>> I'm not seeing issues with other stables.
>
> That's d85cf67a3396 ("net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL
> access") upstream. Is upstream ok?
Yes, upstream is OK.
Exact same issue on 6.1 not just on Raspberry Pi chips but also on
ARCH_BRCMSTB systems as well that also make use of the GENET driver.
Doug and I will take a look and provide an updated set of fixes,
meanwhile, I would recommend dropping all of Doug's patches for now
until we can post a revised series and/or missing dependencies.
Thanks!
--
Florian
On 5/15/24 09:40, Florian Fainelli wrote:
> On 5/15/24 09:20, Linus Torvalds wrote:
>> On Wed, 15 May 2024 at 09:17, Mark Brown <[email protected]> wrote:
>>>
>>> A bisect claims that "net: bcmgenet:
>>> synchronize EXT_RGMII_OOB_CTRL access" is the first commit that breaks,
>>> I'm not seeing issues with other stables.
>>
>> That's d85cf67a3396 ("net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL
>> access") upstream. Is upstream ok?
>
> Yes, upstream is OK.
>
> Exact same issue on 6.1 not just on Raspberry Pi chips but also on
> ARCH_BRCMSTB systems as well that also make use of the GENET driver.
>
> Doug and I will take a look and provide an updated set of fixes,
> meanwhile, I would recommend dropping all of Doug's patches for now
> until we can post a revised series and/or missing dependencies.
OK, I think I see the problem. The upstream patch was applied to the
wrong context. In upstream, the critical section is added to
bcmgenet_mii_config() which did not run with the phy_device::mutex_lock
held before, and that was the race that we are trying to close. In
linux-stable-rc/linux-6.1.y however the context somehow resolved to
applying the critical section to the bcmgenet_mac_config() section where
we are already running with phy_device::lock being held by virtue of the
PHY library running our bcmgenet_mac_config() callback.
The corrected incremental diff would look like this:
diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c
b/drivers/net/ethernet/broadcom/genet/bcmmii.c
index 94e0e858266e..46252d96b90e 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
@@ -71,12 +71,10 @@ static void bcmgenet_mac_config(struct net_device *dev)
* transmit -- 25MHz(100Mbps) or 125MHz(1Gbps).
* Receive clock is provided by the PHY.
*/
- mutex_lock(&phydev->lock);
reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL);
reg &= ~OOB_DISABLE;
reg |= RGMII_LINK;
bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL);
- mutex_unlock(&phydev->lock);
spin_lock_bh(&priv->reg_lock);
reg = bcmgenet_umac_readl(priv, UMAC_CMD);
@@ -271,6 +269,7 @@ int bcmgenet_mii_config(struct net_device *dev, bool
init)
* block for the interface to work
*/
if (priv->ext_phy) {
+ mutex_lock(&phydev->lock);
reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL);
reg &= ~ID_MODE_DIS;
reg |= id_mode_dis;
@@ -279,6 +278,7 @@ int bcmgenet_mii_config(struct net_device *dev, bool
init)
else
reg |= RGMII_MODE_EN;
bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL);
+ mutex_unlock(&phydev->lock);
}
if (init)
We could, and should consider taking
696450c05181559a35d4d5bee55c465b1ac6fe2e ("net: bcmgenet: Clear
RGMII_LINK upon link down") as a prerequisite as well to provide the
right context while applying d85cf67a339685beae1d0aee27b7f61da95455be
("net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access")
Mark, can you try that, too?
--
Florian
Hi Greg,
Le 5/15/24 à 10:27, Greg Kroah-Hartman a écrit :
> This is the start of the stable review cycle for the 6.1.91 release.
> There are 243 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 Fri, 17 May 2024 08:23:27 +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/v6.x/stable-review/patch-6.1.91-rc2.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.1.y
> and the diffstat can be found below.
>
> thanks,
I tested 6.1.91-rc2 (ca2e773ed20f) on Kalray kvx arch (not upstream yet) and everything looks good!
It ran on real hw (k200, k200lp and k300 boards), on qemu as well as on our internal instruction set simulator (ISS).
Tests were run on several interfaces/drivers (usb, qsfp ethernet, eMMC, PCIe endpoint+RC, SPI, remoteproc, uart, iommu). LTP and uClibc-ng testsuites are also run without any regression.
Everything looks fine to us.
Tested-by: Yann Sionneau<[email protected]>
-- Yann