Re: fs/dlm/midcomms.c:913:22: sparse: sparse: restricted __le32 degrades to integer

From: Randy Dunlap
Date: Sat Jan 22 2022 - 14:19:08 EST




On 1/22/22 10:28, Alexander Aring wrote:
> Hi,
>
> On Fri, Jan 21, 2022 at 9:45 PM kernel test robot <lkp@xxxxxxxxx> wrote:
>>
>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head: 9b57f458985742bd1c585f4c7f36d04634ce1143
>> commit: 658bd576f95ed597e519cdadf1c86ac87c17aea5 fs: dlm: move version conversion to compile time
>> date: 3 months ago
>> config: x86_64-rhel-8.3-kselftests (https://download.01.org/0day-ci/archive/20220122/202201221028.YKA8kSdm-lkp@xxxxxxxxx/config)
>> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
>> reproduce:
>> # apt-get install sparse
>> # sparse version: v0.6.4-dirty
>> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=658bd576f95ed597e519cdadf1c86ac87c17aea5
>> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>> git fetch --no-tags linus master
>> git checkout 658bd576f95ed597e519cdadf1c86ac87c17aea5
>> # save the config file to linux build tree
>> mkdir build_dir
>> make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash
>>
>> If you fix the issue, kindly add following tag as appropriate
>
> I have it on my list but it isn't easy to make sparse happy here...
> this is the second time the robot reported this issue. Is there a way
> to turn the robot off in that case?
>
> Maybe some human who reads that knows the answer?

Hi Alex,

In the source file, you can surround the "offending" line(s) with

#ifndef __CHECKER__
...
#endif

to prevent sparse from checking those lines.
Sometimes there needs to be an "#else" branch also.

'git grep __CHECKER__' will show you quite a few other examples.

kernel test robot might have a different way to disable this test
for a specific source file. I dunno.

--
~Randy