All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Syed Nayyar Waris <syednwaris@gmail.com>
Cc: kbuild-all@lists.01.org, linux-gpio@vger.kernel.org,
	Linus Walleij <linus.walleij@linaro.org>
Subject: [gpio:ib-for-each-clump 4/4] include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
Date: Fri, 17 Jul 2020 03:48:44 +0800	[thread overview]
Message-ID: <202007170339.nHjeGJBw%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4449 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git ib-for-each-clump
head:   3358c938236d6a1be51124fbbb2698e50689d382
commit: 3358c938236d6a1be51124fbbb2698e50689d382 [4/4] gpio: xilinx: Utilize generic bitmap_get_value and _set_value.
config: alpha-randconfig-s031-20200716 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-49-g707c5017-dirty
        git checkout 3358c938236d6a1be51124fbbb2698e50689d382
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=alpha 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

>> include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
>> include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
   include/linux/bitmap.h:594:63: sparse: sparse: shift too big (64) for type unsigned long
>> include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
>> include/linux/bitmap.h:638:17: sparse: sparse: invalid access past the end of 'old' (8 8)

vim +639 include/linux/bitmap.h

169c474fb22d8a5 William Breathitt Gray 2019-12-04  613  
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  614  /**
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  615   * bitmap_set_value - set n-bit value within a memory region
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  616   * @map: address to the bitmap memory region
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  617   * @value: value of nbits
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  618   * @start: bit offset of the n-bit value
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  619   * @nbits: size of value in bits
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  620   */
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  621  static inline void bitmap_set_value(unsigned long *map,
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  622  				    unsigned long value,
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  623  				    unsigned long start, unsigned long nbits)
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  624  {
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  625  	const size_t index = BIT_WORD(start);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  626  	const unsigned long offset = start % BITS_PER_LONG;
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  627  	const unsigned long ceiling = roundup(start + 1, BITS_PER_LONG);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  628  	const unsigned long space = ceiling - start;
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  629  
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  630  	value &= GENMASK(nbits - 1, 0);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  631  
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  632  	if (space >= nbits) {
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  633  		map[index] &= ~(GENMASK(nbits + offset - 1, offset));
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  634  		map[index] |= value << offset;
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  635  	} else {
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  636  		map[index] &= ~BITMAP_FIRST_WORD_MASK(start);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  637  		map[index] |= value << offset;
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27 @638  		map[index + 1] &= ~BITMAP_LAST_WORD_MASK(start + nbits);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27 @639  		map[index + 1] |= (value >> space);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  640  	}
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  641  }
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  642  

:::::: The code at line 639 was first introduced by commit
:::::: e77c9b6f35c4bdfa60c52f137a4b48c04ab87627 bitops: Introduce the for_each_set_clump macro

:::::: TO: Syed Nayyar Waris <syednwaris@gmail.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>

---
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: 27345 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [gpio:ib-for-each-clump 4/4] include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
Date: Fri, 17 Jul 2020 03:48:44 +0800	[thread overview]
Message-ID: <202007170339.nHjeGJBw%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4519 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git ib-for-each-clump
head:   3358c938236d6a1be51124fbbb2698e50689d382
commit: 3358c938236d6a1be51124fbbb2698e50689d382 [4/4] gpio: xilinx: Utilize generic bitmap_get_value and _set_value.
config: alpha-randconfig-s031-20200716 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-49-g707c5017-dirty
        git checkout 3358c938236d6a1be51124fbbb2698e50689d382
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=alpha 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

>> include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
>> include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
   include/linux/bitmap.h:594:63: sparse: sparse: shift too big (64) for type unsigned long
>> include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long
>> include/linux/bitmap.h:638:17: sparse: sparse: invalid access past the end of 'old' (8 8)

vim +639 include/linux/bitmap.h

169c474fb22d8a5 William Breathitt Gray 2019-12-04  613  
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  614  /**
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  615   * bitmap_set_value - set n-bit value within a memory region
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  616   * @map: address to the bitmap memory region
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  617   * @value: value of nbits
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  618   * @start: bit offset of the n-bit value
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  619   * @nbits: size of value in bits
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  620   */
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  621  static inline void bitmap_set_value(unsigned long *map,
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  622  				    unsigned long value,
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  623  				    unsigned long start, unsigned long nbits)
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  624  {
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  625  	const size_t index = BIT_WORD(start);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  626  	const unsigned long offset = start % BITS_PER_LONG;
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  627  	const unsigned long ceiling = roundup(start + 1, BITS_PER_LONG);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  628  	const unsigned long space = ceiling - start;
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  629  
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  630  	value &= GENMASK(nbits - 1, 0);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  631  
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  632  	if (space >= nbits) {
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  633  		map[index] &= ~(GENMASK(nbits + offset - 1, offset));
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  634  		map[index] |= value << offset;
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  635  	} else {
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  636  		map[index] &= ~BITMAP_FIRST_WORD_MASK(start);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  637  		map[index] |= value << offset;
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27 @638  		map[index + 1] &= ~BITMAP_LAST_WORD_MASK(start + nbits);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27 @639  		map[index + 1] |= (value >> space);
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  640  	}
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  641  }
e77c9b6f35c4bdf Syed Nayyar Waris      2020-06-27  642  

:::::: The code at line 639 was first introduced by commit
:::::: e77c9b6f35c4bdfa60c52f137a4b48c04ab87627 bitops: Introduce the for_each_set_clump macro

:::::: TO: Syed Nayyar Waris <syednwaris@gmail.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 27345 bytes --]

             reply	other threads:[~2020-07-16 20:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-16 19:48 kernel test robot [this message]
2020-07-16 19:48 ` [gpio:ib-for-each-clump 4/4] include/linux/bitmap.h:639:45: sparse: sparse: shift too big (64) for type unsigned long kernel test robot
2020-07-16 21:25 ` Andy Shevchenko
2020-07-16 21:25   ` Andy Shevchenko
2020-07-17  4:49   ` Syed Nayyar Waris
2020-07-17  7:14   ` [kbuild-all] " Rong Chen
2020-07-17  7:14     ` Rong Chen

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=202007170339.nHjeGJBw%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=syednwaris@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.