Re: lib/zstd/compress/huf_compress.c:460 HUF_getIndex() warn: the 'RANK_POSITION_LOG_BUCKETS_BEGIN' macro might need parens

From: Nick Terrell
Date: Tue Jan 10 2023 - 18:21:26 EST




> On Dec 24, 2022, at 11:35 AM, Dan Carpenter <error27@xxxxxxxxx> wrote:
>
> !-------------------------------------------------------------------|
> This Message Is From an External Sender
>
> |-------------------------------------------------------------------!
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 72a85e2b0a1e1e6fb4ee51ae902730212b2de25c
> commit: 2aa14b1ab2c41a4fe41efae80d58bb77da91f19f zstd: import usptream v1.5.2
> config: parisc-randconfig-m041-20221219
> compiler: hppa-linux-gcc (GCC) 12.1.0
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Reported-by: Dan Carpenter <error27@xxxxxxxxx>
>
> smatch warnings:
> lib/zstd/compress/huf_compress.c:460 HUF_getIndex() warn: the 'RANK_POSITION_LOG_BUCKETS_BEGIN' macro might need parens
> lib/zstd/compress/huf_compress.c:460 HUF_getIndex() warn: the 'RANK_POSITION_LOG_BUCKETS_BEGIN' macro might need parens
> lib/zstd/decompress/zstd_decompress_internal.h:206 ZSTD_DCtx_get_bmi2() warn: inconsistent indenting
> lib/zstd/decompress/zstd_decompress_block.c:894 ZSTD_execSequenceEnd() warn: inconsistent indenting
> lib/zstd/decompress/zstd_decompress_block.c:942 ZSTD_execSequenceEndSplitLitBuffer() warn: inconsistent indenting
> lib/zstd/decompress/zstd_decompress_block.c:1009 ZSTD_execSequence() warn: inconsistent indenting
>
> vim +/RANK_POSITION_LOG_BUCKETS_BEGIN +460 lib/zstd/compress/huf_compress.c
>
> 2aa14b1ab2c41a Nick Terrell 2022-10-17 457 static U32 HUF_getIndex(U32 const count) {
> 2aa14b1ab2c41a Nick Terrell 2022-10-17 458 return (count < RANK_POSITION_DISTINCT_COUNT_CUTOFF)
> 2aa14b1ab2c41a Nick Terrell 2022-10-17 459 ? count
> 2aa14b1ab2c41a Nick Terrell 2022-10-17 @460 : BIT_highbit32(count) + RANK_POSITION_LOG_BUCKETS_BEGIN;
>
> This define looks like:
>
> #define RANK_POSITION_LOG_BUCKETS_BEGIN (RANK_POSITION_TABLE_SIZE - 1) - RANK_POSITION_MAX_COUNT_LOG - 1 /* == 158 */
>
> So it's a macro expansion issue but harmless.
>
> 2aa14b1ab2c41a Nick Terrell 2022-10-17 461 }

Ah thanks again for the report, this is already fixed upstream in commit ee6475cb [0], but that
isn't in the v1.5.2 release which we merged into the kernel.

I'll go ahead and backport that commit, and fix the indentation issues upstream and backport
them as well.

Best,
Nick Terrell

[0] https://github.com/facebook/zstd/commit/ee6475cbbd04408e721c4daa87d993faf3b3c1cf

> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp
>