* include/linux/sunrpc/xdr.h:734:10: warning: result of comparison of constant 4611686018427387903 with expression of type '__u32' (aka 'unsigned int') is always false
@ 2022-03-25 17:27 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-03-25 17:27 UTC (permalink / raw)
To: Dan Carpenter; +Cc: llvm, kbuild-all, linux-kernel, Chuck Lever
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 34af78c4e616c359ed428d79fe4758a35d2c5473
commit: 23a9dbbe0faf124fc4c139615633b9d12a3a89ef NFSD: prevent integer overflow on 32 bit systems
date: 10 days ago
config: x86_64-randconfig-a012 (https://download.01.org/0day-ci/archive/20220326/202203260009.5SM2MiP9-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0f6d9501cf49ce02937099350d08f20c4af86f3d)
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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=23a9dbbe0faf124fc4c139615633b9d12a3a89ef
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 23a9dbbe0faf124fc4c139615633b9d12a3a89ef
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/sunrpc/auth_gss/
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 >>):
In file included from net/sunrpc/auth_gss/gss_generic_token.c:37:
In file included from include/linux/sunrpc/sched.h:19:
>> include/linux/sunrpc/xdr.h:734:10: warning: result of comparison of constant 4611686018427387903 with expression of type '__u32' (aka 'unsigned int') is always false [-Wtautological-constant-out-of-range-compare]
if (len > SIZE_MAX / sizeof(*p))
~~~ ^ ~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +734 include/linux/sunrpc/xdr.h
712
713 /**
714 * xdr_stream_decode_uint32_array - Decode variable length array of integers
715 * @xdr: pointer to xdr_stream
716 * @array: location to store the integer array or NULL
717 * @array_size: number of elements to store
718 *
719 * Return values:
720 * On success, returns number of elements stored in @array
721 * %-EBADMSG on XDR buffer overflow
722 * %-EMSGSIZE if the size of the array exceeds @array_size
723 */
724 static inline ssize_t
725 xdr_stream_decode_uint32_array(struct xdr_stream *xdr,
726 __u32 *array, size_t array_size)
727 {
728 __be32 *p;
729 __u32 len;
730 ssize_t retval;
731
732 if (unlikely(xdr_stream_decode_u32(xdr, &len) < 0))
733 return -EBADMSG;
> 734 if (len > SIZE_MAX / sizeof(*p))
735 return -EBADMSG;
736 p = xdr_inline_decode(xdr, len * sizeof(*p));
737 if (unlikely(!p))
738 return -EBADMSG;
739 if (array == NULL)
740 return len;
741 if (len <= array_size) {
742 if (len < array_size)
743 memset(array+len, 0, (array_size-len)*sizeof(*array));
744 array_size = len;
745 retval = len;
746 } else
747 retval = -EMSGSIZE;
748 for (; array_size > 0; p++, array++, array_size--)
749 *array = be32_to_cpup(p);
750 return retval;
751 }
752
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-03-25 17:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-25 17:27 include/linux/sunrpc/xdr.h:734:10: warning: result of comparison of constant 4611686018427387903 with expression of type '__u32' (aka 'unsigned int') is always false kernel test robot
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.