kernel_samsung_a53x/drivers/net
Simon Horman f7cf43b465 net: atlantic: Avoid warning about potential string truncation
[ Upstream commit 5874e0c9f25661c2faefe4809907166defae3d7f ]

W=1 builds with GCC 14.2.0 warn that:

.../aq_ethtool.c:278:59: warning: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size 6 [-Wformat-truncation=]
  278 |                                 snprintf(tc_string, 8, "TC%d ", tc);
      |                                                           ^~
.../aq_ethtool.c:278:56: note: directive argument in the range [-2147483641, 254]
  278 |                                 snprintf(tc_string, 8, "TC%d ", tc);
      |                                                        ^~~~~~~
.../aq_ethtool.c:278:33: note: ‘snprintf’ output between 5 and 15 bytes into a destination of size 8
  278 |                                 snprintf(tc_string, 8, "TC%d ", tc);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

tc is always in the range 0 - cfg->tcs. And as cfg->tcs is a u8,
the range is 0 - 255. Further, on inspecting the code, it seems
that cfg->tcs will never be more than AQ_CFG_TCS_MAX (8), so
the range is actually 0 - 8.

So, it seems that the condition that GCC flags will not occur.
But, nonetheless, it would be nice if it didn't emit the warning.

It seems that this can be achieved by changing the format specifier
from %d to %u, in which case I believe GCC recognises an upper bound
on the range of tc of 0 - 255. After some experimentation I think
this is due to the combination of the use of %u and the type of
cfg->tcs (u8).

Empirically, updating the type of the tc variable to unsigned int
has the same effect.

As both of these changes seem to make sense in relation to what the code
is actually doing - iterating over unsigned values - do both.

Compile tested only.

Signed-off-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240821-atlantic-str-v1-1-fa2cfe38ca00@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-23 23:21:38 +01:00
..
appletalk
arcnet
bonding bonding: fix xfrm state handling when clearing active slave 2024-11-23 23:20:48 +01:00
caif
can can: m_can: m_can_close(): stop clocks after device has been shut down 2024-11-23 23:21:18 +01:00
dropdump
dsa net: dsa: vsc73xx: fix possible subblocks range of CAPT block 2024-11-23 23:21:04 +01:00
ethernet net: atlantic: Avoid warning about potential string truncation 2024-11-23 23:21:38 +01:00
fddi
fjes
hamradio
hippi
hyperv
ieee802154 net: ieee802154: mcr20a: Use IRQF_NO_AUTOEN flag in request_irq() 2024-11-23 23:21:35 +01:00
ipa
ipvlan ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound 2024-11-19 12:27:11 +01:00
mdio
netdevsim
pcs
phy net: phy: vitesse: repair vsc73xx autonegotiation 2024-11-23 23:21:10 +01:00
plip
ppp ppp: reject claimed-as-LCP but actually malformed packets 2024-11-19 14:19:43 +01:00
slip
team
usb usbnet: ipheth: fix carrier detection in modes 1 and 4 2024-11-23 23:21:10 +01:00
vmxnet3
vxlan vxlan: Fix regression when dropping packets due to invalid src addresses 2024-11-19 14:19:00 +01:00
wan
wimax
wireguard wireguard: send: annotate intentional data race in checking empty queue 2024-11-19 14:19:45 +01:00
wireless wifi: rtw88: select WANT_DEV_COREDUMP 2024-11-23 23:21:38 +01:00
xen-netback net/xen-netback: prevent UAF in xenvif_flush_hash() 2024-11-23 23:21:37 +01:00
bareudp.c bareudp: Pull inner IP header on xmit. 2024-11-23 23:21:19 +01:00
dummy.c
eql.c
geneve.c geneve: Fix incorrect inner network header offset when innerprotoinherit is set 2024-11-23 23:21:19 +01:00
gtp.c gtp: fix a potential NULL pointer dereference 2024-11-23 23:20:55 +01:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c
netconsole.c net: netconsole: Disable target before netpoll cleanup 2024-11-23 23:20:12 +01:00
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c tap: add missing verification for short frame 2024-11-19 14:19:53 +01:00
thunderbolt.c
tun.c tun: add missing verification for short frame 2024-11-19 14:19:53 +01:00
veth.c
virtio_net.c virtio_net: Fix napi_skb_cache_put warning 2024-11-23 23:20:59 +01:00
vrf.c
vsockmon.c
xen-netfront.c