From: kernel test robot <lkp@intel.com>
To: Kees Cook <keescook@chromium.org>, linux-hardening@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, Kees Cook <keescook@chromium.org>,
Andy Shevchenko <andy@kernel.org>,
Cezary Rojewski <cezary.rojewski@intel.com>,
Puyou Lu <puyou.lu@gmail.com>, Mark Brown <broonie@kernel.org>,
Josh Poimboeuf <jpoimboe@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Brendan Higgins <brendan.higgins@linux.dev>,
David Gow <davidgow@google.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linux Memory Management List <linux-mm@kvack.org>,
Nathan Chancellor <nathan@kernel.org>,
Alexander Potapenko <glider@google.com>,
Zhaoyang Huang <zhaoyang.huang@unisoc.com>,
Randy Dunlap <rdunlap@infradead.org>,
Geert Uytterhoeven <geert+renesas@glider.be>,
Miguel Ojeda <ojeda@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Liam Howlett <liam.howlett@oracle.com>,
Vlastimil Babka <vbabka@suse.cz>,
Dan Williams <dan.j.williams@intel.com>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Yury Norov <yury.norov@gmail.com>,
"Jason A. Donenfeld" <Jason@zx2c4.com>,
Sander Vanheule <sander@svanheule.net>,
Eric Biggers <ebiggers@google.com>,
"Masami Hiramatsu (Google)" <mhiramat@kernel.org>,
Andrey Konovalov <andreyknvl@gmail.com>,
Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH 6/9] fortify: Split reporting and avoid passing string pointer
Date: Fri, 7 Apr 2023 18:26:51 +0800 [thread overview]
Message-ID: <202304071824.648116sH-lkp@intel.com> (raw)
In-Reply-To: <20230406000212.3442647-6-keescook@chromium.org>
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-20230406]
[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-6-keescook%40chromium.org
patch subject: [PATCH 6/9] fortify: Split reporting and avoid passing string pointer
config: arm64-randconfig-s053-20230406 (https://download.01.org/0day-ci/archive/20230407/202304071824.648116sH-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.1.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.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/4fd520e6ee549e1ffe8859e26e57ea64b48e78ea
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 4fd520e6ee549e1ffe8859e26e57ea64b48e78ea
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 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/202304071824.648116sH-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
lib/string_helpers.c:1030:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_strncpy'
lib/string_helpers.c:1033:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_strnlen'
lib/string_helpers.c:1036:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_strlen'
lib/string_helpers.c:1039:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_strlcpy'
lib/string_helpers.c:1042:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_strscpy'
lib/string_helpers.c:1045:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_strlcat'
lib/string_helpers.c:1048:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_strcat'
lib/string_helpers.c:1051:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_strncat'
lib/string_helpers.c:1054:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_memset'
lib/string_helpers.c:1057:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_memcpy'
lib/string_helpers.c:1060:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_memmove'
lib/string_helpers.c:1063:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_memscan'
lib/string_helpers.c:1066:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_memcmp'
lib/string_helpers.c:1069:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_memchr'
lib/string_helpers.c:1072:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_memchr_inv'
lib/string_helpers.c:1075:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_kmemdup'
lib/string_helpers.c:1078:14: sparse: sparse: undefined identifier 'FORTIFY_FUNC_strcpy'
>> lib/string_helpers.c:1030:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1033:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1036:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1039:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1042:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1045:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1048:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1051:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1054:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1057:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1060:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1063:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1066:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1069:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1072:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1075:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1078:14: sparse: sparse: incompatible types for 'case' statement
lib/string_helpers.c:1030:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1033:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1036:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1039:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1042:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1045:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1048:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1051:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1054:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1057:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1060:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1063:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1066:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1069:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1072:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1075:14: sparse: sparse: Expected constant expression in case statement
lib/string_helpers.c:1078:14: sparse: sparse: Expected constant expression in case statement
vim +/case +1030 lib/string_helpers.c
1023
1024 void __fortify_report(u8 reason)
1025 {
1026 const char *name;
1027 const bool write = !!(reason & 0x1);
1028
1029 switch (reason >> 1) {
> 1030 case FORTIFY_FUNC_strncpy:
1031 name = "strncpy";
1032 break;
1033 case FORTIFY_FUNC_strnlen:
1034 name = "strnlen";
1035 break;
1036 case FORTIFY_FUNC_strlen:
1037 name = "strlen";
1038 break;
1039 case FORTIFY_FUNC_strlcpy:
1040 name = "strlcpy";
1041 break;
1042 case FORTIFY_FUNC_strscpy:
1043 name = "strscpy";
1044 break;
1045 case FORTIFY_FUNC_strlcat:
1046 name = "strlcat";
1047 break;
1048 case FORTIFY_FUNC_strcat:
1049 name = "strcat";
1050 break;
1051 case FORTIFY_FUNC_strncat:
1052 name = "strncat";
1053 break;
> 1054 case FORTIFY_FUNC_memset:
1055 name = "memset";
1056 break;
1057 case FORTIFY_FUNC_memcpy:
1058 name = "memcpy";
1059 break;
1060 case FORTIFY_FUNC_memmove:
1061 name = "memmove";
1062 break;
1063 case FORTIFY_FUNC_memscan:
1064 name = "memscan";
1065 break;
1066 case FORTIFY_FUNC_memcmp:
1067 name = "memcmp";
1068 break;
1069 case FORTIFY_FUNC_memchr:
1070 name = "memchr";
1071 break;
1072 case FORTIFY_FUNC_memchr_inv:
1073 name = "memchr_inv";
1074 break;
1075 case FORTIFY_FUNC_kmemdup:
1076 name = "kmemdup";
1077 break;
1078 case FORTIFY_FUNC_strcpy:
1079 name = "strcpy";
1080 break;
1081 default:
1082 name = "unknown";
1083 }
1084 WARN(1, "%s: detected buffer %s overflow\n", name, write ? "write" : "read");
1085 }
1086 EXPORT_SYMBOL(__fortify_report);
1087
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-04-07 10:27 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-06 0:01 [PATCH 0/9] fortify: Add KUnit tests for runtime overflows Kees Cook
2023-04-06 0:02 ` [PATCH 1/9] kunit: tool: Enable CONFIG_FORTIFY_SOURCE under UML Kees Cook
2023-04-06 3:10 ` Kees Cook
2023-04-06 0:02 ` [PATCH 2/9] fortify: Allow KUnit test to build without FORTIFY Kees Cook
2023-04-06 1:22 ` Daniel Latypov
2023-04-06 23:09 ` Kees Cook
2023-04-06 0:02 ` [PATCH 3/9] string: Add Kunit tests for strcat() family Kees Cook
2023-04-06 4:19 ` kernel test robot
2023-04-06 9:11 ` Alexander Potapenko
2023-04-06 23:07 ` Kees Cook
2023-04-12 12:34 ` Alexander Potapenko
2023-04-06 0:02 ` [PATCH 4/9] fortify: Add protection for strlcat() Kees Cook
2023-04-06 13:32 ` Miguel Ojeda
2023-04-06 22:58 ` Kees Cook
2023-04-06 0:02 ` [PATCH 5/9] fortify: strcat: Move definition to use fortified strlcat() Kees Cook
2023-04-06 0:02 ` [PATCH 6/9] fortify: Split reporting and avoid passing string pointer Kees Cook
2023-04-06 10:20 ` Andy Shevchenko
2023-04-06 22:57 ` Kees Cook
2023-04-07 8:34 ` Andy Shevchenko
2023-04-07 19:49 ` Kees Cook
2023-04-06 11:19 ` kernel test robot
2024-02-22 13:00 ` Arnd Bergmann
2024-02-22 16:30 ` Kees Cook
2024-02-22 17:11 ` Andy Shevchenko
2023-04-06 13:44 ` Miguel Ojeda
2023-04-06 22:54 ` Kees Cook
2023-04-06 15:23 ` Alexander Lobakin
2023-04-06 22:54 ` Kees Cook
2023-04-07 10:26 ` kernel test robot [this message]
2023-04-06 0:02 ` [PATCH 7/9] fortify: Provide KUnit counters for failure testing Kees Cook
2023-04-06 0:02 ` [PATCH 8/9] fortify: Add KUnit tests for runtime overflows Kees Cook
2023-04-06 0:02 ` [PATCH 9/9] fortify: Improve buffer overflow reporting Kees Cook
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=202304071824.648116sH-lkp@intel.com \
--to=lkp@intel.com \
--cc=Jason@zx2c4.com \
--cc=akpm@linux-foundation.org \
--cc=andreyknvl@gmail.com \
--cc=andy@kernel.org \
--cc=brendan.higgins@linux.dev \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=dan.j.williams@intel.com \
--cc=davidgow@google.com \
--cc=ebiggers@google.com \
--cc=geert+renesas@glider.be \
--cc=glider@google.com \
--cc=jpoimboe@kernel.org \
--cc=keescook@chromium.org \
--cc=liam.howlett@oracle.com \
--cc=linus.walleij@linaro.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux@rasmusvillemoes.dk \
--cc=mhiramat@kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=ojeda@kernel.org \
--cc=peterz@infradead.org \
--cc=puyou.lu@gmail.com \
--cc=rdunlap@infradead.org \
--cc=sander@svanheule.net \
--cc=vbabka@suse.cz \
--cc=yury.norov@gmail.com \
--cc=zhaoyang.huang@unisoc.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.