* 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 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 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 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®