All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.