Skip to contentSkip to conversation

5.4.302-rc2 review

PATCH In review Greg Kroah-Hartman 6 participants 7 messages Dec 2, 2025 – Dec 3, 2025

Subsystems (2)
lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

cover 5.4.302-rc2 review

This is the start of the stable review cycle for the 5.4.302 release. There are 184 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 Thu, 04 Dec 2025 09:54:14 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.302-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-5.4.y
and the diffstat can be found below.

thanks,

greg k-h

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

Greg Kroah-Hartman <[email protected]>

    Linux 5.4.302-rc2

Hugh Dickins <[email protected]>
mm/mprotect: delete pmd_none_or_clear_bad_unless_trans_huge()

Peter Xu <[email protected]>
mm/mprotect: use long for page accountings and retval

Seungjin Bae <[email protected]>
Input: pegasus-notetaker - fix potential out-of-bounds access

Vincent Mailhol <[email protected]>
Input: remove third argument of usb_maxpacket()

Vincent Mailhol <[email protected]>
usb: deprecate the third argument of usb_maxpacket()

Niklas Cassel <[email protected]>
ata: libata-scsi: Fix system suspend for a security locked drive

Wei Yang <[email protected]>
fs/proc: fix uaf in proc_readdir_de()

Miaoqian Lin <[email protected]>
pmdomain: imx: Fix reference count leak in imx_gpc_remove

Sudeep Holla <[email protected]>
pmdomain: arm: scmi: Fix genpd leak on provider registration failure

Breno Leitao <[email protected]>
net: netpoll: fix incorrect refcount handling causing incorrect cleanup

Nathan Chancellor <[email protected]>
net: qede: Initialize qede_ll_ops with designated initializer

Long Li <[email protected]>
uio_hv_generic: Set event for all channels on the device

Nishanth Menon <[email protected]>
net: ethernet: ti: netcp: Standardize knav_dma_open_channel to return NULL on error

René Rebe <[email protected]>
ALSA: usb-audio: fix uac2 clock source at terminal parser

Isaac J. Manjarres <[email protected]>
mm/page_alloc: fix hash table order logging in alloc_large_system_hash()

Jakub Horký <[email protected]>
kconfig/nconf: Initialize the default locale at startup

Jakub Horký <[email protected]>
kconfig/mconf: Initialize the default locale at startup

Michal Luczaj <[email protected]>
vsock: Ignore signal/timeout on connect() if already established

Aleksei Nikiforov <[email protected]>
s390/ctcm: Fix double-kfree

Ilya Maximets <[email protected]>
net: openvswitch: remove never-working support for setting nsh fields

Zilin Guan <[email protected]>
mlxsw: spectrum: Fix memory leak in mlxsw_sp_flower_stats()

Maciej W. Rozycki <[email protected]>
MIPS: Malta: Fix !EVA SOC-it PCI MMIO

Hamza Mahfooz <[email protected]>
scsi: target: tcm_loop: Fix segfault in tcm_loop_tpg_address_show()

Bart Van Assche <[email protected]>
scsi: sg: Do not sleep in atomic context

Tzung-Bi Shih <[email protected]>
Input: cros_ec_keyb - fix an invalid memory access

Andrey Vatoropin <[email protected]>
be2net: pass wrb_params in case of OS2BMC

Zhang Heng <[email protected]>

    HID: quirks: work around VID/PID conflict for 0x4c4a/0x4155

Abdun Nihaal <[email protected]>
isdn: mISDN: hfcsusb: fix memory leak in hfcsusb_probe()

Niravkumar L Rabara <[email protected]>
EDAC/altera: Use INTTEST register for Ethernet and USB SBE injection

Niravkumar L Rabara <[email protected]>
EDAC/altera: Handle OCRAM ECC enable after warm reset

Hans de Goede <[email protected]>
spi: Try to get ACPI GPIO IRQ earlier

Chuang Wang <[email protected]>
ipv4: route: Prevent rt_bind_exception() from rebinding stale fnhe

Nate Karstens <[email protected]>
strparser: Fix signed/unsigned mismatch bug

Peter Oberparleiter <[email protected]>
gcov: add support for GCC 15

Jakub Acs <[email protected]>
mm/ksm: fix flag-dropping behavior in ksm_madvise

Haein Lee <[email protected]>
ALSA: usb-audio: Fix NULL pointer dereference in snd_usb_mixer_controls_badd

Ian Forbes <[email protected]>
drm/vmwgfx: Validate command header size against SVGA_CMD_MAX_DATASIZE

Haotian Zhang <[email protected]>
ASoC: cs4271: Fix regulator leak on probe failure

Haotian Zhang <[email protected]>
regulator: fixed: fix GPIO descriptor leak on register failure

Chris Morgan <[email protected]>
regulator: fixed: use dev_err_probe for register

Pauli Virtanen <[email protected]>
Bluetooth: L2CAP: export l2cap_chan_hold for modules

Eric Dumazet <[email protected]>
net_sched: limit try_bulk_dequeue_skb() batches

Eric Dumazet <[email protected]>
net_sched: remove need_resched() from qdisc_run()

Gal Pressman <[email protected]>
net/mlx5e: Fix wraparound in rate limiting for values above 255 Gbps

Gal Pressman <[email protected]>
net/mlx5e: Fix maxrate wraparound in threshold between units

Ranganath V N <[email protected]>
net: sched: act_ife: initialize struct tc_ife to fix KMSAN kernel-infoleak

Benjamin Berg <[email protected]>
wifi: mac80211: skip rate verification for not captured PSDUs

Buday Csaba <[email protected]>
net: mdio: fix resource leak in mdiobus_register_device()

Kuniyuki Iwashima <[email protected]>
tipc: Fix use-after-free in tipc_mon_reinit_self().

Xin Long <[email protected]>
tipc: simplify the finalize work queue

Eric Dumazet <[email protected]>
sctp: prevent possible shift-out-of-bounds in sctp_transport_update_rto

Xin Long <[email protected]>
sctp: get netns from asoc and ep base

Pauli Virtanen <[email protected]>
Bluetooth: 6lowpan: Don't hold spin lock over sleeping functions

Pauli Virtanen <[email protected]>
Bluetooth: 6lowpan: fix BDADDR_LE vs ADDR_LE_DEV address type confusion

Pauli Virtanen <[email protected]>
Bluetooth: 6lowpan: reset link-local header on ipv6 recv path

Raphael Pinsonneault-Thibeault <[email protected]>
Bluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF

Wei Fang <[email protected]>
net: fec: correct rx_bytes statistic for the case SHIFT16 is set

Sharique Mohammad <[email protected]>

    ASoC: max98090/91: fixed max98091 ALSA widget powering up/down

Tristan Lobb <[email protected]>
HID: quirks: avoid Cooler Master MM712 dongle wakeup bug

Joshua Watt <[email protected]>
NFS4: Fix state renewals missing after boot

Peter Zijlstra <[email protected]>
compiler_types: Move unused static inline functions warning to W=2

Krzysztof Kozlowski <[email protected]>
extcon: adc-jack: Cleanup wakeup source only if it was enabled

Zilin Guan <[email protected]>
tracing: Fix memory leaks in create_field_var()

Qendrim Maxhuni <[email protected]>
net: usb: qmi_wwan: initialize MAC header offset in qmimux_rx_fixup

Stefan Wiehler <[email protected]>
sctp: Prevent TOCTOU out-of-bounds write

Stefan Wiehler <[email protected]>
sctp: Hold RCU read lock while iterating over address list

Jonas Gorski <[email protected]>
net: dsa: b53: stop reading ARL entries if search is done

Jonas Gorski <[email protected]>
net: dsa: b53: fix enabling ip multicast

Jonas Gorski <[email protected]>
net: dsa: b53: fix resetting speed and pause on forced link

Álvaro Fernández Rojas <[email protected]>
net: dsa: b53: prevent GMII_PORT_OVERRIDE_CTRL access on BCM5325

Russell King <[email protected]>
net: dsa/b53: change b53_force_port_config() pause argument

Hangbin Liu <[email protected]>
net: vlan: sync VLAN features with lower device

Viacheslav Dubeyko <[email protected]>
ceph: add checking of wait_for_completion_killable() return value

Albin Babu Varghese <[email protected]>
fbdev: Add bounds checking in bit_putcs to fix vmalloc-out-of-bounds

Sakari Ailus <[email protected]>
ACPI: property: Return present device nodes only on fwnode interface

Randall P. Embry <[email protected]>
9p: sysfs_init: don't hardcode error to ENOMEM

Randall P. Embry <[email protected]>
9p: fix /sys/fs/9p/caches overwriting itself

Yikang Yue <[email protected]>
fs/hpfs: Fix error code for new_inode() failure in mkdir/create/mknod/symlink

Saket Dumbre <[email protected]>
ACPICA: Update dsmethod.c to get rid of unused variable warning

Mike Marshall <[email protected]>
orangefs: fix xattr related buffer overflow...

Dragos Tatulea <[email protected]>
page_pool: Clamp pool size to max 16K pages

Ivan Pravdin <[email protected]>
Bluetooth: bcsp: receive data only if registered

Luiz Augusto von Dentz <[email protected]>
Bluetooth: SCO: Fix UAF on sco_conn_free

Théo Lebrun <[email protected]>
net: macb: avoid dealing with endianness in macb_set_hwaddr()

Al Viro <[email protected]>

    nfs4_setup_readdir(): insufficient locking for ->d_parent->d_inode dereferencing

Anthony Iliopoulos <[email protected]>
NFSv4.1: fix mount hang after CREATE_SESSION failure

Olga Kornievskaia <[email protected]>
NFSv4: handle ERR_GRACE on delegation recalls

Stephan Gerhold <[email protected]>
remoteproc: qcom: q6v5: Avoid handling handover twice

Koakuma <[email protected]>
sparc/module: Add R_SPARC_UA64 relocation handling

Brahmajit Das <[email protected]>
net: intel: fm10k: Fix parameter idx set but not used

Shaurya Rane <[email protected]>
jfs: fix uninitialized waitqueue in transaction manager

Tetsuo Handa <[email protected]>
jfs: Verify inode mode when loading from disk

Eric Dumazet <[email protected]>

    ipv6: np->rxpmtu race annotation

Krishna Kurapati <[email protected]>
usb: xhci: plat: Facilitate using autosuspend for xhci plat devices

Forest Crossman <[email protected]>
usb: mon: Increase BUFF_MAX to 64 MiB to support multi-MB URBs

Al Viro <[email protected]>

    allow finish_no_open(file, ERR_PTR(-E...))

Justin Tee <[email protected]>
scsi: lpfc: Define size of debugfs entry for xri rebalancing

Justin Tee <[email protected]>
scsi: lpfc: Check return status of lpfc_reset_flush_io_context during TGT_RESET

Nai-Chen Cheng <[email protected]>

    selftests/Makefile: include $(INSTALL_DEP_TARGETS) in clean target to clean net/lib dependency

Yafang Shao <[email protected]>
net/cls_cgroup: Fix task_get_classid() during qdisc run

David Ahern <[email protected]>
selftests: Replace sleep with slowwait

David Ahern <[email protected]>
selftests: Disable dad for ipv6 in fcnal-test.sh

Qianfeng Rong <[email protected]>
media: redrat3: use int type to store negative error codes

Niklas Söderlund <[email protected]>
net: sh_eth: Disable WoL if system can not suspend

Harikrishna Shenoy <[email protected]>
phy: cadence: cdns-dphy: Enable lower resolutions in dphy

William Wu <[email protected]>
usb: gadget: f_hid: Fix zero length packet transfer

Eric Dumazet <[email protected]>
net: call cond_resched() less often in __release_sock()

Cryolitia PukNgae <[email protected]>
ALSA: usb-audio: apply quirk for MOONDROP Quark2

Juraj Šarinay <[email protected]>
net: nfc: nci: Increase NCI_DATA_TIMEOUT to 3000 ms

Devendra K Verma <[email protected]>
dmaengine: dw-edma: Set status for callback_result

Rosen Penev <[email protected]>
dmaengine: mv_xor: match alloc_wc and free_wc

Thomas Andreatta <[email protected]>
dmaengine: sh: setup_xref error handling

Qianfeng Rong <[email protected]>
scsi: pm8001: Use int instead of u32 to store error codes

Aleksander Jan Bajkowski <[email protected]>
mips: lantiq: xway: sysctrl: rename stp clock

Aleksander Jan Bajkowski <[email protected]>
mips: lantiq: danube: add missing device_type in pci node

Aleksander Jan Bajkowski <[email protected]>
mips: lantiq: danube: add missing properties to cpu node

Chelsy Ratnawat <[email protected]>
media: fix uninitialized symbol warnings

Amber Lin <[email protected]>
drm/amdkfd: Tie UNMAP_LATENCY to queue_preemption

Krzysztof Kozlowski <[email protected]>
extcon: adc-jack: Fix wakeup source leaks on device unbind

Ujwal Kundur <[email protected]>
rds: Fix endianness annotation for RDS_MPATH_HASH

Sungho Kim <[email protected]>
PCI/P2PDMA: Fix incorrect pointer usage in devm_kfree() call

Kuniyuki Iwashima <[email protected]>
net: Call trace_sock_exceed_buf_limit() for memcg failure with SK_MEM_RECV.

Christoph Paasch <[email protected]>
net: When removing nexthops, don't call synchronize_net if it is not necessary

Zijun Hu <[email protected]>
char: misc: Does not request module for miscdevice with dynamic minor

raub camaioni <[email protected]>
usb: gadget: f_ncm: Fix MAC assignment NCM ethernet

Rodrigo Gobbi <[email protected]>
iio: adc: spear_adc: mask SPEAR_ADC_STATUS channel and avg sample before setting register

Tetsuo Handa <[email protected]>
media: imon: make send_packet() more robust

Charalampos Mitrodimas <[email protected]>
net: ipv6: fix field-spanning memcpy warning in AH output

Ido Schimmel <[email protected]>
bridge: Redirect to backup port when port is administratively down

Niklas Schnelle <[email protected]>
powerpc/eeh: Use result of error_detected() in uevent

Kirill A. Shutemov <[email protected]>
x86/vsyscall: Do not require X86_PF_INSTR to emulate vsyscall

Laurent Pinchart <[email protected]>
media: pci: ivtv: Don't create fake v4l2_fh

Geoffrey McRae <[email protected]>
drm/amdkfd: return -ENOTTY for unsupported IOCTLs

Wake Liu <[email protected]>
selftests/net: Ensure assert() triggers in psock_tpacket.c

Wake Liu <[email protected]>
selftests/net: Replace non-standard __WORDSIZE with sizeof(long) * 8

Marcos Del Sol Vives <[email protected]>
PCI: Disable MSI on RDC PCI to PCIe bridges

Seyediman Seyedarab <[email protected]>
drm/nouveau: replace snprintf() with scnprintf() in nvkm_snprintbf()

Arnd Bergmann <[email protected]>
mfd: madera: Work around false-positive -Wininitialized warning

Alexander Stein <[email protected]>
mfd: stmpe-i2c: Add missing MODULE_LICENSE

Alexander Stein <[email protected]>
mfd: stmpe: Remove IRQ domain upon removal

Len Brown <[email protected]>
tools/power x86_energy_perf_policy: Prefer driver HWP limits

Len Brown <[email protected]>
tools/power x86_energy_perf_policy: Enhance HWP enable

Kaushlendra Kumar <[email protected]>
tools/cpupower: Fix incorrect size in cpuidle_state_disable()

Armin Wolf <[email protected]>
hwmon: (dell-smm) Add support for Dell OptiPlex 7040

Jiri Olsa <[email protected]>
uprobe: Do not emulate/sstep original instruction when ip is changed

Daniel Lezcano <[email protected]>
clocksource/drivers/vf-pit: Replace raw_readl/writel to readl/writel

Svyatoslav Ryhel <[email protected]>
video: backlight: lp855x_bl: Set correct EPROM start for LP8556

Amirreza Zarrabi <[email protected]>
tee: allow a driver to allocate a tee_device without a pool

Hans de Goede <[email protected]>
ACPICA: dispatcher: Use acpi_ds_clear_operands() in acpi_ds_call_control_method()

Sarthak Garg <[email protected]>
mmc: sdhci-msm: Enable tuning for SDR50 mode for SD card

Christian Bruel <[email protected]>
irqchip/gic-v2m: Handle Multiple MSI base IRQ Alignment

Kees Cook <[email protected]>
arc: Fix __fls() const-foldability via __builtin_clzl()

Dennis Beier <[email protected]>
cpufreq/longhaul: handle NULL policy in longhaul_exit

Ricardo B. Marlière <[email protected]>
selftests/bpf: Fix bpf_prog_detach2 usage in test_lirc_mode2

Mario Limonciello (AMD) <[email protected]>
ACPI: video: force native for Lenovo 82K8

Jiayi Li <[email protected]>
memstick: Add timeout to prevent indefinite waiting

Biju Das <[email protected]>
mmc: host: renesas_sdhi: Fix the actual clock

Thomas Weißschuh <[email protected]>
bpf: Don't use %pK through printk

Thomas Weißschuh <[email protected]>
spi: loopback-test: Don't use %pK through printk

Jens Reidel <[email protected]>
soc: qcom: smem: Fix endian-unaware access of num_entries

Owen Gu <[email protected]>
usb: gadget: f_fs: Fix epfile null pointer access after ep enable.

Artem Shimko <[email protected]>
serial: 8250_dw: handle reset control deassert error

Andy Shevchenko <[email protected]>

    serial: 8250_dw: Use devm_add_action_or_reset()

Andy Shevchenko <[email protected]>
serial: 8250_dw: Use devm_clk_get_optional() to get the input clock

Celeste Liu <[email protected]>
can: gs_usb: increase max interface to U8_MAX

Maarten Lankhorst <[email protected]>

    devcoredump: Fix circular locking dependency with devcd->mutex.

Lad Prabhakar <[email protected]>
net: ravb: Enforce descriptor type ordering

Babu Moger <[email protected]>
x86/resctrl: Fix miscount of bandwidth event when reactivating previously unavailable RMID

Gokul Sivakumar <[email protected]>
wifi: brcmfmac: fix crash while sending Action Frames in standalone AP Mode

Emanuele Ghidoli <[email protected]>
net: phy: dp83867: Disable EEE support as not implemented

Alexey Klimov <[email protected]>
regmap: slimbus: fix bus_context pointer in regmap init calls

Tomeu Vizoso <[email protected]>
drm/etnaviv: fix flush sequence logic

Lizhi Xu <[email protected]>
usbnet: Prevents free active kevent

Loic Poulain <[email protected]>
wifi: ath10k: Fix memory leak on unsupported WMI command

Srinivas Kandagatla <[email protected]>
ASoC: qdsp6: q6asm: do not sleep while atomic

Miaoqian Lin <[email protected]>
fbdev: valkyriefb: Fix reference count leak in valkyriefb_init

Florian Fuchs <[email protected]>
fbdev: pvr2fb: Fix leftover reference to ONCHIP_NR_DMA_CHANNELS

Junjie Cao <[email protected]>
fbdev: bitblit: bound-check glyph index in bit_putcs*

Yuhao Jiang <[email protected]>
ACPI: video: Fix use-after-free in acpi_video_switch_brightness()

Daniel Palmer <[email protected]>

    fbdev: atyfb: Check if pll_ops->init_pll failed

Miaoqian Lin <[email protected]>
net: usb: asix_devices: Check return value of usbnet_get_endpoints

Filipe Manana <[email protected]>
btrfs: use smp_mb__after_atomic() when forcing COW in create_pending_snapshot()

David Kaplan <[email protected]>
x86/bugs: Fix reporting of LFENCE retpoline

Xiang Mei <[email protected]>
net/sched: sch_qfq: Fix null-deref in agg_dequeue

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

Diffstat:

 Makefile                                           |   4 +-
 arch/arc/include/asm/bitops.h                      |   2 +
 arch/mips/boot/dts/lantiq/danube.dtsi              |   6 +
 arch/mips/lantiq/xway/sysctrl.c                    |   2 +-
 arch/mips/mti-malta/malta-init.c                   |  20 +--
 arch/powerpc/kernel/eeh_driver.c                   |   2 +-
 arch/sparc/include/asm/elf_64.h                    |   1 +
 arch/sparc/kernel/module.c                         |   1 +
 arch/x86/entry/vsyscall/vsyscall_64.c              |  17 ++-
 arch/x86/kernel/cpu/bugs.c                         |   5 +-
 arch/x86/kernel/cpu/resctrl/monitor.c              |  10 +-
 drivers/acpi/acpi_video.c                          |   4 +-
 drivers/acpi/acpica/dsmethod.c                     |  10 +-
 drivers/acpi/property.c                            |  24 +++-
 drivers/acpi/video_detect.c                        |   8 ++
 drivers/ata/libata-scsi.c                          |   8 ++
 drivers/base/devcoredump.c                         | 138 +++++++++++++--------
 drivers/base/regmap/regmap-slimbus.c               |   6 +-
 drivers/bluetooth/btusb.c                          |  13 +-
 drivers/bluetooth/hci_bcsp.c                       |   3 +
 drivers/char/misc.c                                |   8 +-
 drivers/clocksource/timer-vf-pit.c                 |  22 ++--
 drivers/cpufreq/longhaul.c                         |   3 +
 drivers/dma/dw-edma/dw-edma-core.c                 |  22 ++++
 drivers/dma/mv_xor.c                               |   4 +-
 drivers/dma/sh/shdma-base.c                        |  25 +++-
 drivers/dma/sh/shdmac.c                            |  17 ++-
 drivers/edac/altera_edac.c                         |  22 +++-
 drivers/extcon/extcon-adc-jack.c                   |   2 +
 drivers/firmware/arm_scmi/scmi_pm_domain.c         |  13 +-
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c           |   8 +-
 drivers/gpu/drm/amd/amdkfd/kfd_priv.h              |   9 +-
 drivers/gpu/drm/etnaviv/etnaviv_buffer.c           |   2 +-
 drivers/gpu/drm/nouveau/nvkm/core/enum.c           |   2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c            |   5 +
 drivers/hid/hid-ids.h                              |   7 +-
 drivers/hid/hid-quirks.c                           |  14 ++-
 drivers/hwmon/dell-smm-hwmon.c                     |   7 ++
 drivers/iio/adc/spear_adc.c                        |   9 +-
 drivers/input/keyboard/cros_ec_keyb.c              |   6 +
 drivers/input/misc/ati_remote2.c                   |   2 +-
 drivers/input/misc/cm109.c                         |   2 +-
 drivers/input/misc/powermate.c                     |   2 +-
 drivers/input/misc/yealink.c                       |   2 +-
 drivers/input/tablet/acecad.c                      |   2 +-
 drivers/input/tablet/pegasus_notetaker.c           |  11 +-
 drivers/irqchip/irq-gic-v2m.c                      |  13 +-
 drivers/isdn/hardware/mISDN/hfcsusb.c              |  18 ++-
 drivers/media/i2c/ir-kbd-i2c.c                     |   6 +-
 drivers/media/pci/ivtv/ivtv-alsa-pcm.c             |   2 -
 drivers/media/pci/ivtv/ivtv-driver.h               |   3 +-
 drivers/media/pci/ivtv/ivtv-fileops.c              |  18 +--
 drivers/media/pci/ivtv/ivtv-irq.c                  |   4 +-
 drivers/media/rc/imon.c                            |  61 +++++----
 drivers/media/rc/redrat3.c                         |   2 +-
 drivers/media/tuners/xc4000.c                      |   8 +-
 drivers/media/tuners/xc5000.c                      |  12 +-
 drivers/memstick/core/memstick.c                   |   8 +-
 drivers/mfd/madera-core.c                          |   4 +-
 drivers/mfd/stmpe-i2c.c                            |   1 +
 drivers/mfd/stmpe.c                                |   3 +
 drivers/mmc/host/renesas_sdhi_core.c               |   6 +-
 drivers/mmc/host/sdhci-msm.c                       |  15 +++
 drivers/net/can/usb/gs_usb.c                       |  23 ++--
 drivers/net/dsa/b53/b53_common.c                   |  57 ++++++---
 drivers/net/dsa/b53/b53_regs.h                     |   4 +-
 drivers/net/ethernet/cadence/macb_main.c           |   4 +-
 drivers/net/ethernet/emulex/benet/be_main.c        |   7 +-
 drivers/net/ethernet/freescale/fec_main.c          |   2 +
 drivers/net/ethernet/intel/fm10k/fm10k_common.c    |   5 +-
 drivers/net/ethernet/intel/fm10k/fm10k_common.h    |   2 +-
 drivers/net/ethernet/intel/fm10k/fm10k_pf.c        |   2 +-
 drivers/net/ethernet/intel/fm10k/fm10k_vf.c        |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c |  15 ++-
 .../net/ethernet/mellanox/mlxsw/spectrum_flower.c  |   6 +-
 drivers/net/ethernet/qlogic/qede/qede_main.c       |   2 +-
 drivers/net/ethernet/renesas/ravb_main.c           |  16 ++-
 drivers/net/ethernet/renesas/sh_eth.c              |   4 +
 drivers/net/ethernet/ti/netcp_core.c               |  10 +-
 drivers/net/phy/dp83867.c                          |   6 +
 drivers/net/phy/mdio_bus.c                         |   5 +-
 drivers/net/usb/asix_devices.c                     |  12 +-
 drivers/net/usb/qmi_wwan.c                         |   6 +
 drivers/net/usb/usbnet.c                           |   2 +
 drivers/net/wireless/ath/ath10k/wmi.c              |   1 +
 .../broadcom/brcm80211/brcmfmac/cfg80211.c         |   3 +-
 .../net/wireless/broadcom/brcm80211/brcmfmac/p2p.c |  21 ++--
 .../net/wireless/broadcom/brcm80211/brcmfmac/p2p.h |   3 +-
 drivers/pci/p2pdma.c                               |   2 +-
 drivers/pci/quirks.c                               |   1 +
 drivers/phy/cadence/cdns-dphy.c                    |   4 +-
 drivers/regulator/fixed.c                          |   6 +-
 drivers/remoteproc/qcom_q6v5.c                     |   5 +
 drivers/s390/net/ctcm_mpc.c                        |   1 -
 drivers/scsi/lpfc/lpfc_debugfs.h                   |   3 +
 drivers/scsi/lpfc/lpfc_scsi.c                      |  14 ++-
 drivers/scsi/pm8001/pm8001_ctl.c                   |   2 +-
 drivers/scsi/sg.c                                  |  10 +-
 drivers/soc/imx/gpc.c                              |   2 +
 drivers/soc/qcom/smem.c                            |   2 +-
 drivers/soc/ti/knav_dma.c                          |  14 +--
 drivers/spi/spi-loopback-test.c                    |  12 +-
 drivers/spi/spi.c                                  |  10 ++
 drivers/target/loopback/tcm_loop.c                 |   3 +
 drivers/tee/tee_core.c                             |   2 +-
 drivers/tty/serial/8250/8250_dw.c                  | 128 +++++++++----------
 drivers/uio/uio_hv_generic.c                       |  21 +++-
 drivers/usb/gadget/function/f_fs.c                 |   8 +-
 drivers/usb/gadget/function/f_hid.c                |   4 +-
 drivers/usb/gadget/function/f_ncm.c                |   3 +-
 drivers/usb/host/xhci-plat.c                       |   1 +
 drivers/usb/mon/mon_bin.c                          |  14 ++-
 drivers/video/backlight/lp855x_bl.c                |   2 +-
 drivers/video/fbdev/aty/atyfb_base.c               |   8 +-
 drivers/video/fbdev/core/bitblit.c                 |  33 ++++-
 drivers/video/fbdev/pvr2fb.c                       |   2 +-
 drivers/video/fbdev/valkyriefb.c                   |   2 +
 fs/9p/v9fs.c                                       |   9 +-
 fs/btrfs/transaction.c                             |   2 +-
 fs/ceph/locks.c                                    |   5 +-
 fs/hpfs/namei.c                                    |  18 ++-
 fs/jfs/inode.c                                     |   8 +-
 fs/jfs/jfs_txnmgr.c                                |   9 +-
 fs/nfs/nfs4client.c                                |   1 +
 fs/nfs/nfs4proc.c                                  |   6 +-
 fs/nfs/nfs4state.c                                 |   3 +
 fs/open.c                                          |  10 +-
 fs/orangefs/xattr.c                                |  12 +-
 fs/proc/generic.c                                  |  12 +-
 include/linux/ata.h                                |   1 +
 include/linux/compiler_types.h                     |   5 +-
 include/linux/filter.h                             |   2 +-
 include/linux/hugetlb.h                            |   4 +-
 include/linux/mm.h                                 |   4 +-
 include/linux/shdma-base.h                         |   2 +-
 include/linux/usb.h                                |  16 +--
 include/net/cls_cgroup.h                           |   2 +-
 include/net/nfc/nci_core.h                         |   2 +-
 include/net/pkt_sched.h                            |  25 +++-
 kernel/events/uprobes.c                            |   7 ++
 kernel/gcov/gcc_4_7.c                              |   4 +-
 kernel/trace/trace_events_hist.c                   |   6 +-
 mm/hugetlb.c                                       |   4 +-
 mm/mempolicy.c                                     |   2 +-
 mm/mprotect.c                                      | 124 ++++++++----------
 mm/page_alloc.c                                    |   2 +-
 net/8021q/vlan.c                                   |   2 +
 net/bluetooth/6lowpan.c                            | 103 ++++++++++-----
 net/bluetooth/l2cap_core.c                         |   1 +
 net/bluetooth/sco.c                                |   7 ++
 net/bridge/br_forward.c                            |   3 +-
 net/core/netpoll.c                                 |   7 +-
 net/core/page_pool.c                               |   6 +-
 net/core/sock.c                                    |  15 ++-
 net/ipv4/nexthop.c                                 |   6 +
 net/ipv4/route.c                                   |   5 +
 net/ipv6/ah6.c                                     |  50 +++++---
 net/ipv6/raw.c                                     |   2 +-
 net/ipv6/udp.c                                     |   2 +-
 net/mac80211/rx.c                                  |  10 +-
 net/openvswitch/actions.c                          |  68 +---------
 net/openvswitch/flow_netlink.c                     |  64 ++--------
 net/openvswitch/flow_netlink.h                     |   2 -
 net/rds/rds.h                                      |   2 +-
 net/sched/act_ife.c                                |  12 +-
 net/sched/sch_api.c                                |  10 --
 net/sched/sch_generic.c                            |  24 ++--
 net/sched/sch_hfsc.c                               |  16 ---
 net/sched/sch_qfq.c                                |   2 +-
 net/sctp/associola.c                               |  10 +-
 net/sctp/chunk.c                                   |   2 +-
 net/sctp/diag.c                                    |   7 ++
 net/sctp/endpointola.c                             |   6 +-
 net/sctp/input.c                                   |   5 +-
 net/sctp/output.c                                  |   2 +-
 net/sctp/outqueue.c                                |   6 +-
 net/sctp/sm_make_chunk.c                           |   7 +-
 net/sctp/sm_sideeffect.c                           |  16 +--
 net/sctp/sm_statefuns.c                            |   2 +-
 net/sctp/socket.c                                  |  12 +-
 net/sctp/stream.c                                  |   3 +-
 net/sctp/stream_interleave.c                       |  23 ++--
 net/sctp/transport.c                               |  15 ++-
 net/sctp/ulpqueue.c                                |  15 ++-
 net/strparser/strparser.c                          |   2 +-
 net/tipc/core.c                                    |   4 +-
 net/tipc/core.h                                    |   8 +-
 net/tipc/discover.c                                |   4 +-
 net/tipc/link.c                                    |   5 +
 net/tipc/link.h                                    |   1 +
 net/tipc/net.c                                     |  17 +--
 net/vmw_vsock/af_vsock.c                           |  40 ++++--
 scripts/kconfig/mconf.c                            |   3 +
 scripts/kconfig/nconf.c                            |   3 +
 sound/soc/codecs/cs4271.c                          |  10 +-
 sound/soc/codecs/max98090.c                        |   6 +-
 sound/soc/qcom/qdsp6/q6asm.c                       |   2 +-
 sound/usb/mixer.c                                  |  11 +-
 tools/power/cpupower/lib/cpuidle.c                 |   5 +-
 .../x86_energy_perf_policy.c                       |  26 ++--
 tools/testing/selftests/Makefile                   |   2 +-
 tools/testing/selftests/bpf/test_lirc_mode2_user.c |   2 +-
 tools/testing/selftests/net/fcnal-test.sh          |   4 +-
 tools/testing/selftests/net/psock_tpacket.c        |   4 +-
 204 files changed, 1358 insertions(+), 893 deletions(-)
Tested-by on the v1 series
#1 lore raw

# Librecast Test Results

Build and boots without error. No network tests run.

020/020 [ OK ] liblcrq
010/010 [ OK ] libmld
120/120 [ OK ] liblibrecast

CPU/kernel: Linux auntie 5.4.302-rc2-00185-ga03757dc1d0b #1 SMP Tue Dec 2 10:50:05 -00 2025 x86_64 AMD Ryzen 9 9950X 16-Core Processor AuthenticAMD GNU/Linux

#2 lore raw
In reply to Greg Kroah-Hartman
Quoted 10 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 5.4.302 release. There are 184 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 Thu, 04 Dec 2025 09:54:14 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
        https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.302-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-5.4.y
and the diffstat can be found below.

thanks,

greg k-h

The powerpc builds failed on the stable-rc 5.4.302-rc1 and 5.4.302-rc2.

* powerpc, build
- clang-21-cell_defconfig
- clang-nightly-cell_defconfig
- gcc-12-cell_defconfig
- gcc-12-defconfig
- gcc-12-ppc64e_defconfig
- gcc-12-ppc6xx_defconfig
- gcc-8-cell_defconfig
- gcc-8-defconfig
- gcc-8-ppc64e_defconfig
- gcc-8-ppc6xx_defconfig

Build regressions: powerpc: mm/mprotect.c:: pgtable.h:971:38: error:
called object 'pmd_val' is not a function or function pointer

The bisection is in progress,
meanwhile this patch looks to be causing the build failure,

mm/mprotect: delete pmd_none_or_clear_bad_unless_trans_huge() commit 670ddd8cdcbd1d07a4571266ae3517f821728c3a upstream.

The sequence patch.
mm/mprotect: use long for page accountings and retval commit a79390f5d6a78647fd70856bd42b22d994de0ba2 upstream.

### Build error
In file included from include/linux/bug.h:5,

                 from include/linux/mmdebug.h:5,
                 from include/linux/mm.h:9,
                 from include/linux/pagewalk.h:5,
                 from mm/mprotect.c:12:

mm/mprotect.c: In function 'change_pte_range':
arch/powerpc/include/asm/book3s/64/pgtable.h:971:38: error: called object 'pmd_val' is not a function or function pointer
971 | #define pmd_page_vaddr(pmd) __va(pmd_val(pmd) & ~PMD_MASKED_BITS)
| ^~~~~~~
arch/powerpc/include/asm/bug.h:91:32: note: in definition of macro 'WARN_ON'
91 | int __ret_warn_on = !!(x); \
| ^
arch/powerpc/include/asm/page.h:229:9: note: in expansion of macro 'VIRTUAL_WARN_ON'

  229 |         VIRTUAL_WARN_ON((unsigned long)(x) >= PAGE_OFFSET);
         \
      |         ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:971:33: note: in
expansion of macro '__va'
  971 | #define pmd_page_vaddr(pmd)     __va(pmd_val(pmd) & ~PMD_MASKED_BITS)
      |                                 ^~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1007:21: note: in
expansion of macro 'pmd_page_vaddr'
 1007 |         (((pte_t *) pmd_page_vaddr(*(dir))) + pte_index(addr))
      |                     ^~~~~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1009:41: note: in
expansion of macro 'pte_offset_kernel'
 1009 | #define pte_offset_map(dir,addr)        pte_offset_kernel((dir), (addr))
      |                                         ^~~~~~~~~~~~~~~~~
include/linux/mm.h:2010:24: note: in expansion of macro 'pte_offset_map'
 2010 |         pte_t *__pte = pte_offset_map(pmd, address);    \
      |                        ^~~~~~~~~~~~~~
mm/mprotect.c:48:15: note: in expansion of macro 'pte_offset_map_lock'
   48 |         pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
      |               ^~~~~~~~~~~~~~~~~~~
mm/mprotect.c:43:15: note: declared here
   43 |         pmd_t pmd_val;
      |               ^~~~~~~
In file included from arch/powerpc/include/asm/mmu.h:132,
                 from arch/powerpc/include/asm/lppaca.h:47,
                 from arch/powerpc/include/asm/paca.h:17,
                 from arch/powerpc/include/asm/current.h:13,
                 from include/linux/thread_info.h:22,
                 from include/asm-generic/preempt.h:5,
                 from ./arch/powerpc/include/generated/asm/preempt.h:1,
                 from include/linux/preempt.h:78,
                 from include/linux/spinlock.h:51,
                 from include/linux/mmzone.h:8,
                 from include/linux/gfp.h:6,
                 from include/linux/mm.h:10:

arch/powerpc/include/asm/book3s/64/pgtable.h:971:38: error: called object 'pmd_val' is not a function or function pointer
971 | #define pmd_page_vaddr(pmd) __va(pmd_val(pmd) & ~PMD_MASKED_BITS)
| ^~~~~~~
arch/powerpc/include/asm/page.h:230:47: note: in definition of macro '__va'
230 | (void *)(unsigned long)((phys_addr_t)(x) |
PAGE_OFFSET); \
| ^
arch/powerpc/include/asm/book3s/64/pgtable.h:1007:21: note: in expansion of macro 'pmd_page_vaddr'
1007 | (((pte_t *) pmd_page_vaddr(*(dir))) + pte_index(addr))

      |                     ^~~~~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1009:41: note: in
expansion of macro 'pte_offset_kernel'
 1009 | #define pte_offset_map(dir,addr)        pte_offset_kernel((dir), (addr))
      |                                         ^~~~~~~~~~~~~~~~~
include/linux/mm.h:2010:24: note: in expansion of macro 'pte_offset_map'
 2010 |         pte_t *__pte = pte_offset_map(pmd, address);    \
      |                        ^~~~~~~~~~~~~~
mm/mprotect.c:48:15: note: in expansion of macro 'pte_offset_map_lock'
   48 |         pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
      |               ^~~~~~~~~~~~~~~~~~~
mm/mprotect.c:43:15: note: declared here
   43 |         pmd_t pmd_val;
      |               ^~~~~~~

make[2]: *** [scripts/Makefile.build:262: mm/mprotect.o] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1769: mm] Error 2
kernel/profile.c: In function 'profile_dead_cpu':
kernel/profile.c:347:27: warning: the comparison will always evaluate as 'true' for the address of 'prof_cpu_mask' will never be NULL [-Waddress]
347 | if (prof_cpu_mask != NULL)
| ^~
kernel/profile.c:50:22: note: 'prof_cpu_mask' declared here

   50 | static cpumask_var_t prof_cpu_mask;
      |                      ^~~~~~~~~~~~~

kernel/profile.c: In function 'profile_online_cpu':
kernel/profile.c:384:27: warning: the comparison will always evaluate as 'true' for the address of 'prof_cpu_mask' will never be NULL [-Waddress]
384 | if (prof_cpu_mask != NULL)
| ^~
kernel/profile.c:50:22: note: 'prof_cpu_mask' declared here

   50 | static cpumask_var_t prof_cpu_mask;
      |                      ^~~~~~~~~~~~~

kernel/profile.c: In function 'profile_tick':
kernel/profile.c:414:47: warning: the comparison will always evaluate as 'true' for the address of 'prof_cpu_mask' will never be NULL [-Waddress]
414 | if (!user_mode(regs) && prof_cpu_mask != NULL &&
| ^~
kernel/profile.c:50:22: note: 'prof_cpu_mask' declared here

   50 | static cpumask_var_t prof_cpu_mask;
      |                      ^~~~~~~~~~~~~
In file included from include/linux/list.h:9,
                 from include/net/tcp.h:19,
                 from net/ipv4/tcp_output.c:40:

net/ipv4/tcp_output.c: In function 'tcp_tso_should_defer':
include/linux/kernel.h:843:43: warning: comparison of distinct pointer types lacks a cast
843 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ^~
include/linux/kernel.h:857:18: note: in expansion of macro '__typecheck'
857 | (__typecheck(x, y) && __no_side_effects(x, y))

      |                  ^~~~~~~~~~~
include/linux/kernel.h:867:31: note: in expansion of macro '__safe_cmp'
  867 |         __builtin_choose_expr(__safe_cmp(x, y), \
      |                               ^~~~~~~~~~
include/linux/kernel.h:876:25: note: in expansion of macro '__careful_cmp'
  876 | #define min(x, y)       __careful_cmp(x, y, <)
      |                         ^~~~~~~~~~~~~

net/ipv4/tcp_output.c:2028:21: note: in expansion of macro 'min'
2028 | threshold = min(srtt_in_ns >> 1, NSEC_PER_MSEC);
| ^~~
fs/xfs/libxfs/xfs_inode_fork.c: In function 'xfs_ifork_verify_attr':
fs/xfs/libxfs/xfs_inode_fork.c:735:13: warning: the comparison will always evaluate as 'true' for the address of 'i_df' will never be NULL [-Waddress]
735 | if (!XFS_IFORK_PTR(ip, XFS_ATTR_FORK))
| ^
In file included from fs/xfs/libxfs/xfs_inode_fork.c:14:
fs/xfs/xfs_inode.h:38:33: note: 'i_df' declared here

   38 |         struct xfs_ifork        i_df;           /* data fork */
      |                                 ^~~~

make[1]: Target '_all' not remade because of errors.
make: *** [Makefile:186: sub-make] Error 2
make: Target '_all' not remade because of errors.

### Build logs
Build details: https://regressions.linaro.org/lkft/linux-stable-rc-linux-5.4.y/v5.4.301-185-ga03757dc1d0b/build/gcc-12-defconfig/
Build log: https://storage.tuxsuite.com/public/linaro/lkft/builds/36Hn1iZBZCBAXg2OuUdfdNEUFxK/
Build config: https://storage.tuxsuite.com/public/linaro/lkft/builds/36Hn1iZBZCBAXg2OuUdfdNEUFxK/config

### Steps to reproduce
- tuxmake --runtime podman --target-arch powerpc --toolchain gcc-12
--kconfig defconfig

--
Linaro LKFT
https://lkft.linaro.org

#3 lore raw
Quoted 112 lines · Naresh Kamboju
Quoted 10 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 5.4.302 release. There are 184 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 Thu, 04 Dec 2025 09:54:14 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
        https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.302-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-5.4.y
and the diffstat can be found below.

thanks,

greg k-h

The powerpc builds failed on the stable-rc 5.4.302-rc1 and 5.4.302-rc2.

* powerpc, build
- clang-21-cell_defconfig
- clang-nightly-cell_defconfig
- gcc-12-cell_defconfig
- gcc-12-defconfig
- gcc-12-ppc64e_defconfig
- gcc-12-ppc6xx_defconfig
- gcc-8-cell_defconfig
- gcc-8-defconfig
- gcc-8-ppc64e_defconfig
- gcc-8-ppc6xx_defconfig

Build regressions: powerpc: mm/mprotect.c:: pgtable.h:971:38: error:
called object 'pmd_val' is not a function or function pointer

The bisection is in progress,
meanwhile this patch looks to be causing the build failure,

mm/mprotect: delete pmd_none_or_clear_bad_unless_trans_huge() commit 670ddd8cdcbd1d07a4571266ae3517f821728c3a upstream.

The sequence patch.
mm/mprotect: use long for page accountings and retval commit a79390f5d6a78647fd70856bd42b22d994de0ba2 upstream.

### Build error
In file included from include/linux/bug.h:5,

                 from include/linux/mmdebug.h:5,
                 from include/linux/mm.h:9,
                 from include/linux/pagewalk.h:5,
                 from mm/mprotect.c:12:

mm/mprotect.c: In function 'change_pte_range':
arch/powerpc/include/asm/book3s/64/pgtable.h:971:38: error: called object 'pmd_val' is not a function or function pointer
971 | #define pmd_page_vaddr(pmd) __va(pmd_val(pmd) & ~PMD_MASKED_BITS)
| ^~~~~~~
arch/powerpc/include/asm/bug.h:91:32: note: in definition of macro 'WARN_ON'
91 | int __ret_warn_on = !!(x); \
| ^
arch/powerpc/include/asm/page.h:229:9: note: in expansion of macro 'VIRTUAL_WARN_ON'

  229 |         VIRTUAL_WARN_ON((unsigned long)(x) >= PAGE_OFFSET);
         \
      |         ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:971:33: note: in
expansion of macro '__va'
  971 | #define pmd_page_vaddr(pmd)     __va(pmd_val(pmd) & ~PMD_MASKED_BITS)
      |                                 ^~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1007:21: note: in
expansion of macro 'pmd_page_vaddr'
 1007 |         (((pte_t *) pmd_page_vaddr(*(dir))) + pte_index(addr))
      |                     ^~~~~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1009:41: note: in
expansion of macro 'pte_offset_kernel'
 1009 | #define pte_offset_map(dir,addr)        pte_offset_kernel((dir), (addr))
      |                                         ^~~~~~~~~~~~~~~~~
include/linux/mm.h:2010:24: note: in expansion of macro 'pte_offset_map'
 2010 |         pte_t *__pte = pte_offset_map(pmd, address);    \
      |                        ^~~~~~~~~~~~~~
mm/mprotect.c:48:15: note: in expansion of macro 'pte_offset_map_lock'
   48 |         pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
      |               ^~~~~~~~~~~~~~~~~~~
mm/mprotect.c:43:15: note: declared here
   43 |         pmd_t pmd_val;
      |               ^~~~~~~
In file included from arch/powerpc/include/asm/mmu.h:132,
                 from arch/powerpc/include/asm/lppaca.h:47,
                 from arch/powerpc/include/asm/paca.h:17,
                 from arch/powerpc/include/asm/current.h:13,
                 from include/linux/thread_info.h:22,
                 from include/asm-generic/preempt.h:5,
                 from ./arch/powerpc/include/generated/asm/preempt.h:1,
                 from include/linux/preempt.h:78,
                 from include/linux/spinlock.h:51,
                 from include/linux/mmzone.h:8,
                 from include/linux/gfp.h:6,
                 from include/linux/mm.h:10:

arch/powerpc/include/asm/book3s/64/pgtable.h:971:38: error: called object 'pmd_val' is not a function or function pointer
971 | #define pmd_page_vaddr(pmd) __va(pmd_val(pmd) & ~PMD_MASKED_BITS)
| ^~~~~~~
arch/powerpc/include/asm/page.h:230:47: note: in definition of macro '__va'
230 | (void *)(unsigned long)((phys_addr_t)(x) |
PAGE_OFFSET); \
| ^
arch/powerpc/include/asm/book3s/64/pgtable.h:1007:21: note: in expansion of macro 'pmd_page_vaddr'
1007 | (((pte_t *) pmd_page_vaddr(*(dir))) + pte_index(addr))

Quoted 14 lines
      |                     ^~~~~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1009:41: note: in
expansion of macro 'pte_offset_kernel'
 1009 | #define pte_offset_map(dir,addr)        pte_offset_kernel((dir), (addr))
      |                                         ^~~~~~~~~~~~~~~~~
include/linux/mm.h:2010:24: note: in expansion of macro 'pte_offset_map'
 2010 |         pte_t *__pte = pte_offset_map(pmd, address);    \
      |                        ^~~~~~~~~~~~~~
mm/mprotect.c:48:15: note: in expansion of macro 'pte_offset_map_lock'
   48 |         pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
      |               ^~~~~~~~~~~~~~~~~~~
mm/mprotect.c:43:15: note: declared here
   43 |         pmd_t pmd_val;
      |               ^~~~~~~

Hi Naresh, thanks for reporting!

Whoa, I really didn't expect this.

I named the variable pmd_val, and during the expansion of pte_offset_map_lock(), we call pmd_val(), and the compiler is confused because it's calling a variable rather than a function or macro.

And it didn't show up on my testing environment because on x86_64 implementation of pte_offset_map_lock() implementation we don't call pmd_val(). The fix would be simply renaming the variable.

To Greg and Sasha; I guess these patches will be dropped for this cycle and I'm supposed to send V2, right? These two patches are queued for 6.1, 5.15, 5.10 as well.

I tried my best to make sure these backports are properly tested, and apologies for the inconvenience that I caused.

Signature · 2 lines
Cheers,
Harry / Hyeonggon
Quoted 76 lines

make[2]: *** [scripts/Makefile.build:262: mm/mprotect.o] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1769: mm] Error 2
kernel/profile.c: In function 'profile_dead_cpu':
kernel/profile.c:347:27: warning: the comparison will always evaluate as 'true' for the address of 'prof_cpu_mask' will never be NULL [-Waddress]
347 | if (prof_cpu_mask != NULL)
| ^~
kernel/profile.c:50:22: note: 'prof_cpu_mask' declared here

   50 | static cpumask_var_t prof_cpu_mask;
      |                      ^~~~~~~~~~~~~

kernel/profile.c: In function 'profile_online_cpu':
kernel/profile.c:384:27: warning: the comparison will always evaluate as 'true' for the address of 'prof_cpu_mask' will never be NULL [-Waddress]
384 | if (prof_cpu_mask != NULL)
| ^~
kernel/profile.c:50:22: note: 'prof_cpu_mask' declared here

   50 | static cpumask_var_t prof_cpu_mask;
      |                      ^~~~~~~~~~~~~

kernel/profile.c: In function 'profile_tick':
kernel/profile.c:414:47: warning: the comparison will always evaluate as 'true' for the address of 'prof_cpu_mask' will never be NULL [-Waddress]
414 | if (!user_mode(regs) && prof_cpu_mask != NULL &&
| ^~
kernel/profile.c:50:22: note: 'prof_cpu_mask' declared here

   50 | static cpumask_var_t prof_cpu_mask;
      |                      ^~~~~~~~~~~~~
In file included from include/linux/list.h:9,
                 from include/net/tcp.h:19,
                 from net/ipv4/tcp_output.c:40:

net/ipv4/tcp_output.c: In function 'tcp_tso_should_defer':
include/linux/kernel.h:843:43: warning: comparison of distinct pointer types lacks a cast
843 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
| ^~
include/linux/kernel.h:857:18: note: in expansion of macro '__typecheck'
857 | (__typecheck(x, y) && __no_side_effects(x, y))

      |                  ^~~~~~~~~~~
include/linux/kernel.h:867:31: note: in expansion of macro '__safe_cmp'
  867 |         __builtin_choose_expr(__safe_cmp(x, y), \
      |                               ^~~~~~~~~~
include/linux/kernel.h:876:25: note: in expansion of macro '__careful_cmp'
  876 | #define min(x, y)       __careful_cmp(x, y, <)
      |                         ^~~~~~~~~~~~~

net/ipv4/tcp_output.c:2028:21: note: in expansion of macro 'min'
2028 | threshold = min(srtt_in_ns >> 1, NSEC_PER_MSEC);
| ^~~
fs/xfs/libxfs/xfs_inode_fork.c: In function 'xfs_ifork_verify_attr':
fs/xfs/libxfs/xfs_inode_fork.c:735:13: warning: the comparison will always evaluate as 'true' for the address of 'i_df' will never be NULL [-Waddress]
735 | if (!XFS_IFORK_PTR(ip, XFS_ATTR_FORK))
| ^
In file included from fs/xfs/libxfs/xfs_inode_fork.c:14:
fs/xfs/xfs_inode.h:38:33: note: 'i_df' declared here

   38 |         struct xfs_ifork        i_df;           /* data fork */
      |                                 ^~~~

make[1]: Target '_all' not remade because of errors.
make: *** [Makefile:186: sub-make] Error 2
make: Target '_all' not remade because of errors.

### Build logs
Build details: https://regressions.linaro.org/lkft/linux-stable-rc-linux-5.4.y/v5.4.301-185-ga03757dc1d0b/build/gcc-12-defconfig/
Build log: https://storage.tuxsuite.com/public/linaro/lkft/builds/36Hn1iZBZCBAXg2OuUdfdNEUFxK/
Build config: https://storage.tuxsuite.com/public/linaro/lkft/builds/36Hn1iZBZCBAXg2OuUdfdNEUFxK/config

### Steps to reproduce
- tuxmake --runtime podman --target-arch powerpc --toolchain gcc-12
--kconfig defconfig

--
Linaro LKFT
https://lkft.linaro.org

author maintainer
#4 lore raw
Quoted 136 lines · Harry Yoo
Quoted 112 lines · Naresh Kamboju
Quoted 10 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 5.4.302 release. There are 184 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 Thu, 04 Dec 2025 09:54:14 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
        https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.302-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-5.4.y
and the diffstat can be found below.

thanks,

greg k-h

The powerpc builds failed on the stable-rc 5.4.302-rc1 and 5.4.302-rc2.

* powerpc, build
- clang-21-cell_defconfig
- clang-nightly-cell_defconfig
- gcc-12-cell_defconfig
- gcc-12-defconfig
- gcc-12-ppc64e_defconfig
- gcc-12-ppc6xx_defconfig
- gcc-8-cell_defconfig
- gcc-8-defconfig
- gcc-8-ppc64e_defconfig
- gcc-8-ppc6xx_defconfig

Build regressions: powerpc: mm/mprotect.c:: pgtable.h:971:38: error:
called object 'pmd_val' is not a function or function pointer

The bisection is in progress,
meanwhile this patch looks to be causing the build failure,

mm/mprotect: delete pmd_none_or_clear_bad_unless_trans_huge() commit 670ddd8cdcbd1d07a4571266ae3517f821728c3a upstream.

The sequence patch.
mm/mprotect: use long for page accountings and retval commit a79390f5d6a78647fd70856bd42b22d994de0ba2 upstream.

### Build error
In file included from include/linux/bug.h:5,

                 from include/linux/mmdebug.h:5,
                 from include/linux/mm.h:9,
                 from include/linux/pagewalk.h:5,
                 from mm/mprotect.c:12:

mm/mprotect.c: In function 'change_pte_range':
arch/powerpc/include/asm/book3s/64/pgtable.h:971:38: error: called object 'pmd_val' is not a function or function pointer
971 | #define pmd_page_vaddr(pmd) __va(pmd_val(pmd) & ~PMD_MASKED_BITS)
| ^~~~~~~
arch/powerpc/include/asm/bug.h:91:32: note: in definition of macro 'WARN_ON'
91 | int __ret_warn_on = !!(x); \
| ^
arch/powerpc/include/asm/page.h:229:9: note: in expansion of macro 'VIRTUAL_WARN_ON'

  229 |         VIRTUAL_WARN_ON((unsigned long)(x) >= PAGE_OFFSET);
         \
      |         ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:971:33: note: in
expansion of macro '__va'
  971 | #define pmd_page_vaddr(pmd)     __va(pmd_val(pmd) & ~PMD_MASKED_BITS)
      |                                 ^~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1007:21: note: in
expansion of macro 'pmd_page_vaddr'
 1007 |         (((pte_t *) pmd_page_vaddr(*(dir))) + pte_index(addr))
      |                     ^~~~~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1009:41: note: in
expansion of macro 'pte_offset_kernel'
 1009 | #define pte_offset_map(dir,addr)        pte_offset_kernel((dir), (addr))
      |                                         ^~~~~~~~~~~~~~~~~
include/linux/mm.h:2010:24: note: in expansion of macro 'pte_offset_map'
 2010 |         pte_t *__pte = pte_offset_map(pmd, address);    \
      |                        ^~~~~~~~~~~~~~
mm/mprotect.c:48:15: note: in expansion of macro 'pte_offset_map_lock'
   48 |         pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
      |               ^~~~~~~~~~~~~~~~~~~
mm/mprotect.c:43:15: note: declared here
   43 |         pmd_t pmd_val;
      |               ^~~~~~~
In file included from arch/powerpc/include/asm/mmu.h:132,
                 from arch/powerpc/include/asm/lppaca.h:47,
                 from arch/powerpc/include/asm/paca.h:17,
                 from arch/powerpc/include/asm/current.h:13,
                 from include/linux/thread_info.h:22,
                 from include/asm-generic/preempt.h:5,
                 from ./arch/powerpc/include/generated/asm/preempt.h:1,
                 from include/linux/preempt.h:78,
                 from include/linux/spinlock.h:51,
                 from include/linux/mmzone.h:8,
                 from include/linux/gfp.h:6,
                 from include/linux/mm.h:10:

arch/powerpc/include/asm/book3s/64/pgtable.h:971:38: error: called object 'pmd_val' is not a function or function pointer
971 | #define pmd_page_vaddr(pmd) __va(pmd_val(pmd) & ~PMD_MASKED_BITS)
| ^~~~~~~
arch/powerpc/include/asm/page.h:230:47: note: in definition of macro '__va'
230 | (void *)(unsigned long)((phys_addr_t)(x) |
PAGE_OFFSET); \
| ^
arch/powerpc/include/asm/book3s/64/pgtable.h:1007:21: note: in expansion of macro 'pmd_page_vaddr'
1007 | (((pte_t *) pmd_page_vaddr(*(dir))) + pte_index(addr))

Quoted 14 lines
      |                     ^~~~~~~~~~~~~~
arch/powerpc/include/asm/book3s/64/pgtable.h:1009:41: note: in
expansion of macro 'pte_offset_kernel'
 1009 | #define pte_offset_map(dir,addr)        pte_offset_kernel((dir), (addr))
      |                                         ^~~~~~~~~~~~~~~~~
include/linux/mm.h:2010:24: note: in expansion of macro 'pte_offset_map'
 2010 |         pte_t *__pte = pte_offset_map(pmd, address);    \
      |                        ^~~~~~~~~~~~~~
mm/mprotect.c:48:15: note: in expansion of macro 'pte_offset_map_lock'
   48 |         pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
      |               ^~~~~~~~~~~~~~~~~~~
mm/mprotect.c:43:15: note: declared here
   43 |         pmd_t pmd_val;
      |               ^~~~~~~

Hi Naresh, thanks for reporting!

Whoa, I really didn't expect this.

I named the variable pmd_val, and during the expansion of pte_offset_map_lock(), we call pmd_val(), and the compiler is confused because it's calling a variable rather than a function or macro.

Quoted 7 lines

And it didn't show up on my testing environment because on x86_64 implementation of pte_offset_map_lock() implementation we don't call pmd_val(). The fix would be simply renaming the variable.

To Greg and Sasha; I guess these patches will be dropped for this cycle and I'm supposed to send V2, right? These two patches are queued for 6.1, 5.15, 5.10 as well.

Ok, I'll go drop these from all of these branches now and wait for a v2.

I'll also push out a -rc3.

thanks,

greg k-h

maintainer Tested-by on the v1 series
#5 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 5.4.302 release. There are 184 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 Thu, 04 Dec 2025 09:54:14 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.302-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-5.4.y
and the diffstat can be found below.

thanks,

greg k-h

All tests passing for Tegra ...

Test results for stable-v5.4:

    10 builds:	10 pass, 0 fail
    24 boots:	24 pass, 0 fail
    54 tests:	54 pass, 0 fail

Linux version: 5.4.302-rc2-ga03757dc1d0b
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,

                tegra194-p2972-0000, tegra20-ventana,
                tegra210-p2371-2180, tegra210-p3450-0000,
                tegra30-cardhu-a04

Jon

Tested-by on the v1 series
#6 lore raw
In reply to Greg Kroah-Hartman

Hi Greg,

Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 5.4.302 release. There are 184 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 Thu, 04 Dec 2025 09:54:14 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
	https://urldefense.com/v3/__https://www.kernel.org/pub/linux/kernel/ 

v5.x/stable-review/patch-5.4.302-rc2.gz__;!!ACWV5N9M2RV99hQ!OduqY- dHjZBxzhZobwAdA_8NvL0uvyx1_baqoHzYjjgBEbgnEKSD6Wpd2hiVJxwqB5QOmNWfH7w2vHLyl7ZPqZmfkQ$ or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
and the diffstat can be found below.

thanks,

greg k-h

No problems seen on x86_64 and aarch64 with our testing.

Thanks,
Alok