tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 0f4498cef9f5cd18d7c6639a2a902ec1edc5be4e commit: 4eeef098b43242ed145c83fba9989d586d707589 powerpc/44x: Remove STDBINUTILS kconfig option date: 8 weeks ago config: powerpc64-randconfig-r036-20210328 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d50fe9f0d6b9ee61df8830a67ea0a33c27a637e7) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install powerpc64 cross compiling tool for clang build # apt-get install binutils-powerpc64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4eeef098b43242ed145c83fba9989d586d707589 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 4eeef098b43242ed145c83fba9989d586d707589 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> All warnings (new ones prefixed by >>): >> fs/ntfs/aops.c:378:12: warning: stack frame size of 2288 bytes in function >> 'ntfs_readpage' [-Wframe-larger-than=] static int ntfs_readpage(struct file *file, struct page *page) ^ 1 warning generated. -- >> net/bluetooth/hci_core.c:2108:26: warning: result of comparison of constant >> 65536 with expression of type '__u16' (aka 'unsigned short') is always false >> [-Wtautological-constant-out-of-range-compare] if (!dev_num || dev_num > (PAGE_SIZE * 2) / sizeof(*dr)) ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ~~~~~~~~~~~~~~~~~^~~~~ include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value' (cond) ? \ ^~~~ >> net/bluetooth/hci_core.c:2108:26: warning: result of comparison of constant >> 65536 with expression of type '__u16' (aka 'unsigned short') is always false >> [-Wtautological-constant-out-of-range-compare] if (!dev_num || dev_num > (PAGE_SIZE * 2) / sizeof(*dr)) ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> net/bluetooth/hci_core.c:2108:26: warning: result of comparison of constant >> 65536 with expression of type '__u16' (aka 'unsigned short') is always false >> [-Wtautological-constant-out-of-range-compare] if (!dev_num || dev_num > (PAGE_SIZE * 2) / sizeof(*dr)) ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ 3 warnings generated. vim +/ntfs_readpage +378 fs/ntfs/aops.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 359 ^1da177e4c3f41 Linus Torvalds 2005-04-16 360 /** ^1da177e4c3f41 Linus Torvalds 2005-04-16 361 * ntfs_readpage - fill a @page of a @file with data from the device ^1da177e4c3f41 Linus Torvalds 2005-04-16 362 * @file: open file to which the page @page belongs or NULL ^1da177e4c3f41 Linus Torvalds 2005-04-16 363 * @page: page cache page to fill with data ^1da177e4c3f41 Linus Torvalds 2005-04-16 364 * ^1da177e4c3f41 Linus Torvalds 2005-04-16 365 * For non-resident attributes, ntfs_readpage() fills the @page of the open ^1da177e4c3f41 Linus Torvalds 2005-04-16 366 * file @file by calling the ntfs version of the generic block_read_full_page() ^1da177e4c3f41 Linus Torvalds 2005-04-16 367 * function, ntfs_read_block(), which in turn creates and reads in the buffers ^1da177e4c3f41 Linus Torvalds 2005-04-16 368 * associated with the page asynchronously. ^1da177e4c3f41 Linus Torvalds 2005-04-16 369 * ^1da177e4c3f41 Linus Torvalds 2005-04-16 370 * For resident attributes, OTOH, ntfs_readpage() fills @page by copying the ^1da177e4c3f41 Linus Torvalds 2005-04-16 371 * data from the mft record (which at this stage is most likely in memory) and ^1da177e4c3f41 Linus Torvalds 2005-04-16 372 * fills the remainder with zeroes. Thus, in this case, I/O is synchronous, as ^1da177e4c3f41 Linus Torvalds 2005-04-16 373 * even if the mft record is not cached at this point in time, we need to wait ^1da177e4c3f41 Linus Torvalds 2005-04-16 374 * for it to be read in before we can do the copy. ^1da177e4c3f41 Linus Torvalds 2005-04-16 375 * ^1da177e4c3f41 Linus Torvalds 2005-04-16 376 * Return 0 on success and -errno on error. ^1da177e4c3f41 Linus Torvalds 2005-04-16 377 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 @378 static int ntfs_readpage(struct file *file, struct page *page) ^1da177e4c3f41 Linus Torvalds 2005-04-16 379 { f6098cf449b81c Anton Altaparmakov 2005-09-19 380 loff_t i_size; f6098cf449b81c Anton Altaparmakov 2005-09-19 381 struct inode *vi; ^1da177e4c3f41 Linus Torvalds 2005-04-16 382 ntfs_inode *ni, *base_ni; bfab36e81611e6 Anton Altaparmakov 2007-10-12 383 u8 *addr; ^1da177e4c3f41 Linus Torvalds 2005-04-16 384 ntfs_attr_search_ctx *ctx; ^1da177e4c3f41 Linus Torvalds 2005-04-16 385 MFT_RECORD *mrec; b6ad6c52fe36ab Anton Altaparmakov 2005-02-15 386 unsigned long flags; ^1da177e4c3f41 Linus Torvalds 2005-04-16 387 u32 attr_len; ^1da177e4c3f41 Linus Torvalds 2005-04-16 388 int err = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 389 905685f68fc728 Anton Altaparmakov 2005-03-10 390 retry_readpage: ^1da177e4c3f41 Linus Torvalds 2005-04-16 391 BUG_ON(!PageLocked(page)); ebab89909e0dc7 Anton Altaparmakov 2007-11-03 392 vi = page->mapping->host; ebab89909e0dc7 Anton Altaparmakov 2007-11-03 393 i_size = i_size_read(vi); ebab89909e0dc7 Anton Altaparmakov 2007-11-03 394 /* Is the page fully outside i_size? (truncate in progress) */ 09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 395 if (unlikely(page->index >= (i_size + PAGE_SIZE - 1) >> 09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 396 PAGE_SHIFT)) { 09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 397 zero_user(page, 0, PAGE_SIZE); ebab89909e0dc7 Anton Altaparmakov 2007-11-03 398 ntfs_debug("Read outside i_size - truncated?"); ebab89909e0dc7 Anton Altaparmakov 2007-11-03 399 goto done; ebab89909e0dc7 Anton Altaparmakov 2007-11-03 400 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 401 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 402 * This can potentially happen because we clear PageUptodate() during ^1da177e4c3f41 Linus Torvalds 2005-04-16 403 * ntfs_writepage() of MstProtected() attributes. ^1da177e4c3f41 Linus Torvalds 2005-04-16 404 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 405 if (PageUptodate(page)) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 406 unlock_page(page); ^1da177e4c3f41 Linus Torvalds 2005-04-16 407 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 408 } f6098cf449b81c Anton Altaparmakov 2005-09-19 409 ni = NTFS_I(vi); ^1da177e4c3f41 Linus Torvalds 2005-04-16 410 /* 311120eca00130 Anton Altaparmakov 2005-09-08 411 * Only $DATA attributes can be encrypted and only unnamed $DATA 311120eca00130 Anton Altaparmakov 2005-09-08 412 * attributes can be compressed. Index root can have the flags set but 311120eca00130 Anton Altaparmakov 2005-09-08 413 * this means to create compressed/encrypted files, not that the 4e64c88693fde1 Anton Altaparmakov 2005-09-19 414 * attribute is compressed/encrypted. Note we need to check for 4e64c88693fde1 Anton Altaparmakov 2005-09-19 415 * AT_INDEX_ALLOCATION since this is the type of both directory and 4e64c88693fde1 Anton Altaparmakov 2005-09-19 416 * index inodes. ^1da177e4c3f41 Linus Torvalds 2005-04-16 417 */ 4e64c88693fde1 Anton Altaparmakov 2005-09-19 418 if (ni->type != AT_INDEX_ALLOCATION) { 311120eca00130 Anton Altaparmakov 2005-09-08 419 /* If attribute is encrypted, deny access, just like NT4. */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 420 if (NInoEncrypted(ni)) { 311120eca00130 Anton Altaparmakov 2005-09-08 421 BUG_ON(ni->type != AT_DATA); ^1da177e4c3f41 Linus Torvalds 2005-04-16 422 err = -EACCES; ^1da177e4c3f41 Linus Torvalds 2005-04-16 423 goto err_out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 424 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 425 /* Compressed data streams are handled in compress.c. */ 311120eca00130 Anton Altaparmakov 2005-09-08 426 if (NInoNonResident(ni) && NInoCompressed(ni)) { 311120eca00130 Anton Altaparmakov 2005-09-08 427 BUG_ON(ni->type != AT_DATA); 311120eca00130 Anton Altaparmakov 2005-09-08 428 BUG_ON(ni->name_len); ^1da177e4c3f41 Linus Torvalds 2005-04-16 429 return ntfs_read_compressed_block(page); ^1da177e4c3f41 Linus Torvalds 2005-04-16 430 } 311120eca00130 Anton Altaparmakov 2005-09-08 431 } 311120eca00130 Anton Altaparmakov 2005-09-08 432 /* NInoNonResident() == NInoIndexAllocPresent() */ 311120eca00130 Anton Altaparmakov 2005-09-08 433 if (NInoNonResident(ni)) { 311120eca00130 Anton Altaparmakov 2005-09-08 434 /* Normal, non-resident data stream. */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 435 return ntfs_read_block(page); ^1da177e4c3f41 Linus Torvalds 2005-04-16 436 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 437 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 438 * Attribute is resident, implying it is not compressed or encrypted. ^1da177e4c3f41 Linus Torvalds 2005-04-16 439 * This also means the attribute is smaller than an mft record and ^1da177e4c3f41 Linus Torvalds 2005-04-16 440 * hence smaller than a page, so can simply zero out any pages with 311120eca00130 Anton Altaparmakov 2005-09-08 441 * index above 0. Note the attribute can actually be marked compressed 311120eca00130 Anton Altaparmakov 2005-09-08 442 * but if it is resident the actual data is not compressed so we are 311120eca00130 Anton Altaparmakov 2005-09-08 443 * ok to ignore the compressed flag here. ^1da177e4c3f41 Linus Torvalds 2005-04-16 444 */ b6ad6c52fe36ab Anton Altaparmakov 2005-02-15 445 if (unlikely(page->index > 0)) { 09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 446 zero_user(page, 0, PAGE_SIZE); ^1da177e4c3f41 Linus Torvalds 2005-04-16 447 goto done; ^1da177e4c3f41 Linus Torvalds 2005-04-16 448 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 449 if (!NInoAttr(ni)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 450 base_ni = ni; ^1da177e4c3f41 Linus Torvalds 2005-04-16 451 else ^1da177e4c3f41 Linus Torvalds 2005-04-16 452 base_ni = ni->ext.base_ntfs_ino; ^1da177e4c3f41 Linus Torvalds 2005-04-16 453 /* Map, pin, and lock the mft record. */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 454 mrec = map_mft_record(base_ni); ^1da177e4c3f41 Linus Torvalds 2005-04-16 455 if (IS_ERR(mrec)) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 456 err = PTR_ERR(mrec); ^1da177e4c3f41 Linus Torvalds 2005-04-16 457 goto err_out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 458 } 905685f68fc728 Anton Altaparmakov 2005-03-10 459 /* 905685f68fc728 Anton Altaparmakov 2005-03-10 460 * If a parallel write made the attribute non-resident, drop the mft 905685f68fc728 Anton Altaparmakov 2005-03-10 461 * record and retry the readpage. 905685f68fc728 Anton Altaparmakov 2005-03-10 462 */ 905685f68fc728 Anton Altaparmakov 2005-03-10 463 if (unlikely(NInoNonResident(ni))) { 905685f68fc728 Anton Altaparmakov 2005-03-10 464 unmap_mft_record(base_ni); 905685f68fc728 Anton Altaparmakov 2005-03-10 465 goto retry_readpage; 905685f68fc728 Anton Altaparmakov 2005-03-10 466 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 467 ctx = ntfs_attr_get_search_ctx(base_ni, mrec); ^1da177e4c3f41 Linus Torvalds 2005-04-16 468 if (unlikely(!ctx)) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 469 err = -ENOMEM; ^1da177e4c3f41 Linus Torvalds 2005-04-16 470 goto unm_err_out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 471 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 472 err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, ^1da177e4c3f41 Linus Torvalds 2005-04-16 473 CASE_SENSITIVE, 0, NULL, 0, ctx); ^1da177e4c3f41 Linus Torvalds 2005-04-16 474 if (unlikely(err)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 475 goto put_unm_err_out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 476 attr_len = le32_to_cpu(ctx->attr->data.resident.value_length); b6ad6c52fe36ab Anton Altaparmakov 2005-02-15 477 read_lock_irqsave(&ni->size_lock, flags); b6ad6c52fe36ab Anton Altaparmakov 2005-02-15 478 if (unlikely(attr_len > ni->initialized_size)) b6ad6c52fe36ab Anton Altaparmakov 2005-02-15 479 attr_len = ni->initialized_size; f6098cf449b81c Anton Altaparmakov 2005-09-19 480 i_size = i_size_read(vi); b6ad6c52fe36ab Anton Altaparmakov 2005-02-15 481 read_unlock_irqrestore(&ni->size_lock, flags); f6098cf449b81c Anton Altaparmakov 2005-09-19 482 if (unlikely(attr_len > i_size)) { f6098cf449b81c Anton Altaparmakov 2005-09-19 483 /* Race with shrinking truncate. */ f6098cf449b81c Anton Altaparmakov 2005-09-19 484 attr_len = i_size; f6098cf449b81c Anton Altaparmakov 2005-09-19 485 } a3ac1414eb6011 Cong Wang 2011-11-25 486 addr = kmap_atomic(page); ^1da177e4c3f41 Linus Torvalds 2005-04-16 487 /* Copy the data to the page. */ bfab36e81611e6 Anton Altaparmakov 2007-10-12 488 memcpy(addr, (u8*)ctx->attr + ^1da177e4c3f41 Linus Torvalds 2005-04-16 489 le16_to_cpu(ctx->attr->data.resident.value_offset), ^1da177e4c3f41 Linus Torvalds 2005-04-16 490 attr_len); ^1da177e4c3f41 Linus Torvalds 2005-04-16 491 /* Zero the remainder of the page. */ 09cbfeaf1a5a67 Kirill A. Shutemov 2016-04-01 492 memset(addr + attr_len, 0, PAGE_SIZE - attr_len); ^1da177e4c3f41 Linus Torvalds 2005-04-16 493 flush_dcache_page(page); a3ac1414eb6011 Cong Wang 2011-11-25 494 kunmap_atomic(addr); ^1da177e4c3f41 Linus Torvalds 2005-04-16 495 put_unm_err_out: ^1da177e4c3f41 Linus Torvalds 2005-04-16 496 ntfs_attr_put_search_ctx(ctx); ^1da177e4c3f41 Linus Torvalds 2005-04-16 497 unm_err_out: ^1da177e4c3f41 Linus Torvalds 2005-04-16 498 unmap_mft_record(base_ni); ^1da177e4c3f41 Linus Torvalds 2005-04-16 499 done: ^1da177e4c3f41 Linus Torvalds 2005-04-16 500 SetPageUptodate(page); ^1da177e4c3f41 Linus Torvalds 2005-04-16 501 err_out: ^1da177e4c3f41 Linus Torvalds 2005-04-16 502 unlock_page(page); ^1da177e4c3f41 Linus Torvalds 2005-04-16 503 return err; ^1da177e4c3f41 Linus Torvalds 2005-04-16 504 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 505 :::::: The code at line 378 was first introduced by commit :::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2 :::::: TO: Linus Torvalds <torva...@ppc970.osdl.org> :::::: CC: Linus Torvalds <torva...@ppc970.osdl.org> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip