* Re: [PATCH 3/9] string: Add Kunit tests for strcat() family
[not found] <20230406000212.3442647-3-keescook@chromium.org>
@ 2023-04-06 4:19 ` kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-04-06 4:19 UTC (permalink / raw)
To: Kees Cook, linux-hardening
Cc: oe-kbuild-all, Kees Cook, Andy Shevchenko, Cezary Rojewski,
Puyou Lu, Mark Brown, Josh Poimboeuf, Brendan Higgins, David Gow,
Andrew Morton, Linux Memory Management List, Nathan Chancellor,
Alexander Potapenko, Zhaoyang Huang, Randy Dunlap,
Geert Uytterhoeven, Miguel Ojeda, Nick Desaulniers, Liam Howlett,
Vlastimil Babka, Dan Williams, Rasmus Villemoes, Yury Norov,
Jason A. Donenfeld, Sander Vanheule, Eric Biggers,
Masami Hiramatsu (Google),
Andrey Konovalov, Linus Walleij
Hi Kees,
kernel test robot noticed the following build warnings:
[auto build test WARNING on kees/for-next/hardening]
[also build test WARNING on kees/for-next/pstore kees/for-next/kspp akpm-mm/mm-everything linus/master v6.3-rc5 next-20230405]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Kees-Cook/kunit-tool-Enable-CONFIG_FORTIFY_SOURCE-under-UML/20230406-081014
base: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
patch link: https://lore.kernel.org/r/20230406000212.3442647-3-keescook%40chromium.org
patch subject: [PATCH 3/9] string: Add Kunit tests for strcat() family
config: riscv-randconfig-r042-20230403 (https://download.01.org/0day-ci/archive/20230406/202304061243.Bx5SK1xq-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 12.1.0
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://github.com/intel-lab-lkp/linux/commit/1cdc1d7eeb09497f84367bfc2919d5fcc380e454
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Kees-Cook/kunit-tool-Enable-CONFIG_FORTIFY_SOURCE-under-UML/20230406-081014
git checkout 1cdc1d7eeb09497f84367bfc2919d5fcc380e454
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304061243.Bx5SK1xq-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/err.h:5,
from include/kunit/assert.h:12,
from include/kunit/test.h:12,
from lib/strcat_kunit.c:8:
lib/strcat_kunit.c: In function 'strncat_test':
>> lib/strcat_kunit.c:52:33: warning: 'strncat' output truncated copying 2 bytes from a string of length 4 [-Wstringop-truncation]
52 | KUNIT_EXPECT_TRUE(test, strncat(dest, "ABCD", 2) == dest);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:77:45: note: in definition of macro 'likely'
77 | # define likely(x) __builtin_expect(!!(x), 1)
| ^
include/kunit/test.h:545:9: note: in expansion of macro 'KUNIT_UNARY_ASSERTION'
545 | KUNIT_UNARY_ASSERTION(test, \
| ^~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:736:9: note: in expansion of macro 'KUNIT_TRUE_MSG_ASSERTION'
736 | KUNIT_TRUE_MSG_ASSERTION(test, \
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:733:9: note: in expansion of macro 'KUNIT_EXPECT_TRUE_MSG'
733 | KUNIT_EXPECT_TRUE_MSG(test, condition, NULL)
| ^~~~~~~~~~~~~~~~~~~~~
lib/strcat_kunit.c:52:9: note: in expansion of macro 'KUNIT_EXPECT_TRUE'
52 | KUNIT_EXPECT_TRUE(test, strncat(dest, "ABCD", 2) == dest);
| ^~~~~~~~~~~~~~~~~
vim +/strncat +52 lib/strcat_kunit.c
29
30 static void strncat_test(struct kunit *test)
31 {
32 char dest[8];
33
34 /* Destination is terminated. */
35 memset(dest, 0, sizeof(dest));
36 KUNIT_EXPECT_EQ(test, strlen(dest), 0);
37 /* Empty copy of size 0 does nothing. */
38 KUNIT_EXPECT_TRUE(test, strncat(dest, "", 0) == dest);
39 KUNIT_EXPECT_STREQ(test, dest, "");
40 /* Empty copy of size 1 does nothing too. */
41 KUNIT_EXPECT_TRUE(test, strncat(dest, "", 1) == dest);
42 KUNIT_EXPECT_STREQ(test, dest, "");
43 /* Copy of max 0 characters should do nothing. */
44 KUNIT_EXPECT_TRUE(test, strncat(dest, "asdf", 0) == dest);
45 KUNIT_EXPECT_STREQ(test, dest, "");
46
47 /* 4 characters copied in, even if max is 8. */
48 KUNIT_EXPECT_TRUE(test, strncat(dest, "four\000123", 8) == dest);
49 KUNIT_EXPECT_STREQ(test, dest, "four");
50 KUNIT_EXPECT_EQ(test, dest[5], '\0');
51 /* 2 characters copied in okay, 2 ignored. */
> 52 KUNIT_EXPECT_TRUE(test, strncat(dest, "ABCD", 2) == dest);
53 KUNIT_EXPECT_STREQ(test, dest, "fourAB");
54 }
55
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-04-06 4:20 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20230406000212.3442647-3-keescook@chromium.org>
2023-04-06 4:19 ` [PATCH 3/9] string: Add Kunit tests for strcat() family kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox