From: kernel test robot <lkp@intel.com>
To: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
linux-fsdevel@vger.kernel.org
Cc: kbuild-all@lists.01.org, viro@zeniv.linux.org.uk,
linux-kernel@vger.kernel.org, pali@kernel.org, dsterba@suse.cz,
aaptel@suse.com, willy@infradead.org, rdunlap@infradead.org,
joe@perches.com, mark@harmstone.com
Subject: Re: [PATCH v14 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile
Date: Sat, 5 Dec 2020 02:51:41 +0800 [thread overview]
Message-ID: <202012050214.Cot1Fk27-lkp@intel.com> (raw)
In-Reply-To: <20201204154600.1546096-10-almaz.alexandrovich@paragon-software.com>
[-- Attachment #1: Type: text/plain, Size: 11855 bytes --]
Hi Konstantin,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc6 next-20201204]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201204-235247
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bbe2ba04c5a92a49db8a42c850a5a2f6481e47eb
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
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
# https://github.com/0day-ci/linux/commit/90b3182a8c96b7a5e9a59ed7a9c9b2d3e22c7ee1
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201204-235247
git checkout 90b3182a8c96b7a5e9a59ed7a9c9b2d3e22c7ee1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> fs/ntfs3/lib/lzx_decompress.c:441:1: warning: no previous prototype for 'lzx_decompress' [-Wmissing-prototypes]
441 | lzx_decompress(struct lzx_decompressor *__restrict d,
| ^~~~~~~~~~~~~~
>> fs/ntfs3/lib/lzx_decompress.c:509:1: warning: no previous prototype for 'lzx_allocate_decompressor' [-Wmissing-prototypes]
509 | lzx_allocate_decompressor(size_t max_block_size)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/ntfs3/lib/lzx_decompress.c:550:1: warning: no previous prototype for 'lzx_free_decompressor' [-Wmissing-prototypes]
550 | lzx_free_decompressor(struct lzx_decompressor *d)
| ^~~~~~~~~~~~~~~~~~~~~
--
>> fs/ntfs3/lib/xpress_decompress.c:84:1: warning: no previous prototype for 'xpress_decompress' [-Wmissing-prototypes]
84 | xpress_decompress(struct xpress_decompressor *__restrict d,
| ^~~~~~~~~~~~~~~~~
>> fs/ntfs3/lib/xpress_decompress.c:155:1: warning: no previous prototype for 'xpress_allocate_decompressor' [-Wmissing-prototypes]
155 | xpress_allocate_decompressor(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/ntfs3/lib/xpress_decompress.c:162:1: warning: no previous prototype for 'xpress_free_decompressor' [-Wmissing-prototypes]
162 | xpress_free_decompressor(struct xpress_decompressor *d)
| ^~~~~~~~~~~~~~~~~~~~~~~~
vim +/lzx_decompress +441 fs/ntfs3/lib/lzx_decompress.c
f08c356f4019dd Konstantin Komarov 2020-12-04 439
f08c356f4019dd Konstantin Komarov 2020-12-04 440 int
f08c356f4019dd Konstantin Komarov 2020-12-04 @441 lzx_decompress(struct lzx_decompressor *__restrict d,
f08c356f4019dd Konstantin Komarov 2020-12-04 442 const void *__restrict compressed_data, size_t compressed_size,
f08c356f4019dd Konstantin Komarov 2020-12-04 443 void *__restrict uncompressed_data, size_t uncompressed_size)
f08c356f4019dd Konstantin Komarov 2020-12-04 444 {
f08c356f4019dd Konstantin Komarov 2020-12-04 445 u8 * const out_begin = uncompressed_data;
f08c356f4019dd Konstantin Komarov 2020-12-04 446 u8 *out_next = out_begin;
f08c356f4019dd Konstantin Komarov 2020-12-04 447 u8 * const out_end = out_begin + uncompressed_size;
f08c356f4019dd Konstantin Komarov 2020-12-04 448 struct input_bitstream is;
f08c356f4019dd Konstantin Komarov 2020-12-04 449 u32 recent_offsets[LZX_NUM_RECENT_OFFSETS] = {1, 1, 1};
f08c356f4019dd Konstantin Komarov 2020-12-04 450 u32 may_have_e8_byte = 0;
f08c356f4019dd Konstantin Komarov 2020-12-04 451
f08c356f4019dd Konstantin Komarov 2020-12-04 452 STATIC_ASSERT(LZX_NUM_RECENT_OFFSETS == 3);
f08c356f4019dd Konstantin Komarov 2020-12-04 453
f08c356f4019dd Konstantin Komarov 2020-12-04 454 init_input_bitstream(&is, compressed_data, compressed_size);
f08c356f4019dd Konstantin Komarov 2020-12-04 455
f08c356f4019dd Konstantin Komarov 2020-12-04 456 /* Codeword lengths begin as all 0's for delta encoding purposes. */
f08c356f4019dd Konstantin Komarov 2020-12-04 457 memset(d->maincode_lens, 0, d->num_main_syms);
f08c356f4019dd Konstantin Komarov 2020-12-04 458 memset(d->lencode_lens, 0, LZX_LENCODE_NUM_SYMBOLS);
f08c356f4019dd Konstantin Komarov 2020-12-04 459
f08c356f4019dd Konstantin Komarov 2020-12-04 460 /* Decompress blocks until we have all the uncompressed data. */
f08c356f4019dd Konstantin Komarov 2020-12-04 461
f08c356f4019dd Konstantin Komarov 2020-12-04 462 while (out_next != out_end) {
f08c356f4019dd Konstantin Komarov 2020-12-04 463 int block_type;
f08c356f4019dd Konstantin Komarov 2020-12-04 464 u32 block_size;
f08c356f4019dd Konstantin Komarov 2020-12-04 465
f08c356f4019dd Konstantin Komarov 2020-12-04 466 if (lzx_read_block_header(d, &is, recent_offsets,
f08c356f4019dd Konstantin Komarov 2020-12-04 467 &block_type, &block_size))
f08c356f4019dd Konstantin Komarov 2020-12-04 468 return -1;
f08c356f4019dd Konstantin Komarov 2020-12-04 469
f08c356f4019dd Konstantin Komarov 2020-12-04 470 if (block_size < 1 || block_size > out_end - out_next)
f08c356f4019dd Konstantin Komarov 2020-12-04 471 return -1;
f08c356f4019dd Konstantin Komarov 2020-12-04 472
f08c356f4019dd Konstantin Komarov 2020-12-04 473 if (likely(block_type != LZX_BLOCKTYPE_UNCOMPRESSED)) {
f08c356f4019dd Konstantin Komarov 2020-12-04 474
f08c356f4019dd Konstantin Komarov 2020-12-04 475 /* Compressed block */
f08c356f4019dd Konstantin Komarov 2020-12-04 476 if (lzx_decompress_block(d, &is, block_type, block_size,
f08c356f4019dd Konstantin Komarov 2020-12-04 477 out_begin, out_next,
f08c356f4019dd Konstantin Komarov 2020-12-04 478 recent_offsets))
f08c356f4019dd Konstantin Komarov 2020-12-04 479 return -1;
f08c356f4019dd Konstantin Komarov 2020-12-04 480
f08c356f4019dd Konstantin Komarov 2020-12-04 481 /* If the first E8 byte was in this block, then it must
f08c356f4019dd Konstantin Komarov 2020-12-04 482 * have been encoded as a literal using mainsym E8.
f08c356f4019dd Konstantin Komarov 2020-12-04 483 */
f08c356f4019dd Konstantin Komarov 2020-12-04 484 may_have_e8_byte |= d->maincode_lens[0xE8];
f08c356f4019dd Konstantin Komarov 2020-12-04 485 } else {
f08c356f4019dd Konstantin Komarov 2020-12-04 486
f08c356f4019dd Konstantin Komarov 2020-12-04 487 /* Uncompressed block */
f08c356f4019dd Konstantin Komarov 2020-12-04 488 if (bitstream_read_bytes(&is, out_next, block_size))
f08c356f4019dd Konstantin Komarov 2020-12-04 489 return -1;
f08c356f4019dd Konstantin Komarov 2020-12-04 490
f08c356f4019dd Konstantin Komarov 2020-12-04 491 /* Re-align the bitstream if needed. */
f08c356f4019dd Konstantin Komarov 2020-12-04 492 if (block_size & 1)
f08c356f4019dd Konstantin Komarov 2020-12-04 493 bitstream_read_byte(&is);
f08c356f4019dd Konstantin Komarov 2020-12-04 494
f08c356f4019dd Konstantin Komarov 2020-12-04 495 /* There may have been an E8 byte in the block. */
f08c356f4019dd Konstantin Komarov 2020-12-04 496 may_have_e8_byte = 1;
f08c356f4019dd Konstantin Komarov 2020-12-04 497 }
f08c356f4019dd Konstantin Komarov 2020-12-04 498 out_next += block_size;
f08c356f4019dd Konstantin Komarov 2020-12-04 499 }
f08c356f4019dd Konstantin Komarov 2020-12-04 500
f08c356f4019dd Konstantin Komarov 2020-12-04 501 /* Postprocess the data unless it cannot possibly contain E8 bytes. */
f08c356f4019dd Konstantin Komarov 2020-12-04 502 if (may_have_e8_byte)
f08c356f4019dd Konstantin Komarov 2020-12-04 503 lzx_postprocess(uncompressed_data, uncompressed_size);
f08c356f4019dd Konstantin Komarov 2020-12-04 504
f08c356f4019dd Konstantin Komarov 2020-12-04 505 return 0;
f08c356f4019dd Konstantin Komarov 2020-12-04 506 }
f08c356f4019dd Konstantin Komarov 2020-12-04 507
f08c356f4019dd Konstantin Komarov 2020-12-04 508 struct lzx_decompressor *
f08c356f4019dd Konstantin Komarov 2020-12-04 @509 lzx_allocate_decompressor(size_t max_block_size)
f08c356f4019dd Konstantin Komarov 2020-12-04 510 {
f08c356f4019dd Konstantin Komarov 2020-12-04 511 u32 window_order;
f08c356f4019dd Konstantin Komarov 2020-12-04 512 struct lzx_decompressor *d;
f08c356f4019dd Konstantin Komarov 2020-12-04 513 u32 offset_slot;
f08c356f4019dd Konstantin Komarov 2020-12-04 514
f08c356f4019dd Konstantin Komarov 2020-12-04 515 /*
f08c356f4019dd Konstantin Komarov 2020-12-04 516 * ntfs uses lzx only as max_block_size == 0x8000
f08c356f4019dd Konstantin Komarov 2020-12-04 517 * this value certainly will not fail
f08c356f4019dd Konstantin Komarov 2020-12-04 518 * we can remove lzx_get_window_order + ilog2_ceil + bsrw
f08c356f4019dd Konstantin Komarov 2020-12-04 519 */
f08c356f4019dd Konstantin Komarov 2020-12-04 520 WARN_ON(max_block_size != 0x8000);
f08c356f4019dd Konstantin Komarov 2020-12-04 521
f08c356f4019dd Konstantin Komarov 2020-12-04 522 window_order = lzx_get_window_order(max_block_size);
f08c356f4019dd Konstantin Komarov 2020-12-04 523 if (window_order == 0)
f08c356f4019dd Konstantin Komarov 2020-12-04 524 return ERR_PTR(-EINVAL);
f08c356f4019dd Konstantin Komarov 2020-12-04 525
f08c356f4019dd Konstantin Komarov 2020-12-04 526 d = aligned_malloc(sizeof(*d), DECODE_TABLE_ALIGNMENT);
f08c356f4019dd Konstantin Komarov 2020-12-04 527 if (!d)
f08c356f4019dd Konstantin Komarov 2020-12-04 528 return NULL;
f08c356f4019dd Konstantin Komarov 2020-12-04 529
f08c356f4019dd Konstantin Komarov 2020-12-04 530 d->window_order = window_order;
f08c356f4019dd Konstantin Komarov 2020-12-04 531 d->num_main_syms = lzx_get_num_main_syms(window_order);
f08c356f4019dd Konstantin Komarov 2020-12-04 532
f08c356f4019dd Konstantin Komarov 2020-12-04 533 /* Initialize 'd->extra_offset_bits_minus_aligned'. */
f08c356f4019dd Konstantin Komarov 2020-12-04 534 STATIC_ASSERT(sizeof(d->extra_offset_bits_minus_aligned) ==
f08c356f4019dd Konstantin Komarov 2020-12-04 535 sizeof(lzx_extra_offset_bits));
f08c356f4019dd Konstantin Komarov 2020-12-04 536 STATIC_ASSERT(sizeof(d->extra_offset_bits) ==
f08c356f4019dd Konstantin Komarov 2020-12-04 537 sizeof(lzx_extra_offset_bits));
f08c356f4019dd Konstantin Komarov 2020-12-04 538 memcpy(d->extra_offset_bits_minus_aligned, lzx_extra_offset_bits,
f08c356f4019dd Konstantin Komarov 2020-12-04 539 sizeof(lzx_extra_offset_bits));
f08c356f4019dd Konstantin Komarov 2020-12-04 540 for (offset_slot = LZX_MIN_ALIGNED_OFFSET_SLOT;
f08c356f4019dd Konstantin Komarov 2020-12-04 541 offset_slot < LZX_MAX_OFFSET_SLOTS; offset_slot++) {
f08c356f4019dd Konstantin Komarov 2020-12-04 542 d->extra_offset_bits_minus_aligned[offset_slot] -=
f08c356f4019dd Konstantin Komarov 2020-12-04 543 LZX_NUM_ALIGNED_OFFSET_BITS;
f08c356f4019dd Konstantin Komarov 2020-12-04 544 }
f08c356f4019dd Konstantin Komarov 2020-12-04 545
f08c356f4019dd Konstantin Komarov 2020-12-04 546 return d;
f08c356f4019dd Konstantin Komarov 2020-12-04 547 }
f08c356f4019dd Konstantin Komarov 2020-12-04 548
f08c356f4019dd Konstantin Komarov 2020-12-04 549 void
f08c356f4019dd Konstantin Komarov 2020-12-04 @550 lzx_free_decompressor(struct lzx_decompressor *d)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 53580 bytes --]
next prev parent reply other threads:[~2020-12-04 18:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-04 15:45 [PATCH v14 00/10] NTFS read-write driver GPL implementation by Paragon Software Konstantin Komarov
2020-12-04 15:45 ` [PATCH v14 01/10] fs/ntfs3: Add headers and misc files Konstantin Komarov
2020-12-04 15:45 ` [PATCH v14 02/10] fs/ntfs3: Add initialization of super block Konstantin Komarov
2020-12-04 15:45 ` [PATCH v14 03/10] fs/ntfs3: Add bitmap Konstantin Komarov
2020-12-04 15:45 ` [PATCH v14 04/10] fs/ntfs3: Add file operations and implementation Konstantin Komarov
2020-12-04 18:41 ` Eric Biggers
2020-12-11 16:31 ` Konstantin Komarov
2020-12-25 14:27 ` Konstantin Komarov
2020-12-04 15:45 ` [PATCH v14 05/10] fs/ntfs3: Add attrib operations Konstantin Komarov
2020-12-04 15:45 ` [PATCH v14 06/10] fs/ntfs3: Add compression Konstantin Komarov
2020-12-04 18:38 ` Eric Biggers
2020-12-11 16:28 ` Konstantin Komarov
2020-12-25 14:29 ` Konstantin Komarov
2020-12-04 15:45 ` [PATCH v14 07/10] fs/ntfs3: Add NTFS journal Konstantin Komarov
2020-12-04 15:45 ` [PATCH v14 08/10] fs/ntfs3: Add Kconfig, Makefile and doc Konstantin Komarov
2020-12-04 15:45 ` [PATCH v14 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile Konstantin Komarov
2020-12-04 18:51 ` kernel test robot [this message]
2020-12-05 0:41 ` kernel test robot
2020-12-04 15:46 ` [PATCH v14 10/10] fs/ntfs3: Add MAINTAINERS Konstantin Komarov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202012050214.Cot1Fk27-lkp@intel.com \
--to=lkp@intel.com \
--cc=aaptel@suse.com \
--cc=almaz.alexandrovich@paragon-software.com \
--cc=dsterba@suse.cz \
--cc=joe@perches.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark@harmstone.com \
--cc=pali@kernel.org \
--cc=rdunlap@infradead.org \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox