[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202501031059.OHdpp0W8-lkp@intel.com>
Date: Fri, 3 Jan 2025 10:11:29 +0800
From: kernel test robot <lkp@...el.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: net/8021q/vlan.c:238:46: warning: '%.4i' directive output may be
truncated writing between 4 and 5 bytes into a region of size between 0 and
15
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0bc21e701a6ffacfdde7f04f87d664d82e8a13bf
commit: c269a24ce057abfc31130960e96ab197ef6ab196 net: make free_netdev() more lenient with unregistering devices
date: 4 years ago
config: alpha-randconfig-r026-20211101 (https://download.01.org/0day-ci/archive/20250103/202501031059.OHdpp0W8-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250103/202501031059.OHdpp0W8-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501031059.OHdpp0W8-lkp@intel.com/
All warnings (new ones prefixed by >>):
net/8021q/vlan.c: In function 'vlan_ioctl_handler':
net/8021q/vlan.c:250:46: warning: '%i' directive output may be truncated writing between 1 and 5 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
250 | snprintf(name, IFNAMSIZ, "%s.%i", real_dev->name, vlan_id);
| ^~
In function 'register_vlan_device',
inlined from 'vlan_ioctl_handler' at net/8021q/vlan.c:625:9:
net/8021q/vlan.c:250:42: note: directive argument in the range [0, 65535]
250 | snprintf(name, IFNAMSIZ, "%s.%i", real_dev->name, vlan_id);
| ^~~~~~~
net/8021q/vlan.c:250:17: note: 'snprintf' output between 3 and 22 bytes into a destination of size 16
250 | snprintf(name, IFNAMSIZ, "%s.%i", real_dev->name, vlan_id);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/8021q/vlan.c: In function 'vlan_ioctl_handler':
>> net/8021q/vlan.c:238:46: warning: '%.4i' directive output may be truncated writing between 4 and 5 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
238 | snprintf(name, IFNAMSIZ, "%s.%.4i", real_dev->name, vlan_id);
| ^~~~
In function 'register_vlan_device',
inlined from 'vlan_ioctl_handler' at net/8021q/vlan.c:625:9:
net/8021q/vlan.c:238:42: note: directive argument in the range [0, 65535]
238 | snprintf(name, IFNAMSIZ, "%s.%.4i", real_dev->name, vlan_id);
| ^~~~~~~~~
net/8021q/vlan.c:238:17: note: 'snprintf' output between 6 and 22 bytes into a destination of size 16
238 | snprintf(name, IFNAMSIZ, "%s.%.4i", real_dev->name, vlan_id);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +238 net/8021q/vlan.c
e89fe42cd03c8f Patrick McHardy 2007-06-13 213
c1d3ee9925ca71 Patrick McHardy 2007-06-13 214 /* Attach a VLAN device to a mac address (ie Ethernet Card).
2ae0bf69b716d0 Patrick McHardy 2007-06-13 215 * Returns 0 if the device was created or a negative error code otherwise.
c1d3ee9925ca71 Patrick McHardy 2007-06-13 216 */
9bb8582efb5555 Patrick McHardy 2008-07-08 217 static int register_vlan_device(struct net_device *real_dev, u16 vlan_id)
c1d3ee9925ca71 Patrick McHardy 2007-06-13 218 {
c1d3ee9925ca71 Patrick McHardy 2007-06-13 219 struct net_device *new_dev;
0c0667a8548ef2 Wang Sheng-Hui 2013-08-03 220 struct vlan_dev_priv *vlan;
7a17a2f79f54a9 Pavel Emelyanov 2008-04-16 221 struct net *net = dev_net(real_dev);
7a17a2f79f54a9 Pavel Emelyanov 2008-04-16 222 struct vlan_net *vn = net_generic(net, vlan_net_id);
c1d3ee9925ca71 Patrick McHardy 2007-06-13 223 char name[IFNAMSIZ];
2ae0bf69b716d0 Patrick McHardy 2007-06-13 224 int err;
c1d3ee9925ca71 Patrick McHardy 2007-06-13 225
9bb8582efb5555 Patrick McHardy 2008-07-08 226 if (vlan_id >= VLAN_VID_MASK)
2ae0bf69b716d0 Patrick McHardy 2007-06-13 227 return -ERANGE;
c1d3ee9925ca71 Patrick McHardy 2007-06-13 228
33fa382324ebd1 David Ahern 2018-05-17 229 err = vlan_check_real_dev(real_dev, htons(ETH_P_8021Q), vlan_id,
33fa382324ebd1 David Ahern 2018-05-17 230 NULL);
2ae0bf69b716d0 Patrick McHardy 2007-06-13 231 if (err < 0)
2ae0bf69b716d0 Patrick McHardy 2007-06-13 232 return err;
c1d3ee9925ca71 Patrick McHardy 2007-06-13 233
^1da177e4c3f41 Linus Torvalds 2005-04-16 234 /* Gotta set up the fields for the device. */
7a17a2f79f54a9 Pavel Emelyanov 2008-04-16 235 switch (vn->name_type) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 236 case VLAN_NAME_TYPE_RAW_PLUS_VID:
^1da177e4c3f41 Linus Torvalds 2005-04-16 237 /* name will look like: eth1.0005 */
9bb8582efb5555 Patrick McHardy 2008-07-08 @238 snprintf(name, IFNAMSIZ, "%s.%.4i", real_dev->name, vlan_id);
^1da177e4c3f41 Linus Torvalds 2005-04-16 239 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 240 case VLAN_NAME_TYPE_PLUS_VID_NO_PAD:
^1da177e4c3f41 Linus Torvalds 2005-04-16 241 /* Put our vlan.VID in the name.
^1da177e4c3f41 Linus Torvalds 2005-04-16 242 * Name will look like: vlan5
^1da177e4c3f41 Linus Torvalds 2005-04-16 243 */
9bb8582efb5555 Patrick McHardy 2008-07-08 244 snprintf(name, IFNAMSIZ, "vlan%i", vlan_id);
^1da177e4c3f41 Linus Torvalds 2005-04-16 245 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 246 case VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD:
^1da177e4c3f41 Linus Torvalds 2005-04-16 247 /* Put our vlan.VID in the name.
^1da177e4c3f41 Linus Torvalds 2005-04-16 248 * Name will look like: eth0.5
^1da177e4c3f41 Linus Torvalds 2005-04-16 249 */
9bb8582efb5555 Patrick McHardy 2008-07-08 250 snprintf(name, IFNAMSIZ, "%s.%i", real_dev->name, vlan_id);
^1da177e4c3f41 Linus Torvalds 2005-04-16 251 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 252 case VLAN_NAME_TYPE_PLUS_VID:
^1da177e4c3f41 Linus Torvalds 2005-04-16 253 /* Put our vlan.VID in the name.
^1da177e4c3f41 Linus Torvalds 2005-04-16 254 * Name will look like: vlan0005
^1da177e4c3f41 Linus Torvalds 2005-04-16 255 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 256 default:
9bb8582efb5555 Patrick McHardy 2008-07-08 257 snprintf(name, IFNAMSIZ, "vlan%.4i", vlan_id);
3ff50b7997fe06 Stephen Hemminger 2007-04-20 258 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 259
c835a677331495 Tom Gundersen 2014-07-14 260 new_dev = alloc_netdev(sizeof(struct vlan_dev_priv), name,
c835a677331495 Tom Gundersen 2014-07-14 261 NET_NAME_UNKNOWN, vlan_setup);
5dd8d1e9eb8b51 Arjan van de Ven 2006-07-03 262
^1da177e4c3f41 Linus Torvalds 2005-04-16 263 if (new_dev == NULL)
2ae0bf69b716d0 Patrick McHardy 2007-06-13 264 return -ENOBUFS;
^1da177e4c3f41 Linus Torvalds 2005-04-16 265
65d292a2ef2df6 Pavel Emelyanov 2008-04-16 266 dev_net_set(new_dev, net);
^1da177e4c3f41 Linus Torvalds 2005-04-16 267 /* need 4 bytes for extra VLAN header info,
^1da177e4c3f41 Linus Torvalds 2005-04-16 268 * hope the underlying device can handle it.
^1da177e4c3f41 Linus Torvalds 2005-04-16 269 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 270 new_dev->mtu = real_dev->mtu;
^1da177e4c3f41 Linus Torvalds 2005-04-16 271
0c0667a8548ef2 Wang Sheng-Hui 2013-08-03 272 vlan = vlan_dev_priv(new_dev);
0c0667a8548ef2 Wang Sheng-Hui 2013-08-03 273 vlan->vlan_proto = htons(ETH_P_8021Q);
0c0667a8548ef2 Wang Sheng-Hui 2013-08-03 274 vlan->vlan_id = vlan_id;
0c0667a8548ef2 Wang Sheng-Hui 2013-08-03 275 vlan->real_dev = real_dev;
0c0667a8548ef2 Wang Sheng-Hui 2013-08-03 276 vlan->dent = NULL;
0c0667a8548ef2 Wang Sheng-Hui 2013-08-03 277 vlan->flags = VLAN_FLAG_REORDER_HDR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 278
07b5b17e157b70 Patrick McHardy 2007-06-13 279 new_dev->rtnl_link_ops = &vlan_link_ops;
42ab19ee902929 David Ahern 2017-10-04 280 err = register_vlan_dev(new_dev, NULL);
2ae0bf69b716d0 Patrick McHardy 2007-06-13 281 if (err < 0)
42429aaee5eb44 Patrick McHardy 2007-06-13 282 goto out_free_newdev;
^1da177e4c3f41 Linus Torvalds 2005-04-16 283
2ae0bf69b716d0 Patrick McHardy 2007-06-13 284 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 285
^1da177e4c3f41 Linus Torvalds 2005-04-16 286 out_free_newdev:
^1da177e4c3f41 Linus Torvalds 2005-04-16 287 free_netdev(new_dev);
2ae0bf69b716d0 Patrick McHardy 2007-06-13 288 return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 289 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 290
:::::: The code at line 238 was first introduced by commit
:::::: 9bb8582efb555521c7eec595ebd34e835ddc34b8 vlan: TCI related type and naming cleanups
:::::: TO: Patrick McHardy <kaber@...sh.net>
:::::: CC: David S. Miller <davem@...emloft.net>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists