[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <SN6PR06MB5342BF4352A5FF56C119D8FFA5F6A@SN6PR06MB5342.namprd06.prod.outlook.com>
Date: Fri, 15 Sep 2023 11:47:46 -0500
From: Chris Morgan <macromorgan@...mail.com>
To: kernel test robot <lkp@...el.com>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
Dmitry Torokhov <dmitry.torokhov@...il.com>
Subject: Re: include/asm-generic/unaligned.h:119:16: sparse: sparse: cast
truncates bits from constant value (aa01a0 becomes a0)
On Tue, Sep 12, 2023 at 08:46:48AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
> commit: 66603243f5283f7f28c795f09e7c2167233df0bd Input: add driver for Hynitron cstxxx touchscreens
> date: 11 months ago
> config: i386-randconfig-061-20230909 (https://download.01.org/0day-ci/archive/20230912/202309120820.bRjnU9fZ-lkp@intel.com/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230912/202309120820.bRjnU9fZ-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/202309120820.bRjnU9fZ-lkp@intel.com/
>
> sparse warnings: (new ones prefixed by >>)
> drivers/input/touchscreen/hynitron_cstxxx.c: note: in included file (through arch/x86/include/generated/asm/unaligned.h):
> >> include/asm-generic/unaligned.h:119:16: sparse: sparse: cast truncates bits from constant value (aa01a0 becomes a0)
> >> include/asm-generic/unaligned.h:120:20: sparse: sparse: cast truncates bits from constant value (aa01 becomes 1)
> >> include/asm-generic/unaligned.h:119:16: sparse: sparse: cast truncates bits from constant value (ab00d0 becomes d0)
> >> include/asm-generic/unaligned.h:120:20: sparse: sparse: cast truncates bits from constant value (ab00 becomes 0)
>
> vim +119 include/asm-generic/unaligned.h
>
> 803f4e1eab7a89 Arnd Bergmann 2021-05-08 116
> 803f4e1eab7a89 Arnd Bergmann 2021-05-08 117 static inline void __put_unaligned_le24(const u32 val, u8 *p)
> 803f4e1eab7a89 Arnd Bergmann 2021-05-08 118 {
> 803f4e1eab7a89 Arnd Bergmann 2021-05-08 @119 *p++ = val;
> 803f4e1eab7a89 Arnd Bergmann 2021-05-08 @120 *p++ = val >> 8;
> 803f4e1eab7a89 Arnd Bergmann 2021-05-08 121 *p++ = val >> 16;
> 803f4e1eab7a89 Arnd Bergmann 2021-05-08 122 }
> 803f4e1eab7a89 Arnd Bergmann 2021-05-08 123
>
> :::::: The code at line 119 was first introduced by commit
> :::::: 803f4e1eab7a8938ba3a3c30dd4eb5e9eeef5e63 asm-generic: simplify asm/unaligned.h
>
> :::::: TO: Arnd Bergmann <arnd@...db.de>
> :::::: CC: Arnd Bergmann <arnd@...db.de>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
I'm afraid I don't understand the error in question. When I call the
function put_unaligned_le24() I do see that this function then calls
__put_unaligned_le24() which takes part of the value and does cast
it as a u8. Is that what this error is about? Just trying to figure
out the best way to resolve it, sadly I'm not clearly seeing the issue
so I thought I'd ask.
Thank you.
Chris Morgan
Powered by blists - more mailing lists