* Linux 6.4
@ 2023-06-25 23:40 Linus Torvalds
2023-06-26 5:39 ` Guenter Roeck
2023-06-26 8:19 ` Build regressions/improvements in v6.4 Geert Uytterhoeven
0 siblings, 2 replies; 11+ messages in thread
From: Linus Torvalds @ 2023-06-25 23:40 UTC (permalink / raw)
To: Linux Kernel Mailing List
Hmm. Final week of 6.4 is done, and we've mainly got some netfilter
fixes, some mm reverts, and a few tracing updates.
There's random small changes elsewhere: the usual architecture noise,
a number of selftest updates, some filesystem fixes (btrfs, ksmb),
etc.
Most of the stuff in my mailbox the last week has been about upcoming
things for 6.5, and I already have 15 pull requests pending. I
appreciate all you proactive people.
But that's for tomorrow. Today we're all busy build-testing the newest
kernel release, and checking that it's all good. Right?
Linus
---
Andrew Lunn (1):
net: phy: Manual remove LEDs to ensure correct ordering
Andrew Powers-Holmes (1):
arm64: dts: rockchip: Fix rk356x PCIe register and range mappings
Arınç ÜNAL (5):
net: dsa: mt7530: set all CPU ports in MT7531_CPU_PMAP
net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch
net: dsa: mt7530: fix handling of BPDUs on MT7530 switch
net: dsa: mt7530: fix handling of LLDP frames
MAINTAINERS: add me as maintainer of MEDIATEK SWITCH DRIVER
Azeem Shaikh (1):
ieee802154: Replace strlcpy with strscpy
Beau Belgrave (7):
tracing/user_events: Remove user_ns walk for groups
tracing/user_events: Store register flags on events
tracing/user_events: Track refcount consistently via put/get
tracing/user_events: Add auto cleanup and future persist flag
selftests/user_events: Ensure auto cleanup works as expected
selftests/user_events: Adapt dyn_test to non-persist events
tracing/user_events: Document auto-cleanup and remove dyn_event refs
Ben Dooks (1):
mailmap: add entries for Ben Dooks
Benedict Wong (2):
xfrm: Treat already-verified secpath entries as optional
xfrm: Ensure policies always checked on XFRM-I input path
Benjamin Berg (1):
wifi: mac80211: report all unusable beacon frames
Charles Keepax (1):
ASoC: intel: sof_sdw: Fixup typo in device link checking
Chen Aotian (1):
ieee802154: hwsim: Fix possible memory leaks
Chris Mi (2):
net/mlx5e: TC, Add null pointer check for hardware miss support
net/mlx5e: TC, Cleanup ct resources for nic flow
Christophe Kerello (1):
mmc: mmci: stm32: fix max busy timeout calculation
Clark Wang (1):
i2c: imx-lpi2c: fix type char overflow issue when calculating
the clock cycle
Danielle Ratson (1):
selftests: forwarding: Fix race condition in mirror installation
David Stevens (1):
mm/khugepaged: fix iteration in collapse_file
Dexuan Cui (6):
Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails
PCI: hv: Fix a race condition bug in hv_pci_query_relations()
PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic
PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev
Revert "PCI: hv: Fix a timing issue which causes kdump to fail
occasionally"
PCI: hv: Add a per-bus mutex state_lock
Dheeraj Kumar Srivastava (1):
x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys
Douglas Anderson (4):
dt-bindings: firmware: qcom,scm: Document that SCM can be dma-coherent
arm64: dts: qcom: sc7180: Mark SCM as dma-coherent for IDP
arm64: dts: qcom: sc7180: Mark SCM as dma-coherent for trogdor
arm64: dts: qcom: sc7280: Mark SCM as dma-coherent for chrome devices
Eli Cohen (1):
net/mlx5: Fix driver load with single msix vector
Eric Dumazet (1):
sch_netem: acquire qdisc lock in netem_change()
Florent Revest (1):
bpf/btf: Accept function names that contain dots
Florian Fainelli (1):
scripts/gdb: fix SB_* constants parsing
Francesco Dolcini (1):
Revert "net: phy: dp83867: perform soft reset and retain established link"
Gavin Shan (1):
KVM: Avoid illegal stage2 mapping on invalid memory slot
Hans de Goede (1):
thermal/intel/intel_soc_dts_iosf: Fix reporting wrong temperatures
Herbert Xu (1):
xfrm: Use xfrm_state selector for BEET input
Jeff Layton (1):
drm: use mgr->dev in drm_dbg_kms in drm_dp_add_payload_part2
Jens Axboe (4):
io_uring/poll: serialize poll linked timer start with poll removal
io_uring/net: clear msg_controllen on partial sendmsg retry
io_uring/net: disable partial retries for recvmsg with cmsg
io_uring/net: use the correct msghdr union member in io_sendmsg_copy_hdr
Jiasheng Jiang (1):
gpio: sifive: add missing check for platform_get_irq
Jiawen Wu (2):
gpiolib: Fix GPIO chip IRQ initialization restriction
net: mdio: fix the wrong parameters
Jiri Olsa (1):
bpf: Force kprobe multi expected_attach_type for kprobe_multi link
Jisheng Zhang (1):
mmc: litex_mmc: set PROBE_PREFER_ASYNCHRONOUS
Josua Mayer (1):
net: dpaa2-mac: add 25gbase-r support
Juerg Haefliger (2):
ieee802154/adf7242: Add MODULE_FIRMWARE macro
nfc: fdp: Add MODULE_FIRMWARE macros
Kan Liang (1):
perf/x86/intel: Fix the FRONTEND encoding on GNR and MTL
Kees Cook (1):
net: wwan: iosm: Convert single instance struct member to flexible array
Krister Johansen (2):
bpf: ensure main program has an extable
selftests/bpf: add a test for subprogram extables
Krzysztof Kozlowski (1):
arm64: dts: rockchip: add missing cache properties
Lee Jones (1):
x86/mm: Avoid using set_pgd() outside of real PGD pages
Leon Romanovsky (4):
xfrm: add missed call to delete offloaded policies
net/mlx5e: Don't delay release of hardware objects
net/mlx5e: Drop XFRM state lock when modifying flow steering
net/mlx5e: Fix scheduling of IPsec ASO query while in atomic
Liam R. Howlett (1):
mm/mprotect: fix do_mprotect_pkey() limit check
Linus Torvalds (3):
Revert "efi: random: refresh non-volatile random seed when RNG
is initialized"
workqueue: clean up WORK_* constant types, clarify masking
Linux 6.4
Lorenz Brun (1):
arm64: dts: rockchip: fix USB regulator on ROCK64
Lorenzo Stoakes (1):
mm/vmalloc: do not output a spurious warning when huge vmalloc() fails
Luke D. Jones (2):
ALSA: hda/realtek: Add quirk for ASUS ROG G634Z
ALSA: hda/realtek: Add quirk for ASUS ROG GV601V
Maciej Żenczykowski (2):
xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets
revert "net: align SO_RCVMARK required privileges with SO_MARK"
Magali Lemes (4):
selftests/harness: allow tests to be skipped during setup
selftests: net: tls: check if FIPS mode is enabled
selftests: net: vrf-xfrm-tests: change authentication and encryption algos
selftests: net: fcnal-test: check if FIPS mode is enabled
Marc Zyngier (2):
KVM: arm64: Restore GICv2-on-GICv3 functionality
perf/core: Drop __weak attribute from
arch_perf_update_userpage() prototype
Mark Brown (1):
selftests/mm: fix cross compilation with LLVM
Martin Hundebøll (1):
mmc: meson-gx: remove redundant mmc_request_done() call from irq context
Maxim Mikityanskiy (4):
bpf: Fix verifier id tracking of scalars on spill
selftests/bpf: Add test cases to assert proper ID tracking on spill
net/mlx5e: XDP, Allow growing tail for XDP multi buffer
net/mlx5e: xsk: Set napi_id to support busy polling on XSK RQ
Michael Kelley (3):
Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs
x86/hyperv: Fix hyperv_pcpu_input_arg handling when CPUs go online/offline
arm64/hyperv: Use CPUHP_AP_HYPERV_ONLINE state to fix CPU online
sequencing
Michael S. Tsirkin (1):
Revert "virtio-blk: support completion batching for the IRQ path"
Michael Walle (1):
gpiolib: Fix irq_domain resource tracking for
gpiochip_irqchip_add_domain()
Mike Kravetz (1):
udmabuf: revert 'Add support for mapping hugepages (v4)'
Ming Lei (1):
block: make sure local irq is disabled when calling __blkcg_rstat_flush
Miquel Raynal (2):
MAINTAINERS: Update wpan tree
MAINTAINERS: Add wpan patchwork
Mukesh Sisodiya (1):
wifi: iwlwifi: pcie: Handle SO-F device for PCI id 0x7AF0
Namjae Jeon (4):
ksmbd: validate command payload size
ksmbd: add mnt_want_write to ksmbd vfs functions
ksmbd: fix out-of-bound read in smb2_write
ksmbd: validate session id and tree id in the compound request
Neil Armstrong (1):
spi: spi-geni-qcom: correctly handle -EPROBE_DEFER from dma_request_chan()
Nicholas Piggin (1):
powerpc/64s/radix: Fix exit lazy tlb mm switch with irqs enabled
Nicolas Frattaroli (1):
arm64: dts: rockchip: fix nEXTRST on SOQuartz
Oliver Upton (1):
KVM: arm64: Use raw_smp_processor_id() in kvm_pmu_probe_armpmu()
Omar Sandoval (1):
x86/unwind/orc: Add ELF section with ORC version identifier
Pablo Neira Ayuso (12):
netfilter: nf_tables: fix chain binding transaction logic
netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with
bound set/chain
netfilter: nf_tables: drop map element references from preparation phase
netfilter: nft_set_pipapo: .walk does not deal with generations
netfilter: nf_tables: fix underflow in object reference counter
netfilter: nf_tables: disallow element updates of bound anonymous sets
netfilter: nf_tables: reject unbound anonymous set before commit phase
netfilter: nf_tables: reject unbound chain set before commit phase
netfilter: nf_tables: disallow updates of anonymous sets
netfilter: nf_tables: disallow timeout for anonymous sets
netfilter: nf_tables: drop module reference after updating chain
netfilter: nfnetlink_osf: fix module autoload
Paolo Abeni (6):
mptcp: handle correctly disconnect() failures
mptcp: fix possible divide by zero in recvmsg()
mptcp: fix possible list corruption on passive MPJ
mptcp: consolidate fallback and non fallback state machine
mptcp: drop legacy code around RX EOF
mptcp: ensure listener is unhashed before updating the sk status
Patrisious Haddad (1):
net/mlx5e: Fix ESN update kernel panic
Phil Sutter (1):
netfilter: nf_tables: Fix for deleting base chains with payload
Pranjal Ramajor Asha Kanojiya (1):
accel/qaic: Call DRM helper function to destroy prime GEM
Prathu Baronia (1):
scripts: fix the gfp flags header path in gfp-translate
Qi Zheng (7):
Revert "mm: shrinkers: convert shrinker_rwsem to mutex"
Revert "mm: vmscan: remove shrinker_rwsem from synchronize_shrinkers()"
Revert "mm: vmscan: hold write lock to reparent shrinker nr_deferred"
Revert "mm: shrinkers: make count and scan in shrinker debugfs lockless"
Revert "mm: vmscan: add shrinker_srcu_generation"
Revert "mm: vmscan: make memcg slab shrink lockless"
Revert "mm: vmscan: make global slab shrink lockless"
Qu Wenruo (2):
btrfs: fix u32 overflows when left shifting stripe_nr
btrfs: fix remaining u32 overflows when left shifting stripe_nr
Rafael Aquini (1):
writeback: fix dereferencing NULL mapping->host on writeback_page_template
Rafael J. Wysocki (1):
ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep()
Reiji Watanabe (2):
KVM: arm64: PMU: Restore the host's PMUSERENR_EL0
KVM: arm64: PMU: Don't overwrite PMUSERENR with vcpu loaded
Rob Herring (1):
dt-bindings: i2c: opencores: Add missing type for "regstep"
Roberto Sassu (1):
memfd: check for non-NULL file_seals in memfd_create() syscall
Ross Lagerwall (1):
be2net: Extend xmit workaround to BE3 chip
Russ Weight (1):
regmap: spi-avmm: Fix regmap_bus max_raw_write
Ryusuke Konishi (2):
nilfs2: fix buffer corruption due to concurrent device reads
nilfs2: prevent general protection fault in nilfs_clear_dirty_page()
Saeed Mahameed (1):
net/mlx5: Free IRQ rmap and notifier on kernel shutdown
Saurabh Sengar (1):
x86/hyperv/vtl: Add noop for realmode pointers
Sebastian Andrzej Siewior (1):
xfrm: Linearize the skb after offloading if needed.
Sergey Shtylyov (12):
mmc: bcm2835: fix deferred probing
mmc: meson-gx: fix deferred probing
mmc: mtk-sd: fix deferred probing
mmc: mvsdio: fix deferred probing
mmc: omap: fix deferred probing
mmc: omap_hsmmc: fix deferred probing
mmc: owl: fix deferred probing
mmc: sdhci-acpi: fix deferred probing
mmc: sdhci-spear: fix deferred probing
mmc: sh_mmcif: fix deferred probing
mmc: sunxi: fix deferred probing
mmc: usdhi60rol0: fix deferred probing
Shuai Jiang (1):
i2c: qup: Add missing unwind goto in qup_i2c_probe()
Shyam Sundar S K (1):
platform/x86/amd/pmf: Register notify handler only if SPS is enabled
Stefan Wahren (1):
net: qca_spi: Avoid high load if QCA7000 is not available
Stephan Gerhold (1):
mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916
Steven Rostedt (Google) (1):
tracing/rv/rtla: Update MAINTAINERS file to point to proper mailing list
Su Hui (1):
iommu/amd: Fix possible memory leak of 'domain'
Teresa Remmet (1):
regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK
Terin Stock (1):
ipvs: align inner_mac_header for encapsulation
Tetsuo Handa (1):
cgroup,freezer: hold cpu_hotplug_lock before freezer_mutex in
freezer_css_{online,offline}()
Thomas Gleixner (1):
tick/common: Align tick period during sched_timer setup
Tianling Shen (1):
arm64: dts: rockchip: fix button reset pin for nanopi r5c
Vishal Moola (Oracle) (2):
afs: Fix dangling folio ref counts in writeback
afs: Fix waiting for writeback then skipping folio
Vladimir Oltean (1):
net: dsa: introduce preferred_default_local_cpu_port and use on MT7530
Xiu Jianfeng (1):
cgroup: Do not corrupt task iteration when rebinding subsystem
Yevgeny Kliteynik (2):
net/mlx5: DR, Support SW created encap actions for FW table
net/mlx5: DR, Fix wrong action data allocation in decap action
Yonghong Song (1):
bpf: Fix a bpf_jit_dump issue for x86_64 with sysctl bpf_jit_enable.
Zhu YiXin (1):
MAINTAINERS: Add Chuanhua Lei as Intel LGM GW PCIe maintainer
sunliming (7):
tracing/user_events: Prevent same name but different args event
tracing/user_events: Handle matching arguments that is null from
dyn_events
tracing: Modify print_fields() for fields output order
tracing/user_events: Fix the incorrect trace record for empty
arguments events
selftests/user_events: Add ftrace self-test for empty arguments events
selftests/user_events: Clear the events after perf self-test
selftests/user_events: Add perf self-test for empty arguments events
Íñigo Huguet (1):
sfc: use budget for TX completions
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Linux 6.4
2023-06-25 23:40 Linux 6.4 Linus Torvalds
@ 2023-06-26 5:39 ` Guenter Roeck
2023-06-26 8:19 ` Build regressions/improvements in v6.4 Geert Uytterhoeven
1 sibling, 0 replies; 11+ messages in thread
From: Guenter Roeck @ 2023-06-26 5:39 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux Kernel Mailing List
On Sun, Jun 25, 2023 at 04:40:48PM -0700, Linus Torvalds wrote:
> Hmm. Final week of 6.4 is done, and we've mainly got some netfilter
> fixes, some mm reverts, and a few tracing updates.
>
> There's random small changes elsewhere: the usual architecture noise,
> a number of selftest updates, some filesystem fixes (btrfs, ksmb),
> etc.
>
> Most of the stuff in my mailbox the last week has been about upcoming
> things for 6.5, and I already have 15 pull requests pending. I
> appreciate all you proactive people.
>
> But that's for tomorrow. Today we're all busy build-testing the newest
> kernel release, and checking that it's all good. Right?
>
Build results:
total: 152 pass: 152 fail: 0
Qemu test results:
total: 520 pass: 520 fail: 0
Guenter
^ permalink raw reply [flat|nested] 11+ messages in thread
* Build regressions/improvements in v6.4
2023-06-25 23:40 Linux 6.4 Linus Torvalds
2023-06-26 5:39 ` Guenter Roeck
@ 2023-06-26 8:19 ` Geert Uytterhoeven
2023-06-26 8:24 ` Geert Uytterhoeven
1 sibling, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2023-06-26 8:19 UTC (permalink / raw)
To: linux-kernel
Below is the list of build error/warning regressions/improvements in
v6.4[1] compared to v6.3[2].
Summarized:
- build errors: +2/-11
- build warnings: +31/-19
JFYI, when comparing v6.4[1] to v6.4-rc7[3], the summaries are:
- build errors: +1/-0
- build warnings: +1/-0
Note that there may be false regressions, as some logs are incomplete.
Still, they're build errors/warnings.
Happy fixing! ;-)
Thanks to the linux-next team for providing the build service.
[1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/6995e2de6891c724bfeb2db33d7b87775f913ad1/ (all 160 configs)
[2] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/457391b0380335d5e9a5babdec90ac53928b23b4/ (152 out of 160 configs)
[3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/45a3e24f65e90a047bef86f927ebdc4c710edaa1/ (all 160 configs)
*** ERRORS ***
2 error regressions:
+ /kisskb/src/drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]: => 6163:45
+ {standard input}: Error: branch to a symbol in another ISA mode: 4985, 4980 => 5012, 5023, 5017, 5028
11 error improvements:
- /kisskb/src/drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_topology.c: error: 'struct cpuinfo_um' has no member named 'apicid': 2157:48, 2157:41 =>
- /kisskb/src/drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_topology.c: error: control reaches end of non-void function [-Werror=return-type]: 2161:1 =>
- /kisskb/src/drivers/gpu/drm/msm/msm_mdss.c: error: case label does not reduce to an integer constant: 299:2, 296:2, 300:2 =>
- /kisskb/src/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c: error: array subscript 2 is above array bounds of 'u32[2]' {aka 'unsigned int[2]'} [-Werror=array-bounds]: 641:28 =>
- /kisskb/src/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c: error: array subscript 3 is above array bounds of 'u32[2]' {aka 'unsigned int[2]'} [-Werror=array-bounds]: 641:28 =>
- /kisskb/src/drivers/spi/spi-stm32-qspi.c: error: 'op' is used uninitialized [-Werror=uninitialized]: 523:27, 564:27 =>
- /kisskb/src/fs/btrfs/send.c: error: 'right_gen' may be used uninitialized in this function [-Werror=maybe-uninitialized]: 1902:23, 1909:13 =>
- /opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/5.4.0/plugin/include/gimple.h: error: 'gimple_call_addr_fndecl' was not declared in this scope: 2790:10 =>
- /opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/5.4.0/plugin/include/gimple.h: error: 'is_gimple_reg' was not declared in this scope: 2556:18 =>
- /opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/5.4.0/plugin/include/gimple.h: error: field 'call_clobbered' has incomplete type 'pt_solution': 284:22 =>
- /opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/5.4.0/plugin/include/gimple.h: error: field 'call_used' has incomplete type 'pt_solution': 283:22 =>
*** WARNINGS ***
31 warning regressions:
+ /kisskb/src/fs/ext4/readpage.c: warning: the frame size of 1128 bytes is larger than 1024 bytes [-Wframe-larger-than=]: => 400:1
+ modpost: WARNING: modpost: "__ashldi3" [drivers/input/joystick/sidewinder.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ashldi3" [drivers/net/ethernet/mellanox/mlxsw/mlxsw_core.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ashldi3" [drivers/net/ethernet/xilinx/xilinx_emac.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ashldi3" [drivers/net/virtio_net.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ashldi3" [drivers/net/wireless/ath/ath10k/ath10k_core.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ashldi3" [drivers/thunderbolt/thunderbolt.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ashldi3" [fs/hfsplus/hfsplus.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ashldi3" [net/mac80211/mac80211.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ashrdi3" [drivers/usb/gadget/function/usb_f_mass_storage.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ashrdi3" [fs/xfs/xfs.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [drivers/md/dm-writecache.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [drivers/md/dm-zoned.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [drivers/net/ethernet/mellanox/mlxsw/mlxsw_core.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [drivers/scsi/hpsa.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [drivers/scsi/mpt3sas/mpt3sas.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [drivers/thunderbolt/thunderbolt.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [fs/ext2/ext2.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [fs/ext4/ext4.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [fs/gfs2/gfs2.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [fs/ntfs3/ntfs3.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [net/mac80211/mac80211.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__lshrdi3" [net/sched/act_police.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__ndelay" [drivers/i2c/busses/i2c-mv64xxx.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__udelay" [drivers/hwmon/sfctemp.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__udelay" [drivers/media/platform/nxp/imx8-isi/imx8-isi.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__udelay" [drivers/mmc/host/sdhci-cadence.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__udelay" [drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__udelay" [drivers/ptp/ptp_dfl_tod.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__udelay" [drivers/spi/spi-davinci.ko] has no CRC!: => N/A
+ modpost: WARNING: modpost: "__udelay" [drivers/thermal/mediatek/auxadc_thermal.ko] has no CRC!: => N/A
19 warning improvements:
- .config: warning: override: reassigning to symbol GCC_PLUGIN_SANCOV: 12711, 12930 =>
- .config: warning: override: reassigning to symbol UML_NET_ETHERTAP: 12716, 12949, 12730, 12935 => 12827, 13048
- .config: warning: override: reassigning to symbol UML_NET_SLIP: 12732, 12951, 12718, 12937 => 13050, 12829
- .config: warning: override: reassigning to symbol UML_NET_SLIRP: 12942, 12723, 12737, 12956 => 13055, 12834
- /kisskb/src/fs/btrfs/send.c: warning: 'right_gen' may be used uninitialized in this function [-Wmaybe-uninitialized]: 1909:13, 1902:23, 1909:27 =>
- /kisskb/src/fs/btrfs/volumes.c: warning: 'seed_devices' may be used uninitialized in this function [-Wmaybe-uninitialized]: 2524:2, 2524:9 =>
- /kisskb/src/fs/ext4/readpage.c: warning: the frame size of 1132 bytes is larger than 1024 bytes [-Wframe-larger-than=]: 404:1 =>
- /kisskb/src/include/linux/list.h: warning: 'seed_devices' may be used uninitialized in this function [-Wmaybe-uninitialized]: 74:12, 74:19 =>
- /opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/5.4.0/plugin/include/config/elfos.h: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]: 170:24, 102:21 =>
- /opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/5.4.0/plugin/include/config/mips/mips.h: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]: 2913:20 =>
- /opt/cross/kisskb/br-mipsel-o32-full-2016.08-613-ge98b4dd/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/5.4.0/plugin/include/defaults.h: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]: 126:24 =>
- modpost: WARNING: modpost: "__udelay" [drivers/char/pcmcia/cm4000_cs.ko] has no CRC!: N/A =>
- modpost: WARNING: modpost: "__udelay" [drivers/char/pcmcia/synclink_cs.ko] has no CRC!: N/A =>
- modpost: WARNING: modpost: "__udelay" [drivers/media/i2c/noon010pc30.ko] has no CRC!: N/A =>
- modpost: WARNING: modpost: "__udelay" [drivers/media/i2c/vs6624.ko] has no CRC!: N/A =>
- modpost: WARNING: modpost: "__udelay" [drivers/net/ethernet/intel/ixgb/ixgb.ko] has no CRC!: N/A =>
- modpost: WARNING: modpost: "__udelay" [drivers/phy/intel/phy-intel-thunderbay-emmc.ko] has no CRC!: N/A =>
- modpost: WARNING: modpost: "__udelay" [drivers/usb/host/u132-hcd.ko] has no CRC!: N/A =>
- modpost: WARNING: modpost: "__udelay" [drivers/usb/misc/ftdi-elan.ko] has no CRC!: N/A =>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Build regressions/improvements in v6.4
2023-06-26 8:19 ` Build regressions/improvements in v6.4 Geert Uytterhoeven
@ 2023-06-26 8:24 ` Geert Uytterhoeven
2023-07-09 2:45 ` Build regressions/improvements in v6.4 (wireless/airo) Randy Dunlap
0 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2023-06-26 8:24 UTC (permalink / raw)
To: linux-kernel; +Cc: Kalle Valo, linux-wireless
On Mon, 26 Jun 2023, Geert Uytterhoeven wrote:
> JFYI, when comparing v6.4[1] to v6.4-rc7[3], the summaries are:
> - build errors: +1/-0
+ /kisskb/src/drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]: => 6163:45
sh4-gcc11/sh-allmodconfig
seen before
This is actually a real issue, and it's been here since basically forever.
drivers/net/wireless/cisco/airo.c:
static int airo_get_rate(struct net_device *dev,
struct iw_request_info *info,
union iwreq_data *wrqu,
char *extra)
{
struct iw_param *vwrq = &wrqu->bitrate;
struct airo_info *local = dev->ml_priv;
StatusRid status_rid; /* Card status info */
readStatusRid(local, &status_rid, 1);
==> vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
...
}
static int readStatusRid(struct airo_info *ai, StatusRid *statr, int lock)
{
return PC4500_readrid(ai, RID_STATUS, statr, sizeof(*statr), lock);
}
static int PC4500_readrid(struct airo_info *ai, u16 rid, void *pBuf, int len, int lock)
{
u16 status;
int rc = SUCCESS;
if (lock) {
if (down_interruptible(&ai->sem))
return ERROR;
pBuf output buffer contents not initialized.
}
...
}
> [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/6995e2de6891c724bfeb2db33d7b87775f913ad1/ (all 160 configs)
> [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/45a3e24f65e90a047bef86f927ebdc4c710edaa1/ (all 160 configs)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Build regressions/improvements in v6.4 (wireless/airo)
2023-06-26 8:24 ` Geert Uytterhoeven
@ 2023-07-09 2:45 ` Randy Dunlap
2023-07-09 7:38 ` John Paul Adrian Glaubitz
2023-07-09 8:27 ` Geert Uytterhoeven
0 siblings, 2 replies; 11+ messages in thread
From: Randy Dunlap @ 2023-07-09 2:45 UTC (permalink / raw)
To: Geert Uytterhoeven, linux-kernel
Cc: Kalle Valo, linux-wireless, John Paul Adrian Glaubitz
Hi Geert,
[+ Adrian]
On 6/26/23 01:24, Geert Uytterhoeven wrote:
> On Mon, 26 Jun 2023, Geert Uytterhoeven wrote:
>> JFYI, when comparing v6.4[1] to v6.4-rc7[3], the summaries are:
>> - build errors: +1/-0
>
> + /kisskb/src/drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]: => 6163:45
I cannot reproduce this build error. (I don't doubt the problem, just having a problem
making it happen for me.)
I have tried it with gcc-11.1.0, gcc-11.3.0, and gcc-13.1.0.
I'm surprised that this is the only instance that gcc found/warned about.
I have a patch for this one instance, but there are 40+ instances of
readStatusRid()
readConfigRid()
readSsidRid()
readStatsRid()
readCapabilityRid()
that don't check the return status of the function calls.
I suppose that a patch can quieten the compiler error/warning, but given
the 40+ other problems, it won't make the driver any noticeably better IMO.
And the there is the general problem of not being able to build sh* cleanly any way.
(See all of the other build issues in
http://kisskb.ellerman.id.au/kisskb/buildresult/14948832/
.)
Adrian, what toolchain do you use for arch/sh/ builds?
> sh4-gcc11/sh-allmodconfig
> seen before
>
> This is actually a real issue, and it's been here since basically forever.
>
> drivers/net/wireless/cisco/airo.c:
>
> static int airo_get_rate(struct net_device *dev,
> struct iw_request_info *info,
> union iwreq_data *wrqu,
> char *extra)
> {
> struct iw_param *vwrq = &wrqu->bitrate;
> struct airo_info *local = dev->ml_priv;
> StatusRid status_rid; /* Card status info */
>
> readStatusRid(local, &status_rid, 1);
>
> ==> vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
> ...
> }
>
> static int readStatusRid(struct airo_info *ai, StatusRid *statr, int lock)
> {
> return PC4500_readrid(ai, RID_STATUS, statr, sizeof(*statr), lock);
> }
>
> static int PC4500_readrid(struct airo_info *ai, u16 rid, void *pBuf, int len, int lock)
> {
> u16 status;
> int rc = SUCCESS;
>
> if (lock) {
> if (down_interruptible(&ai->sem))
> return ERROR;
>
> pBuf output buffer contents not initialized.
>
> }
> ...
> }
>
>
>> [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/6995e2de6891c724bfeb2db33d7b87775f913ad1/ (all 160 configs)
>> [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/45a3e24f65e90a047bef86f927ebdc4c710edaa1/ (all 160 configs)
I appreciate the synopsis. Here's a patch. WDYT?
Thanks.
---
From: Randy Dunlap <rdunlap@infradead.org>
Subject: [PATCH] wifi: airo: avoid uninitialized warning in airo_get_rate()
Quieten a gcc (11.3.0) build error or warning by checking the function
call status and returning -EIO if the function call failed.
This is similar to what several other wireless drivers do for the
SIOCGIWRATE ioctl call.
drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: lore.kernel.org/r/39abf2c7-24a-f167-91da-ed4c5435d1c4@linux-m68k.org
Cc: Kalle Valo <kvalo@kernel.org>
Cc: linux-wireless@vger.kernel.org
---
drivers/net/wireless/cisco/airo.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff -- a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
--- a/drivers/net/wireless/cisco/airo.c
+++ b/drivers/net/wireless/cisco/airo.c
@@ -6157,8 +6157,11 @@ static int airo_get_rate(struct net_devi
struct iw_param *vwrq = &wrqu->bitrate;
struct airo_info *local = dev->ml_priv;
StatusRid status_rid; /* Card status info */
+ int ret;
- readStatusRid(local, &status_rid, 1);
+ ret = readStatusRid(local, &status_rid, 1);
+ if (ret)
+ return -EIO;
vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
/* If more than one rate, set auto */
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Build regressions/improvements in v6.4 (wireless/airo)
2023-07-09 2:45 ` Build regressions/improvements in v6.4 (wireless/airo) Randy Dunlap
@ 2023-07-09 7:38 ` John Paul Adrian Glaubitz
2023-07-09 13:09 ` Randy Dunlap
2023-07-09 8:27 ` Geert Uytterhoeven
1 sibling, 1 reply; 11+ messages in thread
From: John Paul Adrian Glaubitz @ 2023-07-09 7:38 UTC (permalink / raw)
To: Randy Dunlap, Geert Uytterhoeven, linux-kernel; +Cc: Kalle Valo, linux-wireless
Hi Randy!
On Sat, 2023-07-08 at 19:45 -0700, Randy Dunlap wrote:
> Adrian, what toolchain do you use for arch/sh/ builds?
I'm currently using the sh4 toolchain from here:
> https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Build regressions/improvements in v6.4 (wireless/airo)
2023-07-09 2:45 ` Build regressions/improvements in v6.4 (wireless/airo) Randy Dunlap
2023-07-09 7:38 ` John Paul Adrian Glaubitz
@ 2023-07-09 8:27 ` Geert Uytterhoeven
2023-07-09 13:12 ` Randy Dunlap
1 sibling, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2023-07-09 8:27 UTC (permalink / raw)
To: Randy Dunlap
Cc: linux-kernel, Kalle Valo, linux-wireless, John Paul Adrian Glaubitz
Hi Randy,
On Sun, Jul 9, 2023 at 4:46 AM Randy Dunlap <rdunlap@infradead.org> wrote:
> On 6/26/23 01:24, Geert Uytterhoeven wrote:
> > On Mon, 26 Jun 2023, Geert Uytterhoeven wrote:
> >> JFYI, when comparing v6.4[1] to v6.4-rc7[3], the summaries are:
> >> - build errors: +1/-0
> >
> > + /kisskb/src/drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]: => 6163:45
>
> I cannot reproduce this build error. (I don't doubt the problem, just having a problem
> making it happen for me.)
> I have tried it with gcc-11.1.0, gcc-11.3.0, and gcc-13.1.0.
Which is similar to kisskb, using sh4-linux-gcc (GCC) 11.3.0...
> I'm surprised that this is the only instance that gcc found/warned about.
Indeed.
>
> I have a patch for this one instance, but there are 40+ instances of
> readStatusRid()
> readConfigRid()
> readSsidRid()
> readStatsRid()
> readCapabilityRid()
> that don't check the return status of the function calls.
>
> I suppose that a patch can quieten the compiler error/warning, but given
> the 40+ other problems, it won't make the driver any noticeably better IMO.
Indeed...
> > sh4-gcc11/sh-allmodconfig
> > seen before
> >
> > This is actually a real issue, and it's been here since basically forever.
> >
> > drivers/net/wireless/cisco/airo.c:
> >
> > static int airo_get_rate(struct net_device *dev,
> > struct iw_request_info *info,
> > union iwreq_data *wrqu,
> > char *extra)
> > {
> > struct iw_param *vwrq = &wrqu->bitrate;
> > struct airo_info *local = dev->ml_priv;
> > StatusRid status_rid; /* Card status info */
> >
> > readStatusRid(local, &status_rid, 1);
> >
> > ==> vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
> > ...
> > }
> >
> > static int readStatusRid(struct airo_info *ai, StatusRid *statr, int lock)
> > {
> > return PC4500_readrid(ai, RID_STATUS, statr, sizeof(*statr), lock);
> > }
> >
> > static int PC4500_readrid(struct airo_info *ai, u16 rid, void *pBuf, int len, int lock)
> > {
> > u16 status;
> > int rc = SUCCESS;
> >
> > if (lock) {
> > if (down_interruptible(&ai->sem))
> > return ERROR;
> >
> > pBuf output buffer contents not initialized.
> >
> > }
> > ...
> > }
> >
> >
> >> [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/6995e2de6891c724bfeb2db33d7b87775f913ad1/ (all 160 configs)
> >> [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/45a3e24f65e90a047bef86f927ebdc4c710edaa1/ (all 160 configs)
>
> I appreciate the synopsis. Here's a patch. WDYT?
> ---
> From: Randy Dunlap <rdunlap@infradead.org>
> Subject: [PATCH] wifi: airo: avoid uninitialized warning in airo_get_rate()
>
> Quieten a gcc (11.3.0) build error or warning by checking the function
> call status and returning -EIO if the function call failed.
> This is similar to what several other wireless drivers do for the
> SIOCGIWRATE ioctl call.
>
> drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Link: lore.kernel.org/r/39abf2c7-24a-f167-91da-ed4c5435d1c4@linux-m68k.org
> Cc: Kalle Valo <kvalo@kernel.org>
> Cc: linux-wireless@vger.kernel.org
> ---
> drivers/net/wireless/cisco/airo.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff -- a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
> --- a/drivers/net/wireless/cisco/airo.c
> +++ b/drivers/net/wireless/cisco/airo.c
> @@ -6157,8 +6157,11 @@ static int airo_get_rate(struct net_devi
> struct iw_param *vwrq = &wrqu->bitrate;
> struct airo_info *local = dev->ml_priv;
> StatusRid status_rid; /* Card status info */
> + int ret;
>
> - readStatusRid(local, &status_rid, 1);
> + ret = readStatusRid(local, &status_rid, 1);
> + if (ret)
> + return -EIO;
That's about the best we can do without further surgery.
E.g. PC4500_readrid() should return a proper error code instead of
just ERROR/SUCCESS.
The case gcc complains about is when lock = 1 and the call to
down_interruptible() fails, for which -EBUSY would be appropriate.
>
> vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
> /* If more than one rate, set auto */
>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Build regressions/improvements in v6.4 (wireless/airo)
2023-07-09 7:38 ` John Paul Adrian Glaubitz
@ 2023-07-09 13:09 ` Randy Dunlap
0 siblings, 0 replies; 11+ messages in thread
From: Randy Dunlap @ 2023-07-09 13:09 UTC (permalink / raw)
To: John Paul Adrian Glaubitz, Geert Uytterhoeven, linux-kernel
Cc: Kalle Valo, linux-wireless
On 7/9/23 00:38, John Paul Adrian Glaubitz wrote:
> Hi Randy!
>
> On Sat, 2023-07-08 at 19:45 -0700, Randy Dunlap wrote:
>> Adrian, what toolchain do you use for arch/sh/ builds?
>
> I'm currently using the sh4 toolchain from here:
>
>> https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/
I use the crosstools from there also.
How do you avoid the build errors as listed here?
http://kisskb.ellerman.id.au/kisskb/buildresult/14948832/
thanks.
--
~Randy
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Build regressions/improvements in v6.4 (wireless/airo)
2023-07-09 8:27 ` Geert Uytterhoeven
@ 2023-07-09 13:12 ` Randy Dunlap
2023-07-09 13:23 ` Geert Uytterhoeven
0 siblings, 1 reply; 11+ messages in thread
From: Randy Dunlap @ 2023-07-09 13:12 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: linux-kernel, Kalle Valo, linux-wireless, John Paul Adrian Glaubitz
On 7/9/23 01:27, Geert Uytterhoeven wrote:
> Hi Randy,
>
> On Sun, Jul 9, 2023 at 4:46 AM Randy Dunlap <rdunlap@infradead.org> wrote:
>> On 6/26/23 01:24, Geert Uytterhoeven wrote:
>>> On Mon, 26 Jun 2023, Geert Uytterhoeven wrote:
>>>> JFYI, when comparing v6.4[1] to v6.4-rc7[3], the summaries are:
>>>> - build errors: +1/-0
>>>
>>> + /kisskb/src/drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]: => 6163:45
>>
>> I cannot reproduce this build error. (I don't doubt the problem, just having a problem
>> making it happen for me.)
>> I have tried it with gcc-11.1.0, gcc-11.3.0, and gcc-13.1.0.
>
> Which is similar to kisskb, using sh4-linux-gcc (GCC) 11.3.0...
>
>> I'm surprised that this is the only instance that gcc found/warned about.
>
> Indeed.
>
>>
>> I have a patch for this one instance, but there are 40+ instances of
>> readStatusRid()
>> readConfigRid()
>> readSsidRid()
>> readStatsRid()
>> readCapabilityRid()
>> that don't check the return status of the function calls.
>>
>> I suppose that a patch can quieten the compiler error/warning, but given
>> the 40+ other problems, it won't make the driver any noticeably better IMO.
>
> Indeed...
>
>>> sh4-gcc11/sh-allmodconfig
>>> seen before
>>>
>>> This is actually a real issue, and it's been here since basically forever.
>>>
>>> drivers/net/wireless/cisco/airo.c:
>>>
>>> static int airo_get_rate(struct net_device *dev,
>>> struct iw_request_info *info,
>>> union iwreq_data *wrqu,
>>> char *extra)
>>> {
>>> struct iw_param *vwrq = &wrqu->bitrate;
>>> struct airo_info *local = dev->ml_priv;
>>> StatusRid status_rid; /* Card status info */
>>>
>>> readStatusRid(local, &status_rid, 1);
>>>
>>> ==> vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
>>> ...
>>> }
>>>
>>> static int readStatusRid(struct airo_info *ai, StatusRid *statr, int lock)
>>> {
>>> return PC4500_readrid(ai, RID_STATUS, statr, sizeof(*statr), lock);
>>> }
>>>
>>> static int PC4500_readrid(struct airo_info *ai, u16 rid, void *pBuf, int len, int lock)
>>> {
>>> u16 status;
>>> int rc = SUCCESS;
>>>
>>> if (lock) {
>>> if (down_interruptible(&ai->sem))
>>> return ERROR;
>>>
>>> pBuf output buffer contents not initialized.
>>>
>>> }
>>> ...
>>> }
>>>
>>>
>>>> [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/6995e2de6891c724bfeb2db33d7b87775f913ad1/ (all 160 configs)
>>>> [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/45a3e24f65e90a047bef86f927ebdc4c710edaa1/ (all 160 configs)
>>
>> I appreciate the synopsis. Here's a patch. WDYT?
>> ---
>> From: Randy Dunlap <rdunlap@infradead.org>
>> Subject: [PATCH] wifi: airo: avoid uninitialized warning in airo_get_rate()
>>
>> Quieten a gcc (11.3.0) build error or warning by checking the function
>> call status and returning -EIO if the function call failed.
>> This is similar to what several other wireless drivers do for the
>> SIOCGIWRATE ioctl call.
>>
>> drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]
>>
>> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
>> Link: lore.kernel.org/r/39abf2c7-24a-f167-91da-ed4c5435d1c4@linux-m68k.org
>> Cc: Kalle Valo <kvalo@kernel.org>
>> Cc: linux-wireless@vger.kernel.org
>> ---
>> drivers/net/wireless/cisco/airo.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff -- a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
>> --- a/drivers/net/wireless/cisco/airo.c
>> +++ b/drivers/net/wireless/cisco/airo.c
>> @@ -6157,8 +6157,11 @@ static int airo_get_rate(struct net_devi
>> struct iw_param *vwrq = &wrqu->bitrate;
>> struct airo_info *local = dev->ml_priv;
>> StatusRid status_rid; /* Card status info */
>> + int ret;
>>
>> - readStatusRid(local, &status_rid, 1);
>> + ret = readStatusRid(local, &status_rid, 1);
>> + if (ret)
>> + return -EIO;
>
> That's about the best we can do without further surgery.
> E.g. PC4500_readrid() should return a proper error code instead of
> just ERROR/SUCCESS.
> The case gcc complains about is when lock = 1 and the call to
> down_interruptible() fails, for which -EBUSY would be appropriate.
Yes, I saw that return value as one of the options.
I'll change it to that and submit it.
Thanks.
--
~Randy
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Build regressions/improvements in v6.4 (wireless/airo)
2023-07-09 13:12 ` Randy Dunlap
@ 2023-07-09 13:23 ` Geert Uytterhoeven
2023-07-09 13:26 ` Randy Dunlap
0 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2023-07-09 13:23 UTC (permalink / raw)
To: Randy Dunlap
Cc: linux-kernel, Kalle Valo, linux-wireless, John Paul Adrian Glaubitz
Hi Randy,
On Sun, Jul 9, 2023 at 3:12 PM Randy Dunlap <rdunlap@infradead.org> wrote:
> On 7/9/23 01:27, Geert Uytterhoeven wrote:
> > On Sun, Jul 9, 2023 at 4:46 AM Randy Dunlap <rdunlap@infradead.org> wrote:
> >> On 6/26/23 01:24, Geert Uytterhoeven wrote:
> >>> On Mon, 26 Jun 2023, Geert Uytterhoeven wrote:
> >>>> JFYI, when comparing v6.4[1] to v6.4-rc7[3], the summaries are:
> >>>> - build errors: +1/-0
> >>>
> >>> + /kisskb/src/drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]: => 6163:45
> >>
> >> I cannot reproduce this build error. (I don't doubt the problem, just having a problem
> >> making it happen for me.)
> >> I have tried it with gcc-11.1.0, gcc-11.3.0, and gcc-13.1.0.
> >
> > Which is similar to kisskb, using sh4-linux-gcc (GCC) 11.3.0...
> >
> >> I'm surprised that this is the only instance that gcc found/warned about.
> >
> > Indeed.
> >
> >>
> >> I have a patch for this one instance, but there are 40+ instances of
> >> readStatusRid()
> >> readConfigRid()
> >> readSsidRid()
> >> readStatsRid()
> >> readCapabilityRid()
> >> that don't check the return status of the function calls.
> >>
> >> I suppose that a patch can quieten the compiler error/warning, but given
> >> the 40+ other problems, it won't make the driver any noticeably better IMO.
> >
> > Indeed...
> >
> >>> sh4-gcc11/sh-allmodconfig
> >>> seen before
> >>>
> >>> This is actually a real issue, and it's been here since basically forever.
> >>>
> >>> drivers/net/wireless/cisco/airo.c:
> >>>
> >>> static int airo_get_rate(struct net_device *dev,
> >>> struct iw_request_info *info,
> >>> union iwreq_data *wrqu,
> >>> char *extra)
> >>> {
> >>> struct iw_param *vwrq = &wrqu->bitrate;
> >>> struct airo_info *local = dev->ml_priv;
> >>> StatusRid status_rid; /* Card status info */
> >>>
> >>> readStatusRid(local, &status_rid, 1);
> >>>
> >>> ==> vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
> >>> ...
> >>> }
> >>>
> >>> static int readStatusRid(struct airo_info *ai, StatusRid *statr, int lock)
> >>> {
> >>> return PC4500_readrid(ai, RID_STATUS, statr, sizeof(*statr), lock);
> >>> }
> >>>
> >>> static int PC4500_readrid(struct airo_info *ai, u16 rid, void *pBuf, int len, int lock)
> >>> {
> >>> u16 status;
> >>> int rc = SUCCESS;
> >>>
> >>> if (lock) {
> >>> if (down_interruptible(&ai->sem))
> >>> return ERROR;
> >>>
> >>> pBuf output buffer contents not initialized.
> >>>
> >>> }
> >>> ...
> >>> }
> >>>
> >>>
> >>>> [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/6995e2de6891c724bfeb2db33d7b87775f913ad1/ (all 160 configs)
> >>>> [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/45a3e24f65e90a047bef86f927ebdc4c710edaa1/ (all 160 configs)
> >>
> >> I appreciate the synopsis. Here's a patch. WDYT?
> >> ---
> >> From: Randy Dunlap <rdunlap@infradead.org>
> >> Subject: [PATCH] wifi: airo: avoid uninitialized warning in airo_get_rate()
> >>
> >> Quieten a gcc (11.3.0) build error or warning by checking the function
> >> call status and returning -EIO if the function call failed.
> >> This is similar to what several other wireless drivers do for the
> >> SIOCGIWRATE ioctl call.
> >>
> >> drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]
> >>
> >> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> >> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> >> Link: lore.kernel.org/r/39abf2c7-24a-f167-91da-ed4c5435d1c4@linux-m68k.org
> >> Cc: Kalle Valo <kvalo@kernel.org>
> >> Cc: linux-wireless@vger.kernel.org
> >> ---
> >> drivers/net/wireless/cisco/airo.c | 5 ++++-
> >> 1 file changed, 4 insertions(+), 1 deletion(-)
> >>
> >> diff -- a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
> >> --- a/drivers/net/wireless/cisco/airo.c
> >> +++ b/drivers/net/wireless/cisco/airo.c
> >> @@ -6157,8 +6157,11 @@ static int airo_get_rate(struct net_devi
> >> struct iw_param *vwrq = &wrqu->bitrate;
> >> struct airo_info *local = dev->ml_priv;
> >> StatusRid status_rid; /* Card status info */
> >> + int ret;
> >>
> >> - readStatusRid(local, &status_rid, 1);
> >> + ret = readStatusRid(local, &status_rid, 1);
> >> + if (ret)
> >> + return -EIO;
> >
> > That's about the best we can do without further surgery.
> > E.g. PC4500_readrid() should return a proper error code instead of
> > just ERROR/SUCCESS.
> > The case gcc complains about is when lock = 1 and the call to
> > down_interruptible() fails, for which -EBUSY would be appropriate.
>
> Yes, I saw that return value as one of the options.
> I'll change it to that and submit it.
Unfortunately that is not the only possible failure mode.
But it is the one where gcc can _prove_ the output buffer is not initialized ;-)
OMG, PC4500_readrid() can also read from the passed buffer...
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Build regressions/improvements in v6.4 (wireless/airo)
2023-07-09 13:23 ` Geert Uytterhoeven
@ 2023-07-09 13:26 ` Randy Dunlap
0 siblings, 0 replies; 11+ messages in thread
From: Randy Dunlap @ 2023-07-09 13:26 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: linux-kernel, Kalle Valo, linux-wireless, John Paul Adrian Glaubitz
On 7/9/23 06:23, Geert Uytterhoeven wrote:
> Hi Randy,
>
> On Sun, Jul 9, 2023 at 3:12 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>> On 7/9/23 01:27, Geert Uytterhoeven wrote:
>>> On Sun, Jul 9, 2023 at 4:46 AM Randy Dunlap <rdunlap@infradead.org> wrote:
>>>> On 6/26/23 01:24, Geert Uytterhoeven wrote:
>>>>> On Mon, 26 Jun 2023, Geert Uytterhoeven wrote:
>>>>>> JFYI, when comparing v6.4[1] to v6.4-rc7[3], the summaries are:
>>>>>> - build errors: +1/-0
>>>>>
>>>>> + /kisskb/src/drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]: => 6163:45
>>>>
>>>> I cannot reproduce this build error. (I don't doubt the problem, just having a problem
>>>> making it happen for me.)
>>>> I have tried it with gcc-11.1.0, gcc-11.3.0, and gcc-13.1.0.
>>>
>>> Which is similar to kisskb, using sh4-linux-gcc (GCC) 11.3.0...
>>>
>>>> I'm surprised that this is the only instance that gcc found/warned about.
>>>
>>> Indeed.
>>>
>>>>
>>>> I have a patch for this one instance, but there are 40+ instances of
>>>> readStatusRid()
>>>> readConfigRid()
>>>> readSsidRid()
>>>> readStatsRid()
>>>> readCapabilityRid()
>>>> that don't check the return status of the function calls.
>>>>
>>>> I suppose that a patch can quieten the compiler error/warning, but given
>>>> the 40+ other problems, it won't make the driver any noticeably better IMO.
>>>
>>> Indeed...
>>>
>>>>> sh4-gcc11/sh-allmodconfig
>>>>> seen before
>>>>>
>>>>> This is actually a real issue, and it's been here since basically forever.
>>>>>
>>>>> drivers/net/wireless/cisco/airo.c:
>>>>>
>>>>> static int airo_get_rate(struct net_device *dev,
>>>>> struct iw_request_info *info,
>>>>> union iwreq_data *wrqu,
>>>>> char *extra)
>>>>> {
>>>>> struct iw_param *vwrq = &wrqu->bitrate;
>>>>> struct airo_info *local = dev->ml_priv;
>>>>> StatusRid status_rid; /* Card status info */
>>>>>
>>>>> readStatusRid(local, &status_rid, 1);
>>>>>
>>>>> ==> vwrq->value = le16_to_cpu(status_rid.currentXmitRate) * 500000;
>>>>> ...
>>>>> }
>>>>>
>>>>> static int readStatusRid(struct airo_info *ai, StatusRid *statr, int lock)
>>>>> {
>>>>> return PC4500_readrid(ai, RID_STATUS, statr, sizeof(*statr), lock);
>>>>> }
>>>>>
>>>>> static int PC4500_readrid(struct airo_info *ai, u16 rid, void *pBuf, int len, int lock)
>>>>> {
>>>>> u16 status;
>>>>> int rc = SUCCESS;
>>>>>
>>>>> if (lock) {
>>>>> if (down_interruptible(&ai->sem))
>>>>> return ERROR;
>>>>>
>>>>> pBuf output buffer contents not initialized.
>>>>>
>>>>> }
>>>>> ...
>>>>> }
>>>>>
>>>>>
>>>>>> [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/6995e2de6891c724bfeb2db33d7b87775f913ad1/ (all 160 configs)
>>>>>> [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/45a3e24f65e90a047bef86f927ebdc4c710edaa1/ (all 160 configs)
>>>>
>>>> I appreciate the synopsis. Here's a patch. WDYT?
>>>> ---
>>>> From: Randy Dunlap <rdunlap@infradead.org>
>>>> Subject: [PATCH] wifi: airo: avoid uninitialized warning in airo_get_rate()
>>>>
>>>> Quieten a gcc (11.3.0) build error or warning by checking the function
>>>> call status and returning -EIO if the function call failed.
>>>> This is similar to what several other wireless drivers do for the
>>>> SIOCGIWRATE ioctl call.
>>>>
>>>> drivers/net/wireless/cisco/airo.c: error: 'status_rid.currentXmitRate' is used uninitialized [-Werror=uninitialized]
>>>>
>>>> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
>>>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
>>>> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
>>>> Link: lore.kernel.org/r/39abf2c7-24a-f167-91da-ed4c5435d1c4@linux-m68k.org
>>>> Cc: Kalle Valo <kvalo@kernel.org>
>>>> Cc: linux-wireless@vger.kernel.org
>>>> ---
>>>> drivers/net/wireless/cisco/airo.c | 5 ++++-
>>>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>>>
>>>> diff -- a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
>>>> --- a/drivers/net/wireless/cisco/airo.c
>>>> +++ b/drivers/net/wireless/cisco/airo.c
>>>> @@ -6157,8 +6157,11 @@ static int airo_get_rate(struct net_devi
>>>> struct iw_param *vwrq = &wrqu->bitrate;
>>>> struct airo_info *local = dev->ml_priv;
>>>> StatusRid status_rid; /* Card status info */
>>>> + int ret;
>>>>
>>>> - readStatusRid(local, &status_rid, 1);
>>>> + ret = readStatusRid(local, &status_rid, 1);
>>>> + if (ret)
>>>> + return -EIO;
>>>
>>> That's about the best we can do without further surgery.
>>> E.g. PC4500_readrid() should return a proper error code instead of
>>> just ERROR/SUCCESS.
>>> The case gcc complains about is when lock = 1 and the call to
>>> down_interruptible() fails, for which -EBUSY would be appropriate.
>>
>> Yes, I saw that return value as one of the options.
>> I'll change it to that and submit it.
>
> Unfortunately that is not the only possible failure mode.
> But it is the one where gcc can _prove_ the output buffer is not initialized ;-)
>
> OMG, PC4500_readrid() can also read from the passed buffer...
Yes, such messy fun. :(
--
~Randy
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-07-09 13:26 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-25 23:40 Linux 6.4 Linus Torvalds
2023-06-26 5:39 ` Guenter Roeck
2023-06-26 8:19 ` Build regressions/improvements in v6.4 Geert Uytterhoeven
2023-06-26 8:24 ` Geert Uytterhoeven
2023-07-09 2:45 ` Build regressions/improvements in v6.4 (wireless/airo) Randy Dunlap
2023-07-09 7:38 ` John Paul Adrian Glaubitz
2023-07-09 13:09 ` Randy Dunlap
2023-07-09 8:27 ` Geert Uytterhoeven
2023-07-09 13:12 ` Randy Dunlap
2023-07-09 13:23 ` Geert Uytterhoeven
2023-07-09 13:26 ` Randy Dunlap
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®