* [PATCH 6.1 000/243] 6.1.91-rc2 review
@ 2024-05-15 8:27 Greg Kroah-Hartman
2024-05-15 16:17 ` Mark Brown
` (3 more replies)
0 siblings, 4 replies; 18+ messages in thread
From: Greg Kroah-Hartman @ 2024-05-15 8:27 UTC (permalink / raw)
To: stable
Cc: Greg Kroah-Hartman, patches, linux-kernel, torvalds, akpm, linux,
shuah, patches, lkft-triage, pavel, jonathanh, f.fainelli,
sudipm.mukherjee, srw, rwarsow, conor, allen.lkml, broonie
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 <gregkh@linuxfoundation.org>
Linux 6.1.91-rc2
Li Nan <linan122@huawei.com>
md: fix kmemleak of rdev->serial
Oscar Salvador <osalvador@suse.de>
mm,swapops: update check in is_pfn_swap_entry for hwpoison entries
Miaohe Lin <linmiaohe@huawei.com>
mm/hugetlb: fix DEBUG_LOCKS_WARN_ON(1) when dissolve_free_hugetlb_folio()
Qu Wenruo <wqu@suse.com>
btrfs: do not wait for short bulk allocation
Silvio Gissi <sifonsec@amazon.com>
keys: Fix overwrite of key expiration on instantiation
Nikhil Rao <nikhil.rao@intel.com>
dmaengine: idxd: add a write() method for applications to submit work
Arjan van de Ven <arjan@linux.intel.com>
dmaengine: idxd: add a new security check to deal with a hardware erratum
Arjan van de Ven <arjan@linux.intel.com>
VFIO: Add the SPR_DSA and SPR_IAX devices to the denylist
Johan Hovold <johan+linaro@kernel.org>
Bluetooth: qca: fix firmware check error path
Johan Hovold <johan+linaro@kernel.org>
Bluetooth: qca: fix info leak when fetching fw build id
Johan Hovold <johan+linaro@kernel.org>
Bluetooth: qca: fix info leak when fetching board id
Johan Hovold <johan+linaro@kernel.org>
Bluetooth: qca: fix NVM configuration parsing
Johan Hovold <johan+linaro@kernel.org>
Bluetooth: qca: add missing firmware sanity checks
Namjae Jeon <linkinjeon@kernel.org>
ksmbd: do not grant v2 lease if parent lease key and epoch are not set
Namjae Jeon <linkinjeon@kernel.org>
ksmbd: avoid to send duplicate lease break notifications
Namjae Jeon <linkinjeon@kernel.org>
ksmbd: off ipv6only for both ipv4/ipv6 binding
Conor Dooley <conor.dooley@microchip.com>
spi: microchip-core-qspi: fix setting spi bus clock rate
Johan Hovold <johan+linaro@kernel.org>
regulator: core: fix debugfs creation regression
Kefeng Wang <wangkefeng.wang@huawei.com>
mm: use memalloc_nofs_save() in page_cache_ra_order()
Lakshmi Yadlapati <lakshmiy@us.ibm.com>
hwmon: (pmbus/ucd9000) Increase delay from 250 to 500us
Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
net: fix out-of-bounds access in ops_init
George Shen <george.shen@amd.com>
drm/amd/display: Handle Y carry-over in VCP X.Y calculation
Karthikeyan Ramasubramanian <kramasub@chromium.org>
drm/i915/bios: Fix parsing backlight BDB data
Zack Rusin <zack.rusin@broadcom.com>
drm/vmwgfx: Fix invalid reads in fence signaled events
Alex Deucher <alexander.deucher@amd.com>
drm/amdkfd: don't allow mapping the MMIO HDP page with large pages
Alexander Usyskin <alexander.usyskin@intel.com>
mei: me: add lunar lake point M DID
Viken Dadhaniya <quic_vdadhani@quicinc.com>
slimbus: qcom-ngd-ctrl: Add timeout for wait operation
Jim Cromie <jim.cromie@gmail.com>
dyndbg: fix old BUG_ON in >control parser
Joao Paulo Goncalves <joao.goncalves@toradex.com>
ASoC: ti: davinci-mcasp: Fix race condition during probe
Sameer Pujar <spujar@nvidia.com>
ASoC: tegra: Fix DSPK 16-bit playback
Doug Berger <opendmb@gmail.com>
net: bcmgenet: synchronize UMAC_CMD access
Doug Berger <opendmb@gmail.com>
net: bcmgenet: synchronize use of bcmgenet_set_rx_mode()
Doug Berger <opendmb@gmail.com>
net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
Paolo Abeni <pabeni@redhat.com>
tipc: fix UAF in error path
Alexander Potapenko <glider@google.com>
kmsan: compiler_types: declare __no_sanitize_or_inline
Hans de Goede <hdegoede@redhat.com>
iio: accel: mxc4005: Interrupt handling fixes
Ramona Gradinariu <ramona.bolboaca13@gmail.com>
iio:imu: adis16475: Fix sync mode setting
Javier Carrasco <javier.carrasco.cruz@gmail.com>
dt-bindings: iio: health: maxim,max30102: fix compatible check
Paolo Abeni <pabeni@redhat.com>
mptcp: ensure snd_nxt is properly initialized on connect
Dan Carpenter <dan.carpenter@linaro.org>
mm/slab: make __free(kfree) accept error pointers
Dominique Martinet <dominique.martinet@atmark-techno.com>
btrfs: add missing mutex_unlock in btrfs_relocate_sys_chunks()
Aman Dhoot <amandhoot12@gmail.com>
ALSA: hda/realtek: Fix mute led of HP Laptop 15-da3001TU
Badhri Jagan Sridharan <badhri@google.com>
usb: typec: tcpm: Check for port partner validity before consuming it
Amit Sunil Dhamne <amitsd@google.com>
usb: typec: tcpm: unregister existing source caps before re-registration
Thinh Nguyen <Thinh.Nguyen@synopsys.com>
usb: dwc3: core: Prevent phy suspend during init
Thinh Nguyen <Thinh.Nguyen@synopsys.com>
usb: xhci-plat: Don't include xhci.h
Chris Wulff <Chris.Wulff@biamp.com>
usb: gadget: f_fs: Fix a race condition when processing setup packets.
Peter Korsgaard <peter@korsgaard.com>
usb: gadget: composite: fix OS descriptors w_value logic
Alan Stern <stern@rowland.harvard.edu>
USB: core: Fix access violation during port device removal
Guenter Roeck <linux@roeck-us.net>
usb: ohci: Prevent missed ohci interrupts
Alan Stern <stern@rowland.harvard.edu>
usb: Fix regression caused by invalid ep0 maxpacket in virtual SuperSpeed device
Christian A. Ehrhardt <lk@c--e.de>
usb: typec: ucsi: Fix connector check on init
Christian A. Ehrhardt <lk@c--e.de>
usb: typec: ucsi: Check for notifications after init
Benno Lossin <benno.lossin@proton.me>
rust: macros: fix soundness issue in `module!` macro
Thomas Bertschinger <tahbertschinger@gmail.com>
rust: module: place generated init_module() function in .init.text
Andrea Righi <andrea.righi@canonical.com>
btf, scripts: rust: drop is_rust_module.sh
Andrea Righi <andrea.righi@canonical.com>
rust: fix regexp in scripts/is_rust_module.sh
Asahi Lina <lina@asahilina.net>
rust: error: Rename to_kernel_errno() -> to_errno()
Linus Torvalds <torvalds@linux-foundation.org>
Reapply "drm/qxl: simplify qxl_fence_wait"
Thanassis Avgerinos <thanassis.avgerinos@gmail.com>
firewire: nosy: ensure user_length is taken into account when fetching packet contents
Dmitry Antipov <dmantipov@yandex.ru>
btrfs: fix kvcalloc() arguments order in btrfs_ioctl_send()
Christian König <christian.koenig@amd.com>
drm/amdgpu: once more fix the call oder in amdgpu_ttm_move() v2
Leah Rumancik <leah.rumancik@gmail.com>
MAINTAINERS: add leah to 6.1 MAINTAINERS file
Gabe Teeger <gabe.teeger@amd.com>
drm/amd/display: Atom Integrated System Info v2_2 for DCN35
Kent Gibson <warthog618@gmail.com>
gpiolib: cdev: fix uninitialised kfifo
Kent Gibson <warthog618@gmail.com>
gpiolib: cdev: relocate debounce_period_us from struct gpio_desc
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
gpiolib: cdev: Add missing header(s)
Mario Limonciello <mario.limonciello@amd.com>
dm/amd/pm: Fix problems with reboot/shutdown for some SMU 13.0.4/13.0.11 users
Douglas Anderson <dianders@chromium.org>
drm/connector: Add \n to message about demoting connector force-probes
Jerome Brunet <jbrunet@baylibre.com>
drm/meson: dw-hdmi: add bandgap setting for g12
Jerome Brunet <jbrunet@baylibre.com>
drm/meson: dw-hdmi: power up phy on device init
Yonglong Liu <liuyonglong@huawei.com>
net: hns3: fix kernel crash when devlink reload during initialization
Yonglong Liu <liuyonglong@huawei.com>
net: hns3: fix port vlan filter not disabled issue
Peiyang Wang <wangpeiyang1@huawei.com>
net: hns3: use appropriate barrier function after setting a bit value
Peiyang Wang <wangpeiyang1@huawei.com>
net: hns3: release PTP resources if pf initialization failed
Peiyang Wang <wangpeiyang1@huawei.com>
net: hns3: change type of numa_node_mask as nodemask_t
Jian Shen <shenjian15@huawei.com>
net: hns3: direct return when receive a unknown mailbox message
Peiyang Wang <wangpeiyang1@huawei.com>
net: hns3: using user configure after hardware reset
Wen Gu <guwen@linux.alibaba.com>
net/smc: fix neighbour and rtable leak in smc_ib_find_route()
Eric Dumazet <edumazet@google.com>
ipv6: prevent NULL dereference in ip6_output()
Eric Dumazet <edumazet@google.com>
ipv6: annotate data-races around cnf.disable_ipv6
Lukasz Majewski <lukma@denx.de>
hsr: Simplify code for announcing HSR nodes timer setup
Eric Dumazet <edumazet@google.com>
net-sysfs: convert dev->operstate reads to lockless ones
Thomas Gleixner <tglx@linutronix.de>
timers: Rename del_timer() to timer_delete()
Thomas Gleixner <tglx@linutronix.de>
timers: Get rid of del_singleshot_timer_sync()
Eric Dumazet <edumazet@google.com>
ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action()
Felix Fietkau <nbd@nbd.name>
net: bridge: fix corrupted ethernet header on multicast-to-unicast
Eric Dumazet <edumazet@google.com>
phonet: fix rtm_phonet_notify() skb allocation
Aleksa Savic <savicaleksa83@gmail.com>
hwmon: (corsair-cpro) Protect ccp->wait_input_report with a spinlock
Aleksa Savic <savicaleksa83@gmail.com>
hwmon: (corsair-cpro) Use complete_all() instead of complete() in ccp_raw_event()
Aleksa Savic <savicaleksa83@gmail.com>
hwmon: (corsair-cpro) Use a separate buffer for sending commands
Roded Zats <rzats@paloaltonetworks.com>
rtnetlink: Correct nested IFLA_VF_VLAN_LIST attribute validation
Marek Vasut <marex@denx.de>
net: ks8851: Queue RX packets in IRQ handler instead of disabling BHs
Duoming Zhou <duoming@zju.edu.cn>
Bluetooth: l2cap: fix null-ptr-deref in l2cap_chan_timeout
Sungwoo Kim <iam@sung-woo.kim>
Bluetooth: msft: fix slab-use-after-free in msft_do_close()
Duoming Zhou <duoming@zju.edu.cn>
Bluetooth: Fix use-after-free bugs caused by sco_sock_timeout
Kuniyuki Iwashima <kuniyu@amazon.com>
tcp: Use refcount_inc_not_zero() in tcp_twsk_unique().
Eric Dumazet <edumazet@google.com>
tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets
Boy.Wu <boy.wu@mediatek.com>
ARM: 9381/1: kasan: clear stale stack poison
Paul Davey <paul.davey@alliedtelesis.co.nz>
xfrm: Preserve vlan tags for transport mode software GRO
Al Viro <viro@zeniv.linux.org.uk>
qibfs: fix dentry leak
Namhyung Kim <namhyung@kernel.org>
perf unwind-libdw: Handle JIT-generated DSOs properly
Namhyung Kim <namhyung@kernel.org>
perf unwind-libunwind: Fix base address for .eh_frame
Geert Uytterhoeven <geert+renesas@glider.be>
spi: Merge spi_controller.{slave,target}_abort()
Miguel Ojeda <ojeda@kernel.org>
kbuild: rust: avoid creating temporary files
Vanillan Wang <vanillanwang@163.com>
net:usb:qmi_wwan: support Rolling modules
Lyude Paul <lyude@redhat.com>
drm/nouveau/dp: Don't probe eDP ports twice harder
Joakim Sindholt <opensource@zhasha.com>
fs/9p: drop inodes immediately on non-.L too
Stephen Boyd <sboyd@kernel.org>
clk: Don't hold prepare_lock when calling kref_put()
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
gpio: crystalcove: Use -ENOTSUPP consistently
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
gpio: wcove: Use -ENOTSUPP consistently
Jeff Layton <jlayton@kernel.org>
9p: explicitly deny setlease attempts
Joakim Sindholt <opensource@zhasha.com>
fs/9p: translate O_TRUNC into OTRUNC
Joakim Sindholt <opensource@zhasha.com>
fs/9p: only translate RWX permissions for plain 9P2000
Krzysztof Kozlowski <krzk@kernel.org>
iommu: mtk: fix module autoloading
Michael Kelley <mhklinux@outlook.com>
Drivers: hv: vmbus: Don't free ring buffers that couldn't be re-encrypted
Rick Edgecombe <rick.p.edgecombe@intel.com>
uio_hv_generic: Don't free decrypted memory
Rick Edgecombe <rick.p.edgecombe@intel.com>
Drivers: hv: vmbus: Track decrypted status in vmbus_gpadl
John Stultz <jstultz@google.com>
selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior
Lijo Lazar <lijo.lazar@amd.com>
drm/amdgpu: Refine IB schedule error logging
Justin Ernst <justin.ernst@hpe.com>
tools/power/turbostat: Fix uncore frequency file string
Jiaxun Yang <jiaxun.yang@flygoat.com>
MIPS: scall: Save thread_info.syscall unconditionally on entry
Thierry Reding <treding@nvidia.com>
gpu: host1x: Do not setup DMA for virtual devices
Rik van Riel <riel@surriel.com>
blk-iocost: avoid out of bounds shift
Maurizio Lombardi <mlombard@redhat.com>
scsi: target: Fix SELinux error when systemd-modules loads the target module
Wei Yang <richard.weiyang@gmail.com>
memblock tests: fix undefined reference to `BIT'
Wei Yang <richard.weiyang@gmail.com>
memblock tests: fix undefined reference to `panic'
Wei Yang <richard.weiyang@gmail.com>
memblock tests: fix undefined reference to `early_pfn_to_nid'
Boris Burkov <boris@bur.io>
btrfs: always clear PERTRANS metadata during commit
Boris Burkov <boris@bur.io>
btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve
Peng Liu <liupeng17@lenovo.com>
tools/power turbostat: Fix Bzy_MHz documentation typo
Wyes Karny <wyes.karny@amd.com>
tools/power turbostat: Increase the limit for fd opened
Doug Smythies <dsmythies@telus.net>
tools/power turbostat: Fix added raw MSR output
Adam Goldman <adamg@pobox.com>
firewire: ohci: mask bus reset interrupts between ISR and bottom half
Chen Ni <nichen@iscas.ac.cn>
ata: sata_gemini: Check clk_enable() result
Phil Elwell <phil@raspberrypi.com>
net: bcmgenet: Reset RBUF on first open
Li Nan <linan122@huawei.com>
block: fix overflow in blk_ioctl_discard()
Takashi Iwai <tiwai@suse.de>
ALSA: line6: Zero-initialize message buffers
Peter Wang <peter.wang@mediatek.com>
scsi: ufs: core: WLUN suspend dev/link state error recovery
Borislav Petkov (AMD) <bp@alien8.de>
kbuild: Disable KCSAN for autogenerated *.mod.c intermediaries
Andrei Matei <andreimatei1@gmail.com>
bpf: Check bloom filter map value size
Anand Jain <anand.jain@oracle.com>
btrfs: return accurate error code on open failure in open_fs_devices()
Saurav Kashyap <skashyap@marvell.com>
scsi: bnx2fc: Remove spin_lock_bh while releasing resources after upload
Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
scsi: mpi3mr: Avoid memcpy field-spanning write WARNING
linke li <lilinke99@qq.com>
net: mark racy access on sk->sk_rcvbuf
Igor Artemiev <Igor.A.Artemiev@mcst.ru>
wifi: cfg80211: fix rdev_dump_mpp() arguments order
Jeff Johnson <quic_jjohnson@quicinc.com>
wifi: mac80211: fix ieee80211_bss_*_flags kernel-doc
Andrew Price <anprice@redhat.com>
gfs2: Fix invalid metadata access in punch_hole
Justin Tee <justin.tee@broadcom.com>
scsi: lpfc: Release hbalock before calling lpfc_worker_wake_up()
Justin Tee <justin.tee@broadcom.com>
scsi: lpfc: Replace hbalock with ndlp lock in lpfc_nvme_unregister_port()
Justin Tee <justin.tee@broadcom.com>
scsi: lpfc: Update lpfc_ramp_down_queue_handler() logic
Justin Tee <justin.tee@broadcom.com>
scsi: lpfc: Move NPIV's transport unregistration to after resource clean up
Oliver Upton <oliver.upton@linux.dev>
KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr()
Marc Zyngier <maz@kernel.org>
KVM: arm64: vgic-v2: Use cpuid from userspace as vcpu_id
Gaurav Batra <gbatra@linux.ibm.com>
powerpc/pseries/iommu: LPAR panics during boot up with a frozen PE
Nayna Jain <nayna@linux.ibm.com>
powerpc/pseries: make max polling consistent for longer H_CALLs
Russell Currey <ruscur@russell.cc>
powerpc/pseries: Move PLPKS constants to header file
Nayna Jain <nayna@linux.ibm.com>
powerpc/pseries: replace kmalloc with kzalloc in PLPKS driver
Jernej Skrabec <jernej.skrabec@gmail.com>
clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change
Richard Gobert <richardbgobert@gmail.com>
net: gro: add flush check in udp_gro_receive_segment
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drm/panel: ili9341: Use predefined error codes
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drm/panel: ili9341: Respect deferred probe
Alexandra Winter <wintera@linux.ibm.com>
s390/qeth: Fix kernel panic after setting hsuid
Guillaume Nault <gnault@redhat.com>
vxlan: Pull inner IP header in vxlan_rcv().
Xin Long <lucien.xin@gmail.com>
tipc: fix a possible memleak in tipc_buf_append
Felix Fietkau <nbd@nbd.name>
net: core: reject skb_copy(_expand) for fraglist GSO skbs
Felix Fietkau <nbd@nbd.name>
net: bridge: fix multicast-to-unicast with fraglist GSO
Mans Rullgard <mans@mansr.com>
spi: fix null pointer dereference within spi_sync
Marek Behún <kabel@kernel.org>
net: dsa: mv88e6xxx: Fix number of databases for 88E6141 / 88E6341
Sebastian Andrzej Siewior <bigeasy@linutronix.de>
cxgb4: Properly lock TX queue for the selftest.
Bui Quang Minh <minhquangbui99@gmail.com>
s390/cio: Ensure the copied buf is NUL terminated
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
ALSA: hda: intel-sdw-acpi: fix usage of device_get_named_child_node()
Jerome Brunet <jbrunet@baylibre.com>
ASoC: meson: cards: select SND_DYNAMIC_MINORS
Jerome Brunet <jbrunet@baylibre.com>
ASoC: meson: axg-tdm-interface: manage formatters in trigger
Jerome Brunet <jbrunet@baylibre.com>
ASoC: meson: axg-card: make links nonatomic
Jerome Brunet <jbrunet@baylibre.com>
ASoC: meson: axg-fifo: use threaded irq to check periods
Jerome Brunet <jbrunet@baylibre.com>
ASoC: meson: axg-fifo: use FIELD helpers
Asbjørn Sloth Tønnesen <ast@fiberby.net>
net: qede: use return from qede_parse_actions()
Asbjørn Sloth Tønnesen <ast@fiberby.net>
net: qede: use return from qede_parse_flow_attr() for flow_spec
Asbjørn Sloth Tønnesen <ast@fiberby.net>
net: qede: use return from qede_parse_flow_attr() for flower
Asbjørn Sloth Tønnesen <ast@fiberby.net>
net: qede: sanitize 'rc' in qede_add_tc_flower_fltr()
Jens Remus <jremus@linux.ibm.com>
s390/vdso: Add CFI for RA register to asm macro vdso_func
David Bauer <mail@david-bauer.net>
net l2tp: drop flow hash on forward
Kuniyuki Iwashima <kuniyu@amazon.com>
nsh: Restore skb->{protocol,data,mac_header} for outer header in nsh_gso_segment().
Bui Quang Minh <minhquangbui99@gmail.com>
octeontx2-af: avoid off-by-one read from userspace
Bui Quang Minh <minhquangbui99@gmail.com>
bna: ensure the copied buf is NUL terminated
Toke Høiland-Jørgensen <toke@redhat.com>
xdp: use flags field to disambiguate broadcast redirect
Claudio Imbrenda <imbrenda@linux.ibm.com>
s390/mm: Fix clearing storage keys for huge pages
Claudio Imbrenda <imbrenda@linux.ibm.com>
s390/mm: Fix storage key clearing for guest huge pages
Xu Kuohai <xukuohai@huawei.com>
bpf, arm64: Fix incorrect runtime stats
Devyn Liu <liudingyuan@huawei.com>
spi: hisi-kunpeng: Delete the dump interface of data registers in debugfs
David Lechner <dlechner@baylibre.com>
spi: axi-spi-engine: fix version format string
David Lechner <dlechner@baylibre.com>
spi: axi-spi-engine: use common AXI macros
David Lechner <dlechner@baylibre.com>
spi: axi-spi-engine: move msg state to new struct
David Lechner <dlechner@baylibre.com>
spi: axi-spi-engine: use devm_spi_alloc_host()
David Lechner <dlechner@baylibre.com>
spi: axi-spi-engine: simplify driver data allocation
Li Zetao <lizetao1@huawei.com>
spi: spi-axi-spi-engine: Use helper function devm_clk_get_enabled()
Yang Yingliang <yangyingliang@huawei.com>
spi: spi-axi-spi-engine: switch to use modern name
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
spi: axi-spi-engine: Convert to platform remove callback returning void
Yang Yingliang <yangyingliang@huawei.com>
spi: introduce new helpers with using modern naming
Anton Protopopov <aspsk@isovalent.com>
bpf: Fix a verifier verbose message
Yi Zhang <yi.zhang@redhat.com>
nvme: fix warn output about shared namespaces without CONFIG_NVME_MULTIPATH
Jason Xing <kernelxing@tencent.com>
bpf, skmsg: Fix NULL pointer dereference in sk_psock_skb_ingress_enqueue
Andrii Nakryiko <andrii@kernel.org>
bpf, kconfig: Fix DEBUG_INFO_BTF_MODULES Kconfig definition
Matti Vaittinen <mazziesaccount@gmail.com>
regulator: change devm_regulator_get_enable_optional() stub to return Ok
Matti Vaittinen <mazziesaccount@gmail.com>
regulator: change stubbed devm_regulator_get_enable to return Ok
AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
regulator: mt6360: De-capitalize devicetree regulator subnodes
Zeng Heng <zengheng4@huawei.com>
pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map()
AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
power: supply: mt6360_charger: Fix of_match for usb-otg-vbus regulator
Arnd Bergmann <arnd@arndb.de>
power: rt9455: hide unused rt9455_boost_voltage_values
Hans de Goede <hdegoede@redhat.com>
pinctrl: baytrail: Fix selecting gpio pinctrl state
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
pinctrl: intel: Make use of struct pinfunction and PINCTRL_PINFUNCTION()
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
pinctrl: Introduce struct pinfunction and PINCTRL_PINFUNCTION() macro
Kuniyuki Iwashima <kuniyu@amazon.com>
nfs: Handle error of rpc_proc_register() in nfs_net_init().
Josef Bacik <josef@toxicpanda.com>
nfs: make the rpc_stat per net namespace
Josef Bacik <josef@toxicpanda.com>
nfs: expose /proc/net/sunrpc/nfs in net namespaces
Josef Bacik <josef@toxicpanda.com>
sunrpc: add a struct rpc_stats arg to rpc_create_args
Chen-Yu Tsai <wenst@chromium.org>
pinctrl: mediatek: paris: Rework support for PIN_CONFIG_{INPUT,OUTPUT}_ENABLE
Chen-Yu Tsai <wenst@chromium.org>
pinctrl: mediatek: paris: Fix PIN_CONFIG_INPUT_SCHMITT_ENABLE readback
Dan Carpenter <dan.carpenter@linaro.org>
pinctrl: core: delete incorrect free in pinctrl_enable()
Jan Dakinevich <jan.dakinevich@salutedevices.com>
pinctrl/meson: fix typo in PDM's pin name
Billy Tsai <billy_tsai@aspeedtech.com>
pinctrl: pinctrl-aspeed-g6: Fix register offset for pinconf of GPIOR-T
Steve French <stfrench@microsoft.com>
smb3: missing lock when picking channel
Shyam Prasad N <sprasad@microsoft.com>
cifs: use the least loaded channel for sending requests
Masahiro Yamada <masahiroy@kernel.org>
kbuild: specify output names separately for each emission type from rustc
Masahiro Yamada <masahiroy@kernel.org>
kbuild: refactor host*_flags
Peter Xu <peterx@redhat.com>
mm/hugetlb: fix missing hugetlb_lock for resv uncharge
Sidhartha Kumar <sidhartha.kumar@oracle.com>
mm/hugetlb_cgroup: convert hugetlb_cgroup_uncharge_page() to folios
Sidhartha Kumar <sidhartha.kumar@oracle.com>
mm/hugetlb: convert free_huge_page to folios
Sidhartha Kumar <sidhartha.kumar@oracle.com>
mm/hugetlb_cgroup: convert hugetlb_cgroup_from_page() to folios
Sidhartha Kumar <sidhartha.kumar@oracle.com>
mm/hugetlb_cgroup: convert __set_hugetlb_cgroup() to folios
Sidhartha Kumar <sidhartha.kumar@oracle.com>
mm/hugetlb: add folio_hstate()
Sidhartha Kumar <sidhartha.kumar@oracle.com>
mm/hugetlb: add hugetlb_folio_subpool() helpers
Sidhartha Kumar <sidhartha.kumar@oracle.com>
mm: add private field of first tail to struct page and struct folio
Sidhartha Kumar <sidhartha.kumar@oracle.com>
mm/hugetlb: add folio support to hugetlb specific flag macros
Tim Jiang <quic_tjiang@quicinc.com>
Bluetooth: qca: add support for QCA2066
Daniel Okazaki <dtokazaki@google.com>
eeprom: at24: fix memory corruption race condition
Heiner Kallweit <hkallweit1@gmail.com>
eeprom: at24: Probe for DDR3 thermal sensor in the SPD case
Alexander Stein <alexander.stein@ew.tq-group.com>
eeprom: at24: Use dev_err_probe for nvmem register failure
Wedson Almeida Filho <walmeida@microsoft.com>
rust: kernel: require `Send` for `Module` implementations
Johannes Berg <johannes.berg@intel.com>
wifi: nl80211: don't free NULL coalescing rule
Vinod Koul <vkoul@kernel.org>
dmaengine: Revert "dmaengine: pl330: issue_pending waits until WFP state"
Bumyong Lee <bumyong.lee@samsung.com>
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(-)
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 8:27 [PATCH 6.1 000/243] 6.1.91-rc2 review Greg Kroah-Hartman
@ 2024-05-15 16:17 ` Mark Brown
2024-05-15 16:20 ` Linus Torvalds
2024-05-15 16:48 ` Conor Dooley
` (2 subsequent siblings)
3 siblings, 1 reply; 18+ messages in thread
From: Mark Brown @ 2024-05-15 16:17 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: stable, patches, linux-kernel, torvalds, akpm, linux, shuah,
patches, lkft-triage, pavel, jonathanh, f.fainelli,
sudipm.mukherjee, srw, rwarsow, conor, allen.lkml,
Florian Fainelli, Doug Berger
[-- Attachment #1: Type: text/plain, Size: 2696 bytes --]
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 16:17 ` Mark Brown
@ 2024-05-15 16:20 ` Linus Torvalds
2024-05-15 16:40 ` Florian Fainelli
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Linus Torvalds @ 2024-05-15 16:20 UTC (permalink / raw)
To: Mark Brown
Cc: Greg Kroah-Hartman, stable, patches, linux-kernel, akpm, linux,
shuah, patches, lkft-triage, pavel, jonathanh, f.fainelli,
sudipm.mukherjee, srw, rwarsow, conor, allen.lkml,
Florian Fainelli, Doug Berger
On Wed, 15 May 2024 at 09:17, Mark Brown <broonie@kernel.org> 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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 16:20 ` Linus Torvalds
@ 2024-05-15 16:40 ` Florian Fainelli
2024-05-15 16:54 ` Florian Fainelli
2024-05-15 16:42 ` [PATCH 6.1 000/243] 6.1.91-rc2 review Mark Brown
2024-05-15 16:58 ` Guenter Roeck
2 siblings, 1 reply; 18+ messages in thread
From: Florian Fainelli @ 2024-05-15 16:40 UTC (permalink / raw)
To: Linus Torvalds, Mark Brown
Cc: Greg Kroah-Hartman, stable, patches, linux-kernel, akpm, linux,
shuah, patches, lkft-triage, pavel, jonathanh, sudipm.mukherjee,
srw, rwarsow, conor, allen.lkml, Florian Fainelli, Doug Berger
[-- Attachment #1: Type: text/plain, Size: 771 bytes --]
On 5/15/24 09:20, Linus Torvalds wrote:
> On Wed, 15 May 2024 at 09:17, Mark Brown <broonie@kernel.org> 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
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4221 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 16:20 ` Linus Torvalds
2024-05-15 16:40 ` Florian Fainelli
@ 2024-05-15 16:42 ` Mark Brown
2024-05-15 16:58 ` Guenter Roeck
2 siblings, 0 replies; 18+ messages in thread
From: Mark Brown @ 2024-05-15 16:42 UTC (permalink / raw)
To: Linus Torvalds
Cc: Greg Kroah-Hartman, stable, patches, linux-kernel, akpm, linux,
shuah, patches, lkft-triage, pavel, jonathanh, f.fainelli,
sudipm.mukherjee, srw, rwarsow, conor, allen.lkml,
Florian Fainelli, Doug Berger
[-- Attachment #1: Type: text/plain, Size: 636 bytes --]
On Wed, May 15, 2024 at 09:20:48AM -0700, Linus Torvalds wrote:
> On Wed, 15 May 2024 at 09:17, Mark Brown <broonie@kernel.org> 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).
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 8:27 [PATCH 6.1 000/243] 6.1.91-rc2 review Greg Kroah-Hartman
2024-05-15 16:17 ` Mark Brown
@ 2024-05-15 16:48 ` Conor Dooley
2024-05-15 19:02 ` Ron Economos
2024-05-16 9:10 ` Yann Sionneau
3 siblings, 0 replies; 18+ messages in thread
From: Conor Dooley @ 2024-05-15 16:48 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: stable, patches, linux-kernel, torvalds, akpm, linux, shuah,
patches, lkft-triage, pavel, jonathanh, f.fainelli,
sudipm.mukherjee, srw, rwarsow, allen.lkml, broonie
[-- Attachment #1: Type: text/plain, Size: 371 bytes --]
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 <conor.dooley@microchip.com>
Cheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 16:40 ` Florian Fainelli
@ 2024-05-15 16:54 ` Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Florian Fainelli
0 siblings, 1 reply; 18+ messages in thread
From: Florian Fainelli @ 2024-05-15 16:54 UTC (permalink / raw)
To: Linus Torvalds, Mark Brown
Cc: Greg Kroah-Hartman, stable, patches, linux-kernel, akpm, linux,
shuah, patches, lkft-triage, pavel, jonathanh, sudipm.mukherjee,
srw, rwarsow, conor, allen.lkml, Doug Berger
[-- Attachment #1: Type: text/plain, Size: 3207 bytes --]
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 <broonie@kernel.org> 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
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4221 bytes --]
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 16:20 ` Linus Torvalds
2024-05-15 16:40 ` Florian Fainelli
2024-05-15 16:42 ` [PATCH 6.1 000/243] 6.1.91-rc2 review Mark Brown
@ 2024-05-15 16:58 ` Guenter Roeck
2024-05-15 17:00 ` Florian Fainelli
2 siblings, 1 reply; 18+ messages in thread
From: Guenter Roeck @ 2024-05-15 16:58 UTC (permalink / raw)
To: Linus Torvalds, Mark Brown
Cc: Greg Kroah-Hartman, stable, patches, linux-kernel, akpm, shuah,
patches, lkft-triage, pavel, jonathanh, f.fainelli,
sudipm.mukherjee, srw, rwarsow, conor, allen.lkml,
Florian Fainelli, Doug Berger
On 5/15/24 09:20, Linus Torvalds wrote:
> On Wed, 15 May 2024 at 09:17, Mark Brown <broonie@kernel.org> 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
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 16:58 ` Guenter Roeck
@ 2024-05-15 17:00 ` Florian Fainelli
0 siblings, 0 replies; 18+ messages in thread
From: Florian Fainelli @ 2024-05-15 17:00 UTC (permalink / raw)
To: Guenter Roeck, Linus Torvalds, Mark Brown
Cc: Greg Kroah-Hartman, stable, patches, linux-kernel, akpm, shuah,
patches, lkft-triage, pavel, jonathanh, sudipm.mukherjee, srw,
rwarsow, conor, allen.lkml, Florian Fainelli, Doug Berger
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 <broonie@kernel.org> 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/d52e7e4a-2b60-4fdf-9006-12528a91dabf@broadcom.com/
Thanks!
--
Florian
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH stable 6.1 0/4] GENET stable patches for 6.1
2024-05-15 16:54 ` Florian Fainelli
@ 2024-05-15 17:02 ` Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 1/4] net: bcmgenet: Clear RGMII_LINK upon link down Florian Fainelli
` (4 more replies)
0 siblings, 5 replies; 18+ messages in thread
From: Florian Fainelli @ 2024-05-15 17:02 UTC (permalink / raw)
To: linux-kernel
Cc: broonie, Florian Fainelli, Doug Berger, Florian Fainelli,
Broadcom internal kernel review list, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list:BROADCOM GENET ETHERNET DRIVER, stable,
Greg Kroah-Hartman, Sasha Levin
This brings in a preliminary patch ("net: bcmgenet: Clear RGMII_LINK
upon link down") to make sure that ("net: bcmgenet: synchronize
EXT_RGMII_OOB_CTRL access") applies to the correct context.
Doug Berger (3):
net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
net: bcmgenet: synchronize use of bcmgenet_set_rx_mode()
net: bcmgenet: synchronize UMAC_CMD access
Florian Fainelli (1):
net: bcmgenet: Clear RGMII_LINK upon link down
.../net/ethernet/broadcom/genet/bcmgenet.c | 16 ++++++++++--
.../net/ethernet/broadcom/genet/bcmgenet.h | 4 ++-
.../ethernet/broadcom/genet/bcmgenet_wol.c | 8 +++++-
drivers/net/ethernet/broadcom/genet/bcmmii.c | 25 ++++++++++++++-----
4 files changed, 43 insertions(+), 10 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH stable 6.1 1/4] net: bcmgenet: Clear RGMII_LINK upon link down
2024-05-15 17:02 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Florian Fainelli
@ 2024-05-15 17:02 ` Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 2/4] net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access Florian Fainelli
` (3 subsequent siblings)
4 siblings, 0 replies; 18+ messages in thread
From: Florian Fainelli @ 2024-05-15 17:02 UTC (permalink / raw)
To: linux-kernel
Cc: broonie, Florian Fainelli, Jakub Kicinski, Florian Fainelli,
Doug Berger, Broadcom internal kernel review list,
David S. Miller, Eric Dumazet, Paolo Abeni,
open list:BROADCOM GENET ETHERNET DRIVER, stable,
Greg Kroah-Hartman, Sasha Levin
From: Florian Fainelli <f.fainelli@gmail.com>
commit 696450c05181559a35d4d5bee55c465b1ac6fe2e upstream
Clear the RGMII_LINK bit upon detecting link down to be consistent with
setting the bit upon link up. We also move the clearing of the
out-of-band disable to the runtime initialization rather than for each
link up/down transition.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20221118213754.1383364-1-f.fainelli@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
---
drivers/net/ethernet/broadcom/genet/bcmmii.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c
index 1779ee524dac..cc3afb605b1e 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
@@ -72,7 +72,6 @@ static void bcmgenet_mac_config(struct net_device *dev)
* Receive clock is provided by the PHY.
*/
reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL);
- reg &= ~OOB_DISABLE;
reg |= RGMII_LINK;
bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL);
@@ -100,10 +99,18 @@ static void bcmgenet_mac_config(struct net_device *dev)
*/
void bcmgenet_mii_setup(struct net_device *dev)
{
+ struct bcmgenet_priv *priv = netdev_priv(dev);
struct phy_device *phydev = dev->phydev;
+ u32 reg;
- if (phydev->link)
+ if (phydev->link) {
bcmgenet_mac_config(dev);
+ } else {
+ reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL);
+ reg &= ~RGMII_LINK;
+ bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL);
+ }
+
phy_print_status(phydev);
}
@@ -264,18 +271,20 @@ int bcmgenet_mii_config(struct net_device *dev, bool init)
(priv->phy_interface != PHY_INTERFACE_MODE_MOCA);
/* This is an external PHY (xMII), so we need to enable the RGMII
- * block for the interface to work
+ * block for the interface to work, unconditionally clear the
+ * Out-of-band disable since we do not need it.
*/
+ reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL);
+ reg &= ~OOB_DISABLE;
if (priv->ext_phy) {
- reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL);
reg &= ~ID_MODE_DIS;
reg |= id_mode_dis;
if (GENET_IS_V1(priv) || GENET_IS_V2(priv) || GENET_IS_V3(priv))
reg |= RGMII_MODE_EN_V123;
else
reg |= RGMII_MODE_EN;
- bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL);
}
+ bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL);
if (init)
dev_info(kdev, "configuring instance for %s\n", phy_name);
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH stable 6.1 2/4] net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
2024-05-15 17:02 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 1/4] net: bcmgenet: Clear RGMII_LINK upon link down Florian Fainelli
@ 2024-05-15 17:02 ` Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 3/4] net: bcmgenet: synchronize use of bcmgenet_set_rx_mode() Florian Fainelli
` (2 subsequent siblings)
4 siblings, 0 replies; 18+ messages in thread
From: Florian Fainelli @ 2024-05-15 17:02 UTC (permalink / raw)
To: linux-kernel
Cc: broonie, Doug Berger, stable, Florian Fainelli, David S . Miller,
Florian Fainelli, Broadcom internal kernel review list,
Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list:BROADCOM GENET ETHERNET DRIVER, Greg Kroah-Hartman,
Sasha Levin
From: Doug Berger <opendmb@gmail.com>
commit d85cf67a339685beae1d0aee27b7f61da95455be upstream
The EXT_RGMII_OOB_CTRL register can be written from different
contexts. It is predominantly written from the adjust_link
handler which is synchronized by the phydev->lock, but can
also be written from a different context when configuring the
mii in bcmgenet_mii_config().
The chances of contention are quite low, but it is conceivable
that adjust_link could occur during resume when WoL is enabled
so use the phydev->lock synchronizer in bcmgenet_mii_config()
to be sure.
Fixes: afe3f907d20f ("net: bcmgenet: power on MII block for all MII modes")
Cc: stable@vger.kernel.org
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
---
drivers/net/ethernet/broadcom/genet/bcmmii.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c
index cc3afb605b1e..07bb7a4e517c 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
@@ -2,7 +2,7 @@
/*
* Broadcom GENET MDIO routines
*
- * Copyright (c) 2014-2017 Broadcom
+ * Copyright (c) 2014-2024 Broadcom
*/
#include <linux/acpi.h>
@@ -274,6 +274,7 @@ int bcmgenet_mii_config(struct net_device *dev, bool init)
* block for the interface to work, unconditionally clear the
* Out-of-band disable since we do not need it.
*/
+ mutex_lock(&phydev->lock);
reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL);
reg &= ~OOB_DISABLE;
if (priv->ext_phy) {
@@ -285,6 +286,7 @@ int bcmgenet_mii_config(struct net_device *dev, bool init)
reg |= RGMII_MODE_EN;
}
bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL);
+ mutex_unlock(&phydev->lock);
if (init)
dev_info(kdev, "configuring instance for %s\n", phy_name);
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH stable 6.1 3/4] net: bcmgenet: synchronize use of bcmgenet_set_rx_mode()
2024-05-15 17:02 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 1/4] net: bcmgenet: Clear RGMII_LINK upon link down Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 2/4] net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access Florian Fainelli
@ 2024-05-15 17:02 ` Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 4/4] net: bcmgenet: synchronize UMAC_CMD access Florian Fainelli
2024-05-15 17:35 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Mark Brown
4 siblings, 0 replies; 18+ messages in thread
From: Florian Fainelli @ 2024-05-15 17:02 UTC (permalink / raw)
To: linux-kernel
Cc: broonie, Doug Berger, stable, Florian Fainelli, David S . Miller,
Florian Fainelli, Broadcom internal kernel review list,
Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list:BROADCOM GENET ETHERNET DRIVER, Greg Kroah-Hartman,
Sasha Levin
From: Doug Berger <opendmb@gmail.com>
commit 2dbe5f19368caae63b1f59f5bc2af78c7d522b3a upstream
The ndo_set_rx_mode function is synchronized with the
netif_addr_lock spinlock and BHs disabled. Since this
function is also invoked directly from the driver the
same synchronization should be applied.
Fixes: 72f96347628e ("net: bcmgenet: set Rx mode before starting netif")
Cc: stable@vger.kernel.org
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
---
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index c2a991308215..17cf89922ef6 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2,7 +2,7 @@
/*
* Broadcom GENET (Gigabit Ethernet) controller driver
*
- * Copyright (c) 2014-2020 Broadcom
+ * Copyright (c) 2014-2024 Broadcom
*/
#define pr_fmt(fmt) "bcmgenet: " fmt
@@ -3344,7 +3344,9 @@ static void bcmgenet_netif_start(struct net_device *dev)
struct bcmgenet_priv *priv = netdev_priv(dev);
/* Start the network engine */
+ netif_addr_lock_bh(dev);
bcmgenet_set_rx_mode(dev);
+ netif_addr_unlock_bh(dev);
bcmgenet_enable_rx_napi(priv);
umac_enable_set(priv, CMD_TX_EN | CMD_RX_EN, true);
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH stable 6.1 4/4] net: bcmgenet: synchronize UMAC_CMD access
2024-05-15 17:02 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Florian Fainelli
` (2 preceding siblings ...)
2024-05-15 17:02 ` [PATCH stable 6.1 3/4] net: bcmgenet: synchronize use of bcmgenet_set_rx_mode() Florian Fainelli
@ 2024-05-15 17:02 ` Florian Fainelli
2024-05-15 17:35 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Mark Brown
4 siblings, 0 replies; 18+ messages in thread
From: Florian Fainelli @ 2024-05-15 17:02 UTC (permalink / raw)
To: linux-kernel
Cc: broonie, Doug Berger, stable, Florian Fainelli, David S . Miller,
Florian Fainelli, Broadcom internal kernel review list,
Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list:BROADCOM GENET ETHERNET DRIVER, Greg Kroah-Hartman,
Sasha Levin
From: Doug Berger <opendmb@gmail.com>
commit 0d5e2a82232605b337972fb2c7d0cbc46898aca1 upstream
The UMAC_CMD register is written from different execution
contexts and has insufficient synchronization protections to
prevent possible corruption. Of particular concern are the
acceses from the phy_device delayed work context used by the
adjust_link call and the BH context that may be used by the
ndo_set_rx_mode call.
A spinlock is added to the driver to protect contended register
accesses (i.e. reg_lock) and it is used to synchronize accesses
to UMAC_CMD.
Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file")
Cc: stable@vger.kernel.org
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
---
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 12 +++++++++++-
drivers/net/ethernet/broadcom/genet/bcmgenet.h | 4 +++-
drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 8 +++++++-
drivers/net/ethernet/broadcom/genet/bcmmii.c | 2 ++
4 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 17cf89922ef6..23765f1a870e 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2468,14 +2468,18 @@ static void umac_enable_set(struct bcmgenet_priv *priv, u32 mask, bool enable)
{
u32 reg;
+ spin_lock_bh(&priv->reg_lock);
reg = bcmgenet_umac_readl(priv, UMAC_CMD);
- if (reg & CMD_SW_RESET)
+ if (reg & CMD_SW_RESET) {
+ spin_unlock_bh(&priv->reg_lock);
return;
+ }
if (enable)
reg |= mask;
else
reg &= ~mask;
bcmgenet_umac_writel(priv, reg, UMAC_CMD);
+ spin_unlock_bh(&priv->reg_lock);
/* UniMAC stops on a packet boundary, wait for a full-size packet
* to be processed
@@ -2491,8 +2495,10 @@ static void reset_umac(struct bcmgenet_priv *priv)
udelay(10);
/* issue soft reset and disable MAC while updating its registers */
+ spin_lock_bh(&priv->reg_lock);
bcmgenet_umac_writel(priv, CMD_SW_RESET, UMAC_CMD);
udelay(2);
+ spin_unlock_bh(&priv->reg_lock);
}
static void bcmgenet_intr_disable(struct bcmgenet_priv *priv)
@@ -3607,16 +3613,19 @@ static void bcmgenet_set_rx_mode(struct net_device *dev)
* 3. The number of filters needed exceeds the number filters
* supported by the hardware.
*/
+ spin_lock(&priv->reg_lock);
reg = bcmgenet_umac_readl(priv, UMAC_CMD);
if ((dev->flags & (IFF_PROMISC | IFF_ALLMULTI)) ||
(nfilter > MAX_MDF_FILTER)) {
reg |= CMD_PROMISC;
bcmgenet_umac_writel(priv, reg, UMAC_CMD);
+ spin_unlock(&priv->reg_lock);
bcmgenet_umac_writel(priv, 0, UMAC_MDF_CTRL);
return;
} else {
reg &= ~CMD_PROMISC;
bcmgenet_umac_writel(priv, reg, UMAC_CMD);
+ spin_unlock(&priv->reg_lock);
}
/* update MDF filter */
@@ -4018,6 +4027,7 @@ static int bcmgenet_probe(struct platform_device *pdev)
goto err;
}
+ spin_lock_init(&priv->reg_lock);
spin_lock_init(&priv->lock);
/* Set default pause parameters */
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.h b/drivers/net/ethernet/broadcom/genet/bcmgenet.h
index 1985c0ec4da2..28e2c94ef835 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.h
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.h
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
- * Copyright (c) 2014-2020 Broadcom
+ * Copyright (c) 2014-2024 Broadcom
*/
#ifndef __BCMGENET_H__
@@ -573,6 +573,8 @@ struct bcmgenet_rxnfc_rule {
/* device context */
struct bcmgenet_priv {
void __iomem *base;
+ /* reg_lock: lock to serialize access to shared registers */
+ spinlock_t reg_lock;
enum bcmgenet_version version;
struct net_device *dev;
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c b/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c
index f55d9d9c01a8..56781e721497 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c
@@ -2,7 +2,7 @@
/*
* Broadcom GENET (Gigabit Ethernet) Wake-on-LAN support
*
- * Copyright (c) 2014-2020 Broadcom
+ * Copyright (c) 2014-2024 Broadcom
*/
#define pr_fmt(fmt) "bcmgenet_wol: " fmt
@@ -133,6 +133,7 @@ int bcmgenet_wol_power_down_cfg(struct bcmgenet_priv *priv,
}
/* Can't suspend with WoL if MAC is still in reset */
+ spin_lock_bh(&priv->reg_lock);
reg = bcmgenet_umac_readl(priv, UMAC_CMD);
if (reg & CMD_SW_RESET)
reg &= ~CMD_SW_RESET;
@@ -140,6 +141,7 @@ int bcmgenet_wol_power_down_cfg(struct bcmgenet_priv *priv,
/* disable RX */
reg &= ~CMD_RX_EN;
bcmgenet_umac_writel(priv, reg, UMAC_CMD);
+ spin_unlock_bh(&priv->reg_lock);
mdelay(10);
if (priv->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE)) {
@@ -185,6 +187,7 @@ int bcmgenet_wol_power_down_cfg(struct bcmgenet_priv *priv,
}
/* Enable CRC forward */
+ spin_lock_bh(&priv->reg_lock);
reg = bcmgenet_umac_readl(priv, UMAC_CMD);
priv->crc_fwd_en = 1;
reg |= CMD_CRC_FWD;
@@ -192,6 +195,7 @@ int bcmgenet_wol_power_down_cfg(struct bcmgenet_priv *priv,
/* Receiver must be enabled for WOL MP detection */
reg |= CMD_RX_EN;
bcmgenet_umac_writel(priv, reg, UMAC_CMD);
+ spin_unlock_bh(&priv->reg_lock);
reg = UMAC_IRQ_MPD_R;
if (hfb_enable)
@@ -238,7 +242,9 @@ void bcmgenet_wol_power_up_cfg(struct bcmgenet_priv *priv,
}
/* Disable CRC Forward */
+ spin_lock_bh(&priv->reg_lock);
reg = bcmgenet_umac_readl(priv, UMAC_CMD);
reg &= ~CMD_CRC_FWD;
bcmgenet_umac_writel(priv, reg, UMAC_CMD);
+ spin_unlock_bh(&priv->reg_lock);
}
diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c
index 07bb7a4e517c..f21f2aaa6fd9 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
@@ -75,6 +75,7 @@ static void bcmgenet_mac_config(struct net_device *dev)
reg |= RGMII_LINK;
bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL);
+ spin_lock_bh(&priv->reg_lock);
reg = bcmgenet_umac_readl(priv, UMAC_CMD);
reg &= ~((CMD_SPEED_MASK << CMD_SPEED_SHIFT) |
CMD_HD_EN |
@@ -87,6 +88,7 @@ static void bcmgenet_mac_config(struct net_device *dev)
reg |= CMD_TX_EN | CMD_RX_EN;
}
bcmgenet_umac_writel(priv, reg, UMAC_CMD);
+ spin_unlock_bh(&priv->reg_lock);
priv->eee.eee_active = phy_init_eee(phydev, 0) >= 0;
bcmgenet_eee_enable_set(dev,
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH stable 6.1 0/4] GENET stable patches for 6.1
2024-05-15 17:02 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Florian Fainelli
` (3 preceding siblings ...)
2024-05-15 17:02 ` [PATCH stable 6.1 4/4] net: bcmgenet: synchronize UMAC_CMD access Florian Fainelli
@ 2024-05-15 17:35 ` Mark Brown
2024-05-16 9:11 ` Greg Kroah-Hartman
4 siblings, 1 reply; 18+ messages in thread
From: Mark Brown @ 2024-05-15 17:35 UTC (permalink / raw)
To: Florian Fainelli
Cc: linux-kernel, Doug Berger, Florian Fainelli,
Broadcom internal kernel review list, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list:BROADCOM GENET ETHERNET DRIVER, stable,
Greg Kroah-Hartman, Sasha Levin
[-- Attachment #1: Type: text/plain, Size: 320 bytes --]
On Wed, May 15, 2024 at 10:02:23AM -0700, Florian Fainelli wrote:
> This brings in a preliminary patch ("net: bcmgenet: Clear RGMII_LINK
> upon link down") to make sure that ("net: bcmgenet: synchronize
> EXT_RGMII_OOB_CTRL access") applies to the correct context.
That seems to resolve the issue on 6.1 stable for me.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 8:27 [PATCH 6.1 000/243] 6.1.91-rc2 review Greg Kroah-Hartman
2024-05-15 16:17 ` Mark Brown
2024-05-15 16:48 ` Conor Dooley
@ 2024-05-15 19:02 ` Ron Economos
2024-05-16 9:10 ` Yann Sionneau
3 siblings, 0 replies; 18+ messages in thread
From: Ron Economos @ 2024-05-15 19:02 UTC (permalink / raw)
To: Greg Kroah-Hartman, stable
Cc: patches, linux-kernel, torvalds, akpm, linux, shuah, patches,
lkft-triage, pavel, jonathanh, f.fainelli, sudipm.mukherjee, srw,
rwarsow, conor, allen.lkml, broonie
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 <re@w6rz.net>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 6.1 000/243] 6.1.91-rc2 review
2024-05-15 8:27 [PATCH 6.1 000/243] 6.1.91-rc2 review Greg Kroah-Hartman
` (2 preceding siblings ...)
2024-05-15 19:02 ` Ron Economos
@ 2024-05-16 9:10 ` Yann Sionneau
3 siblings, 0 replies; 18+ messages in thread
From: Yann Sionneau @ 2024-05-16 9:10 UTC (permalink / raw)
To: Greg Kroah-Hartman, stable
Cc: patches, linux-kernel, torvalds, akpm, linux, shuah, patches,
lkft-triage, pavel, jonathanh, f.fainelli, sudipm.mukherjee, srw,
rwarsow, conor, allen.lkml, broonie
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<ysionneau@kalrayinc.com>
-- Yann
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH stable 6.1 0/4] GENET stable patches for 6.1
2024-05-15 17:35 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Mark Brown
@ 2024-05-16 9:11 ` Greg Kroah-Hartman
0 siblings, 0 replies; 18+ messages in thread
From: Greg Kroah-Hartman @ 2024-05-16 9:11 UTC (permalink / raw)
To: Mark Brown
Cc: Florian Fainelli, linux-kernel, Doug Berger, Florian Fainelli,
Broadcom internal kernel review list, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni,
open list:BROADCOM GENET ETHERNET DRIVER, stable, Sasha Levin
On Wed, May 15, 2024 at 06:35:55PM +0100, Mark Brown wrote:
> On Wed, May 15, 2024 at 10:02:23AM -0700, Florian Fainelli wrote:
> > This brings in a preliminary patch ("net: bcmgenet: Clear RGMII_LINK
> > upon link down") to make sure that ("net: bcmgenet: synchronize
> > EXT_RGMII_OOB_CTRL access") applies to the correct context.
>
> That seems to resolve the issue on 6.1 stable for me.
Great, thanks for testing and letting us know. I've queued these up and
will push out a -rc3 now.
greg k-h
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2024-05-16 9:15 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-15 8:27 [PATCH 6.1 000/243] 6.1.91-rc2 review Greg Kroah-Hartman
2024-05-15 16:17 ` Mark Brown
2024-05-15 16:20 ` Linus Torvalds
2024-05-15 16:40 ` Florian Fainelli
2024-05-15 16:54 ` Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 1/4] net: bcmgenet: Clear RGMII_LINK upon link down Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 2/4] net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 3/4] net: bcmgenet: synchronize use of bcmgenet_set_rx_mode() Florian Fainelli
2024-05-15 17:02 ` [PATCH stable 6.1 4/4] net: bcmgenet: synchronize UMAC_CMD access Florian Fainelli
2024-05-15 17:35 ` [PATCH stable 6.1 0/4] GENET stable patches for 6.1 Mark Brown
2024-05-16 9:11 ` Greg Kroah-Hartman
2024-05-15 16:42 ` [PATCH 6.1 000/243] 6.1.91-rc2 review Mark Brown
2024-05-15 16:58 ` Guenter Roeck
2024-05-15 17:00 ` Florian Fainelli
2024-05-15 16:48 ` Conor Dooley
2024-05-15 19:02 ` Ron Economos
2024-05-16 9:10 ` Yann Sionneau
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox