mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* 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®