[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202512150116.TCRGxLH3-lkp@intel.com>
Date: Mon, 15 Dec 2025 01:38:11 +0800
From: kernel test robot <lkp@...el.com>
To: Tiwei Bie <tiwei.btw@...group.com>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
Johannes Berg <johannes.berg@...el.com>
Subject: arch/um/drivers/vector_transports.c:337:40: sparse: sparse:
incorrect type in assignment (different base types)
Hi Tiwei,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
commit: b555cb66583e99158cfef8e91c025252cefae55b um: vector: Eliminate the dependency on uml_net
date: 7 months ago
config: um-randconfig-r131-20251214 (https://download.01.org/0day-ci/archive/20251215/202512150116.TCRGxLH3-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251215/202512150116.TCRGxLH3-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/202512150116.TCRGxLH3-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
arch/um/drivers/vector_transports.c:73:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
arch/um/drivers/vector_transports.c:73:38: sparse: expected unsigned int [usertype]
arch/um/drivers/vector_transports.c:73:38: sparse: got restricted __be32 [usertype]
arch/um/drivers/vector_transports.c:90:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
arch/um/drivers/vector_transports.c:90:34: sparse: expected unsigned int [usertype]
arch/um/drivers/vector_transports.c:90:34: sparse: got restricted __be32 [usertype]
arch/um/drivers/vector_transports.c:109:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
arch/um/drivers/vector_transports.c:109:35: sparse: expected unsigned int [usertype]
arch/um/drivers/vector_transports.c:109:35: sparse: got restricted __be32 [usertype]
arch/um/drivers/vector_transports.c:254:37: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] arptype @@ got restricted __be16 [usertype] @@
arch/um/drivers/vector_transports.c:254:37: sparse: expected unsigned short [usertype] arptype
arch/um/drivers/vector_transports.c:254:37: sparse: got restricted __be16 [usertype]
arch/um/drivers/vector_transports.c:273:52: sparse: sparse: invalid assignment: |=
arch/um/drivers/vector_transports.c:273:52: sparse: left side has type unsigned short
arch/um/drivers/vector_transports.c:273:52: sparse: right side has type restricted __be16
arch/um/drivers/vector_transports.c:274:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] rx_key @@ got restricted __be32 [usertype] @@
arch/um/drivers/vector_transports.c:274:36: sparse: expected unsigned int [usertype] rx_key
arch/um/drivers/vector_transports.c:274:36: sparse: got restricted __be32 [usertype]
arch/um/drivers/vector_transports.c:275:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] tx_key @@ got restricted __be32 [usertype] @@
arch/um/drivers/vector_transports.c:275:36: sparse: expected unsigned int [usertype] tx_key
arch/um/drivers/vector_transports.c:275:36: sparse: got restricted __be32 [usertype]
arch/um/drivers/vector_transports.c:288:52: sparse: sparse: invalid assignment: |=
arch/um/drivers/vector_transports.c:288:52: sparse: left side has type unsigned short
arch/um/drivers/vector_transports.c:288:52: sparse: right side has type restricted __be16
arch/um/drivers/vector_transports.c:336:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] tx_session @@ got restricted __be32 [usertype] @@
arch/um/drivers/vector_transports.c:336:40: sparse: expected unsigned long long [usertype] tx_session
arch/um/drivers/vector_transports.c:336:40: sparse: got restricted __be32 [usertype]
>> arch/um/drivers/vector_transports.c:337:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] rx_session @@ got restricted __be32 [usertype] @@
arch/um/drivers/vector_transports.c:337:40: sparse: expected unsigned long long [usertype] rx_session
arch/um/drivers/vector_transports.c:337:40: sparse: got restricted __be32 [usertype]
arch/um/drivers/vector_transports.c:355:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] rx_cookie @@ got restricted __be64 [usertype] @@
arch/um/drivers/vector_transports.c:355:47: sparse: expected unsigned long long [usertype] rx_cookie
arch/um/drivers/vector_transports.c:355:47: sparse: got restricted __be64 [usertype]
arch/um/drivers/vector_transports.c:356:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] tx_cookie @@ got restricted __be64 [usertype] @@
arch/um/drivers/vector_transports.c:356:47: sparse: expected unsigned long long [usertype] tx_cookie
arch/um/drivers/vector_transports.c:356:47: sparse: got restricted __be64 [usertype]
arch/um/drivers/vector_transports.c:360:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] rx_cookie @@ got restricted __be32 [usertype] @@
arch/um/drivers/vector_transports.c:360:47: sparse: expected unsigned long long [usertype] rx_cookie
arch/um/drivers/vector_transports.c:360:47: sparse: got restricted __be32 [usertype]
arch/um/drivers/vector_transports.c:361:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] tx_cookie @@ got restricted __be32 [usertype] @@
arch/um/drivers/vector_transports.c:361:47: sparse: expected unsigned long long [usertype] tx_cookie
arch/um/drivers/vector_transports.c:361:47: sparse: got restricted __be32 [usertype]
vim +337 arch/um/drivers/vector_transports.c
49da7e64f33e80 Anton Ivanov 2017-11-20 304
49da7e64f33e80 Anton Ivanov 2017-11-20 305 struct uml_l2tpv3_data *td;
49da7e64f33e80 Anton Ivanov 2017-11-20 306 int temp_int, temp_rxs, temp_txs;
49da7e64f33e80 Anton Ivanov 2017-11-20 307 unsigned long temp_rx;
49da7e64f33e80 Anton Ivanov 2017-11-20 308 unsigned long temp_tx;
49da7e64f33e80 Anton Ivanov 2017-11-20 309
49da7e64f33e80 Anton Ivanov 2017-11-20 310 vp->transport_data = kmalloc(
49da7e64f33e80 Anton Ivanov 2017-11-20 311 sizeof(struct uml_l2tpv3_data), GFP_KERNEL);
49da7e64f33e80 Anton Ivanov 2017-11-20 312
49da7e64f33e80 Anton Ivanov 2017-11-20 313 if (vp->transport_data == NULL)
49da7e64f33e80 Anton Ivanov 2017-11-20 314 return -ENOMEM;
49da7e64f33e80 Anton Ivanov 2017-11-20 315
49da7e64f33e80 Anton Ivanov 2017-11-20 316 td = vp->transport_data;
49da7e64f33e80 Anton Ivanov 2017-11-20 317
49da7e64f33e80 Anton Ivanov 2017-11-20 318 vp->form_header = &l2tpv3_form_header;
49da7e64f33e80 Anton Ivanov 2017-11-20 319 vp->verify_header = &l2tpv3_verify_header;
49da7e64f33e80 Anton Ivanov 2017-11-20 320 td->counter = 0;
49da7e64f33e80 Anton Ivanov 2017-11-20 321
49da7e64f33e80 Anton Ivanov 2017-11-20 322 vp->header_size = 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 323 td->session_offset = 0;
49da7e64f33e80 Anton Ivanov 2017-11-20 324 td->cookie_offset = 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 325 td->counter_offset = 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 326
49da7e64f33e80 Anton Ivanov 2017-11-20 327
49da7e64f33e80 Anton Ivanov 2017-11-20 328 td->ipv6 = false;
49da7e64f33e80 Anton Ivanov 2017-11-20 329 if (get_uint_param(vp->parsed, "v6", &temp_int)) {
49da7e64f33e80 Anton Ivanov 2017-11-20 330 if (temp_int > 0)
49da7e64f33e80 Anton Ivanov 2017-11-20 331 td->ipv6 = true;
49da7e64f33e80 Anton Ivanov 2017-11-20 332 }
49da7e64f33e80 Anton Ivanov 2017-11-20 333
49da7e64f33e80 Anton Ivanov 2017-11-20 334 if (get_uint_param(vp->parsed, "rx_session", &temp_rxs)) {
49da7e64f33e80 Anton Ivanov 2017-11-20 335 if (get_uint_param(vp->parsed, "tx_session", &temp_txs)) {
49da7e64f33e80 Anton Ivanov 2017-11-20 336 td->tx_session = cpu_to_be32(temp_txs);
49da7e64f33e80 Anton Ivanov 2017-11-20 @337 td->rx_session = cpu_to_be32(temp_rxs);
49da7e64f33e80 Anton Ivanov 2017-11-20 338 } else {
49da7e64f33e80 Anton Ivanov 2017-11-20 339 return -EINVAL;
49da7e64f33e80 Anton Ivanov 2017-11-20 340 }
49da7e64f33e80 Anton Ivanov 2017-11-20 341 } else {
49da7e64f33e80 Anton Ivanov 2017-11-20 342 return -EINVAL;
49da7e64f33e80 Anton Ivanov 2017-11-20 343 }
49da7e64f33e80 Anton Ivanov 2017-11-20 344
49da7e64f33e80 Anton Ivanov 2017-11-20 345 td->cookie_is_64 = false;
49da7e64f33e80 Anton Ivanov 2017-11-20 346 if (get_uint_param(vp->parsed, "cookie64", &temp_int)) {
49da7e64f33e80 Anton Ivanov 2017-11-20 347 if (temp_int > 0)
49da7e64f33e80 Anton Ivanov 2017-11-20 348 td->cookie_is_64 = true;
49da7e64f33e80 Anton Ivanov 2017-11-20 349 }
49da7e64f33e80 Anton Ivanov 2017-11-20 350 td->cookie = false;
49da7e64f33e80 Anton Ivanov 2017-11-20 351 if (get_ulong_param(vp->parsed, "rx_cookie", &temp_rx)) {
49da7e64f33e80 Anton Ivanov 2017-11-20 352 if (get_ulong_param(vp->parsed, "tx_cookie", &temp_tx)) {
49da7e64f33e80 Anton Ivanov 2017-11-20 353 td->cookie = true;
49da7e64f33e80 Anton Ivanov 2017-11-20 354 if (td->cookie_is_64) {
49da7e64f33e80 Anton Ivanov 2017-11-20 355 td->rx_cookie = cpu_to_be64(temp_rx);
49da7e64f33e80 Anton Ivanov 2017-11-20 356 td->tx_cookie = cpu_to_be64(temp_tx);
49da7e64f33e80 Anton Ivanov 2017-11-20 357 vp->header_size += 8;
49da7e64f33e80 Anton Ivanov 2017-11-20 358 td->counter_offset += 8;
49da7e64f33e80 Anton Ivanov 2017-11-20 359 } else {
49da7e64f33e80 Anton Ivanov 2017-11-20 360 td->rx_cookie = cpu_to_be32(temp_rx);
49da7e64f33e80 Anton Ivanov 2017-11-20 361 td->tx_cookie = cpu_to_be32(temp_tx);
49da7e64f33e80 Anton Ivanov 2017-11-20 362 vp->header_size += 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 363 td->counter_offset += 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 364 }
49da7e64f33e80 Anton Ivanov 2017-11-20 365 } else {
49da7e64f33e80 Anton Ivanov 2017-11-20 366 return -EINVAL;
49da7e64f33e80 Anton Ivanov 2017-11-20 367 }
49da7e64f33e80 Anton Ivanov 2017-11-20 368 }
49da7e64f33e80 Anton Ivanov 2017-11-20 369
49da7e64f33e80 Anton Ivanov 2017-11-20 370 td->has_counter = false;
49da7e64f33e80 Anton Ivanov 2017-11-20 371 if (get_uint_param(vp->parsed, "counter", &temp_int)) {
49da7e64f33e80 Anton Ivanov 2017-11-20 372 if (temp_int > 0) {
49da7e64f33e80 Anton Ivanov 2017-11-20 373 td->has_counter = true;
49da7e64f33e80 Anton Ivanov 2017-11-20 374 vp->header_size += 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 375 if (get_uint_param(
49da7e64f33e80 Anton Ivanov 2017-11-20 376 vp->parsed, "pin_counter", &temp_int)) {
49da7e64f33e80 Anton Ivanov 2017-11-20 377 if (temp_int > 0)
49da7e64f33e80 Anton Ivanov 2017-11-20 378 td->pin_counter = true;
49da7e64f33e80 Anton Ivanov 2017-11-20 379 }
49da7e64f33e80 Anton Ivanov 2017-11-20 380 }
49da7e64f33e80 Anton Ivanov 2017-11-20 381 }
49da7e64f33e80 Anton Ivanov 2017-11-20 382
49da7e64f33e80 Anton Ivanov 2017-11-20 383 if (get_uint_param(vp->parsed, "udp", &temp_int)) {
49da7e64f33e80 Anton Ivanov 2017-11-20 384 if (temp_int > 0) {
49da7e64f33e80 Anton Ivanov 2017-11-20 385 td->udp = true;
49da7e64f33e80 Anton Ivanov 2017-11-20 386 vp->header_size += 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 387 td->counter_offset += 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 388 td->session_offset += 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 389 td->cookie_offset += 4;
49da7e64f33e80 Anton Ivanov 2017-11-20 390 }
49da7e64f33e80 Anton Ivanov 2017-11-20 391 }
49da7e64f33e80 Anton Ivanov 2017-11-20 392
49da7e64f33e80 Anton Ivanov 2017-11-20 393 vp->rx_header_size = vp->header_size;
49da7e64f33e80 Anton Ivanov 2017-11-20 394 if ((!td->ipv6) && (!td->udp))
49da7e64f33e80 Anton Ivanov 2017-11-20 395 vp->rx_header_size += sizeof(struct iphdr);
49da7e64f33e80 Anton Ivanov 2017-11-20 396
49da7e64f33e80 Anton Ivanov 2017-11-20 397 return 0;
49da7e64f33e80 Anton Ivanov 2017-11-20 398 }
49da7e64f33e80 Anton Ivanov 2017-11-20 399
:::::: The code at line 337 was first introduced by commit
:::::: 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb High Performance UML Vector Network Driver
:::::: TO: Anton Ivanov <anton.ivanov@...bridgegreys.com>
:::::: CC: Richard Weinberger <richard@....at>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists