linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
@ 2025-01-31  0:05 kernel test robot
  2025-01-31 16:55 ` Suren Baghdasaryan
  0 siblings, 1 reply; 6+ messages in thread
From: kernel test robot @ 2025-01-31  0:05 UTC (permalink / raw)
  To: Suren Baghdasaryan
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton, Linux Memory Management List

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   b4b0881156fb8209bf5ef6cb63211bb0ad6e1a6b
commit: 07438779313caafe52ac1a1a6958d735a5938988 alloc_tag: avoid current->alloc_tag manipulations when profiling is disabled
date:   5 days ago
config: hexagon-randconfig-r133-20250131 (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce: (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501310832.kiAeOt2z-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
           strtomem_pad(key->u.kbd.release_str, release, '\0');
           ^
   include/linux/string.h:417:2: note: expanded from macro 'strtomem_pad'
           BUILD_BUG_ON(!__builtin_constant_p(_dest_len) ||                \
           ^
   include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON'
           BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:530:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:523:4: note: expanded from macro '__compiletime_assert'
                           prefix ## suffix();                             \
                           ^
   <scratch space>:127:1: note: expanded from here
   __compiletime_assert_309
   ^
   1 error generated.


vim +/error +1454 drivers/auxdisplay/panel.c

7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1426  
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1427  /* tries to bind a key to the signal name <name>. The key will send the
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1428   * strings <press>, <repeat>, <release> for these respective events.
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1429   * Returns the pointer to the new key if ok, NULL if the key could not be bound.
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1430   */
36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1431  static struct logical_input *panel_bind_key(const char *name, const char *press,
36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1432  					    const char *repeat,
36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1433  					    const char *release)
698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1434  {
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1435  	struct logical_input *key;
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1436  
fdf4a4948ca8a1 drivers/staging/panel/panel.c Dominique van den Broeck 2014-05-21  1437  	key = kzalloc(sizeof(*key), GFP_KERNEL);
eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1438  	if (!key)
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1439  		return NULL;
eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1440  
698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1441  	if (!input_name2mask(name, &key->mask, &key->value, &scan_mask_i,
cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1442  			     &scan_mask_o)) {
cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1443  		kfree(key);
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1444  		return NULL;
cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1445  	}
698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1446  
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1447  	key->type = INPUT_TYPE_KBD;
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1448  	key->state = INPUT_ST_LOW;
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1449  	key->rise_time = 1;
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1450  	key->fall_time = 1;
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1451  
a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1452  	strtomem_pad(key->u.kbd.press_str, press, '\0');
a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1453  	strtomem_pad(key->u.kbd.repeat_str, repeat, '\0');
a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11 @1454  	strtomem_pad(key->u.kbd.release_str, release, '\0');
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1455  	list_add(&key->list, &logical_inputs);
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1456  	return key;
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1457  }
7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1458  

:::::: The code at line 1454 was first introduced by commit
:::::: a952abcdaa22116d940ca9cb9253caad1622ae93 auxdisplay: panel: Replace deprecated strncpy() with strtomem_pad()

:::::: TO: Justin Stitt <justinstitt@google.com>
:::::: CC: Kees Cook <keescook@chromium.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
  2025-01-31  0:05 drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1 kernel test robot
@ 2025-01-31 16:55 ` Suren Baghdasaryan
  2025-01-31 22:51   ` Suren Baghdasaryan
  0 siblings, 1 reply; 6+ messages in thread
From: Suren Baghdasaryan @ 2025-01-31 16:55 UTC (permalink / raw)
  To: kernel test robot
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton, Linux Memory Management List

On Thu, Jan 30, 2025 at 4:06 PM kernel test robot <lkp@intel.com> wrote:
>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   b4b0881156fb8209bf5ef6cb63211bb0ad6e1a6b
> commit: 07438779313caafe52ac1a1a6958d735a5938988 alloc_tag: avoid current->alloc_tag manipulations when profiling is disabled
> date:   5 days ago
> config: hexagon-randconfig-r133-20250131 (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/config)
> compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> reproduce: (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/reproduce)

Just saw this report (was on vacation). Will try to figure out what's going on.

>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202501310832.kiAeOt2z-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> >> drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
>            strtomem_pad(key->u.kbd.release_str, release, '\0');
>            ^
>    include/linux/string.h:417:2: note: expanded from macro 'strtomem_pad'
>            BUILD_BUG_ON(!__builtin_constant_p(_dest_len) ||                \
>            ^
>    include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON'
>            BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
>            ^
>    include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
>    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>                                        ^
>    note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
>    include/linux/compiler_types.h:530:2: note: expanded from macro '_compiletime_assert'
>            __compiletime_assert(condition, msg, prefix, suffix)
>            ^
>    include/linux/compiler_types.h:523:4: note: expanded from macro '__compiletime_assert'
>                            prefix ## suffix();                             \
>                            ^
>    <scratch space>:127:1: note: expanded from here
>    __compiletime_assert_309
>    ^
>    1 error generated.
>
>
> vim +/error +1454 drivers/auxdisplay/panel.c
>
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1426
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1427  /* tries to bind a key to the signal name <name>. The key will send the
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1428   * strings <press>, <repeat>, <release> for these respective events.
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1429   * Returns the pointer to the new key if ok, NULL if the key could not be bound.
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1430   */
> 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1431  static struct logical_input *panel_bind_key(const char *name, const char *press,
> 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1432                                              const char *repeat,
> 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1433                                              const char *release)
> 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1434  {
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1435          struct logical_input *key;
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1436
> fdf4a4948ca8a1 drivers/staging/panel/panel.c Dominique van den Broeck 2014-05-21  1437          key = kzalloc(sizeof(*key), GFP_KERNEL);
> eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1438          if (!key)
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1439                  return NULL;
> eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1440
> 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1441          if (!input_name2mask(name, &key->mask, &key->value, &scan_mask_i,
> cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1442                               &scan_mask_o)) {
> cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1443                  kfree(key);
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1444                  return NULL;
> cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1445          }
> 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1446
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1447          key->type = INPUT_TYPE_KBD;
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1448          key->state = INPUT_ST_LOW;
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1449          key->rise_time = 1;
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1450          key->fall_time = 1;
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1451
> a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1452          strtomem_pad(key->u.kbd.press_str, press, '\0');
> a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1453          strtomem_pad(key->u.kbd.repeat_str, repeat, '\0');
> a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11 @1454          strtomem_pad(key->u.kbd.release_str, release, '\0');
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1455          list_add(&key->list, &logical_inputs);
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1456          return key;
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1457  }
> 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1458
>
> :::::: The code at line 1454 was first introduced by commit
> :::::: a952abcdaa22116d940ca9cb9253caad1622ae93 auxdisplay: panel: Replace deprecated strncpy() with strtomem_pad()
>
> :::::: TO: Justin Stitt <justinstitt@google.com>
> :::::: CC: Kees Cook <keescook@chromium.org>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
  2025-01-31 16:55 ` Suren Baghdasaryan
@ 2025-01-31 22:51   ` Suren Baghdasaryan
  2025-02-01 19:21     ` Suren Baghdasaryan
  2025-02-01 19:27     ` Kent Overstreet
  0 siblings, 2 replies; 6+ messages in thread
From: Suren Baghdasaryan @ 2025-01-31 22:51 UTC (permalink / raw)
  To: kernel test robot
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton,
	Linux Memory Management List, Kent Overstreet, Kees Cook

On Fri, Jan 31, 2025 at 8:55 AM Suren Baghdasaryan <surenb@google.com> wrote:
>
> On Thu, Jan 30, 2025 at 4:06 PM kernel test robot <lkp@intel.com> wrote:
> >
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head:   b4b0881156fb8209bf5ef6cb63211bb0ad6e1a6b
> > commit: 07438779313caafe52ac1a1a6958d735a5938988 alloc_tag: avoid current->alloc_tag manipulations when profiling is disabled
> > date:   5 days ago
> > config: hexagon-randconfig-r133-20250131 (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/config)
> > compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> > reproduce: (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/reproduce)
>
> Just saw this report (was on vacation). Will try to figure out what's going on.

I confirmed that my change at
https://lore.kernel.org/all/20241226211639.1357704-1-surenb@google.com
indeed causes this.
Looks like due to the additional mem_alloc_profiling_enabled() check,
the compiler considers allocation size as unknown at compile time
(__builtin_object_size(obj) returns -1) even though both branches of
that condition make the same exact allocation.
I tried changing it to:

#define alloc_hooks_tag(_tag, _do_alloc) \
({ \
        typeof(_do_alloc) _res; \
        struct alloc_tag * __maybe_unused _old; \
         if (mem_alloc_profiling_enabled()) \
                _old = alloc_tag_save(_tag); \
        _res = _do_alloc; \
         if (mem_alloc_profiling_enabled()) \
                 alloc_tag_restore(_tag, _old); \
        _res; \
})

and that fixes the problem, however this would require two static key
checks... I wonder if there is a way to tell the compiler that both
branches cause the same result. Let me dig around.

>
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <lkp@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202501310832.kiAeOt2z-lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> > >> drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
> >            strtomem_pad(key->u.kbd.release_str, release, '\0');
> >            ^
> >    include/linux/string.h:417:2: note: expanded from macro 'strtomem_pad'
> >            BUILD_BUG_ON(!__builtin_constant_p(_dest_len) ||                \
> >            ^
> >    include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON'
> >            BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
> >            ^
> >    include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
> >    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> >                                        ^
> >    note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
> >    include/linux/compiler_types.h:530:2: note: expanded from macro '_compiletime_assert'
> >            __compiletime_assert(condition, msg, prefix, suffix)
> >            ^
> >    include/linux/compiler_types.h:523:4: note: expanded from macro '__compiletime_assert'
> >                            prefix ## suffix();                             \
> >                            ^
> >    <scratch space>:127:1: note: expanded from here
> >    __compiletime_assert_309
> >    ^
> >    1 error generated.
> >
> >
> > vim +/error +1454 drivers/auxdisplay/panel.c
> >
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1426
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1427  /* tries to bind a key to the signal name <name>. The key will send the
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1428   * strings <press>, <repeat>, <release> for these respective events.
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1429   * Returns the pointer to the new key if ok, NULL if the key could not be bound.
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1430   */
> > 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1431  static struct logical_input *panel_bind_key(const char *name, const char *press,
> > 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1432                                              const char *repeat,
> > 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1433                                              const char *release)
> > 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1434  {
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1435          struct logical_input *key;
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1436
> > fdf4a4948ca8a1 drivers/staging/panel/panel.c Dominique van den Broeck 2014-05-21  1437          key = kzalloc(sizeof(*key), GFP_KERNEL);
> > eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1438          if (!key)
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1439                  return NULL;
> > eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1440
> > 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1441          if (!input_name2mask(name, &key->mask, &key->value, &scan_mask_i,
> > cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1442                               &scan_mask_o)) {
> > cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1443                  kfree(key);
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1444                  return NULL;
> > cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1445          }
> > 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1446
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1447          key->type = INPUT_TYPE_KBD;
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1448          key->state = INPUT_ST_LOW;
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1449          key->rise_time = 1;
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1450          key->fall_time = 1;
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1451
> > a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1452          strtomem_pad(key->u.kbd.press_str, press, '\0');
> > a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1453          strtomem_pad(key->u.kbd.repeat_str, repeat, '\0');
> > a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11 @1454          strtomem_pad(key->u.kbd.release_str, release, '\0');
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1455          list_add(&key->list, &logical_inputs);
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1456          return key;
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1457  }
> > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1458
> >
> > :::::: The code at line 1454 was first introduced by commit
> > :::::: a952abcdaa22116d940ca9cb9253caad1622ae93 auxdisplay: panel: Replace deprecated strncpy() with strtomem_pad()
> >
> > :::::: TO: Justin Stitt <justinstitt@google.com>
> > :::::: CC: Kees Cook <keescook@chromium.org>
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
  2025-01-31 22:51   ` Suren Baghdasaryan
@ 2025-02-01 19:21     ` Suren Baghdasaryan
  2025-02-01 20:06       ` Suren Baghdasaryan
  2025-02-01 19:27     ` Kent Overstreet
  1 sibling, 1 reply; 6+ messages in thread
From: Suren Baghdasaryan @ 2025-02-01 19:21 UTC (permalink / raw)
  To: kernel test robot, Nathan Chancellor, Nick Desaulniers, Andrew Morton
  Cc: oe-kbuild-all, linux-kernel, Linux Memory Management List,
	Kent Overstreet, Kees Cook, llvm

On Fri, Jan 31, 2025 at 2:51 PM Suren Baghdasaryan <surenb@google.com> wrote:
>
> On Fri, Jan 31, 2025 at 8:55 AM Suren Baghdasaryan <surenb@google.com> wrote:
> >
> > On Thu, Jan 30, 2025 at 4:06 PM kernel test robot <lkp@intel.com> wrote:
> > >
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > head:   b4b0881156fb8209bf5ef6cb63211bb0ad6e1a6b
> > > commit: 07438779313caafe52ac1a1a6958d735a5938988 alloc_tag: avoid current->alloc_tag manipulations when profiling is disabled
> > > date:   5 days ago
> > > config: hexagon-randconfig-r133-20250131 (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/config)
> > > compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> > > reproduce: (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/reproduce)
> >
> > Just saw this report (was on vacation). Will try to figure out what's going on.
>
> I confirmed that my change at
> https://lore.kernel.org/all/20241226211639.1357704-1-surenb@google.com
> indeed causes this.
> Looks like due to the additional mem_alloc_profiling_enabled() check,
> the compiler considers allocation size as unknown at compile time
> (__builtin_object_size(obj) returns -1) even though both branches of
> that condition make the same exact allocation.
> I tried changing it to:
>
> #define alloc_hooks_tag(_tag, _do_alloc) \
> ({ \
>         typeof(_do_alloc) _res; \
>         struct alloc_tag * __maybe_unused _old; \
>          if (mem_alloc_profiling_enabled()) \
>                 _old = alloc_tag_save(_tag); \
>         _res = _do_alloc; \
>          if (mem_alloc_profiling_enabled()) \
>                  alloc_tag_restore(_tag, _old); \
>         _res; \
> })
>
> and that fixes the problem, however this would require two static key
> checks... I wonder if there is a way to tell the compiler that both
> branches cause the same result. Let me dig around.

CC'ing Nathan Chancellor, Nick Desaulniers and llvm@lists.linux.dev

Looks like this error happens only with clang version 14 (more
specifically CONFIG_CLANG_VERSION=140006). I tested with clang-13,
clang-15 and clang-17 and all of them build this code fine. Same thing
for other archs (clang-14 fails, others don't). I tried hexagon, x86
and arm64.

To fix the build I can add:

#if defined(CONFIG_CC_IS_CLANG) && CONFIG_CLANG_VERSION >= 140000 &&
CONFIG_CLANG_VERSION < 150000
// do this the old way
#else
// do this the new way
#endif

but I'm not sure if that's the right fix.

Andrew, while compiler folks investigate this issue, I'll post the
above fix in case we need to deal with this build error urgently.
Thanks,
Suren.

>
> >
> > >
> > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > the same patch/commit), kindly add following tags
> > > | Reported-by: kernel test robot <lkp@intel.com>
> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202501310832.kiAeOt2z-lkp@intel.com/
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > >> drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
> > >            strtomem_pad(key->u.kbd.release_str, release, '\0');
> > >            ^
> > >    include/linux/string.h:417:2: note: expanded from macro 'strtomem_pad'
> > >            BUILD_BUG_ON(!__builtin_constant_p(_dest_len) ||                \
> > >            ^
> > >    include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON'
> > >            BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
> > >            ^
> > >    include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
> > >    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> > >                                        ^
> > >    note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
> > >    include/linux/compiler_types.h:530:2: note: expanded from macro '_compiletime_assert'
> > >            __compiletime_assert(condition, msg, prefix, suffix)
> > >            ^
> > >    include/linux/compiler_types.h:523:4: note: expanded from macro '__compiletime_assert'
> > >                            prefix ## suffix();                             \
> > >                            ^
> > >    <scratch space>:127:1: note: expanded from here
> > >    __compiletime_assert_309
> > >    ^
> > >    1 error generated.
> > >
> > >
> > > vim +/error +1454 drivers/auxdisplay/panel.c
> > >
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1426
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1427  /* tries to bind a key to the signal name <name>. The key will send the
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1428   * strings <press>, <repeat>, <release> for these respective events.
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1429   * Returns the pointer to the new key if ok, NULL if the key could not be bound.
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1430   */
> > > 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1431  static struct logical_input *panel_bind_key(const char *name, const char *press,
> > > 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1432                                              const char *repeat,
> > > 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1433                                              const char *release)
> > > 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1434  {
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1435          struct logical_input *key;
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1436
> > > fdf4a4948ca8a1 drivers/staging/panel/panel.c Dominique van den Broeck 2014-05-21  1437          key = kzalloc(sizeof(*key), GFP_KERNEL);
> > > eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1438          if (!key)
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1439                  return NULL;
> > > eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1440
> > > 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1441          if (!input_name2mask(name, &key->mask, &key->value, &scan_mask_i,
> > > cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1442                               &scan_mask_o)) {
> > > cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1443                  kfree(key);
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1444                  return NULL;
> > > cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1445          }
> > > 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1446
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1447          key->type = INPUT_TYPE_KBD;
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1448          key->state = INPUT_ST_LOW;
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1449          key->rise_time = 1;
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1450          key->fall_time = 1;
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1451
> > > a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1452          strtomem_pad(key->u.kbd.press_str, press, '\0');
> > > a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1453          strtomem_pad(key->u.kbd.repeat_str, repeat, '\0');
> > > a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11 @1454          strtomem_pad(key->u.kbd.release_str, release, '\0');
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1455          list_add(&key->list, &logical_inputs);
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1456          return key;
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1457  }
> > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1458
> > >
> > > :::::: The code at line 1454 was first introduced by commit
> > > :::::: a952abcdaa22116d940ca9cb9253caad1622ae93 auxdisplay: panel: Replace deprecated strncpy() with strtomem_pad()
> > >
> > > :::::: TO: Justin Stitt <justinstitt@google.com>
> > > :::::: CC: Kees Cook <keescook@chromium.org>
> > >
> > > --
> > > 0-DAY CI Kernel Test Service
> > > https://github.com/intel/lkp-tests/wiki


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
  2025-01-31 22:51   ` Suren Baghdasaryan
  2025-02-01 19:21     ` Suren Baghdasaryan
@ 2025-02-01 19:27     ` Kent Overstreet
  1 sibling, 0 replies; 6+ messages in thread
From: Kent Overstreet @ 2025-02-01 19:27 UTC (permalink / raw)
  To: Suren Baghdasaryan
  Cc: kernel test robot, oe-kbuild-all, linux-kernel, Andrew Morton,
	Linux Memory Management List, Kees Cook

On Fri, Jan 31, 2025 at 02:51:26PM -0800, Suren Baghdasaryan wrote:
> On Fri, Jan 31, 2025 at 8:55 AM Suren Baghdasaryan <surenb@google.com> wrote:
> >
> > On Thu, Jan 30, 2025 at 4:06 PM kernel test robot <lkp@intel.com> wrote:
> > >
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > head:   b4b0881156fb8209bf5ef6cb63211bb0ad6e1a6b
> > > commit: 07438779313caafe52ac1a1a6958d735a5938988 alloc_tag: avoid current->alloc_tag manipulations when profiling is disabled
> > > date:   5 days ago
> > > config: hexagon-randconfig-r133-20250131 (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/config)
> > > compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> > > reproduce: (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/reproduce)
> >
> > Just saw this report (was on vacation). Will try to figure out what's going on.
> 
> I confirmed that my change at
> https://lore.kernel.org/all/20241226211639.1357704-1-surenb@google.com
> indeed causes this.
> Looks like due to the additional mem_alloc_profiling_enabled() check,
> the compiler considers allocation size as unknown at compile time
> (__builtin_object_size(obj) returns -1) even though both branches of
> that condition make the same exact allocation.
> I tried changing it to:
> 
> #define alloc_hooks_tag(_tag, _do_alloc) \
> ({ \
>         typeof(_do_alloc) _res; \
>         struct alloc_tag * __maybe_unused _old; \
>          if (mem_alloc_profiling_enabled()) \
>                 _old = alloc_tag_save(_tag); \
>         _res = _do_alloc; \
>          if (mem_alloc_profiling_enabled()) \
>                  alloc_tag_restore(_tag, _old); \
>         _res; \
> })
> 
> and that fixes the problem, however this would require two static key
> checks... I wonder if there is a way to tell the compiler that both
> branches cause the same result. Let me dig around.

strtomem_pad() looks pretty suspect to me.

I'm not seeing any reason for it to be using __builtin_object_size(),
(and __builtin_object_size() failing looks like perhaps a bizarre
compiler bug?).

It looks to me like ARRAY_SIZE() would be better here, and also there
really should be some actual typechecking on the source and dest
arguments - like strcpy(), they should be char *.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
  2025-02-01 19:21     ` Suren Baghdasaryan
@ 2025-02-01 20:06       ` Suren Baghdasaryan
  0 siblings, 0 replies; 6+ messages in thread
From: Suren Baghdasaryan @ 2025-02-01 20:06 UTC (permalink / raw)
  To: kernel test robot, Nathan Chancellor, Nick Desaulniers, Andrew Morton
  Cc: oe-kbuild-all, linux-kernel, Linux Memory Management List,
	Kent Overstreet, Kees Cook, llvm

On Sat, Feb 1, 2025 at 11:21 AM Suren Baghdasaryan <surenb@google.com> wrote:
>
> On Fri, Jan 31, 2025 at 2:51 PM Suren Baghdasaryan <surenb@google.com> wrote:
> >
> > On Fri, Jan 31, 2025 at 8:55 AM Suren Baghdasaryan <surenb@google.com> wrote:
> > >
> > > On Thu, Jan 30, 2025 at 4:06 PM kernel test robot <lkp@intel.com> wrote:
> > > >
> > > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > > head:   b4b0881156fb8209bf5ef6cb63211bb0ad6e1a6b
> > > > commit: 07438779313caafe52ac1a1a6958d735a5938988 alloc_tag: avoid current->alloc_tag manipulations when profiling is disabled
> > > > date:   5 days ago
> > > > config: hexagon-randconfig-r133-20250131 (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/config)
> > > > compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
> > > > reproduce: (https://download.01.org/0day-ci/archive/20250131/202501310832.kiAeOt2z-lkp@intel.com/reproduce)
> > >
> > > Just saw this report (was on vacation). Will try to figure out what's going on.
> >
> > I confirmed that my change at
> > https://lore.kernel.org/all/20241226211639.1357704-1-surenb@google.com
> > indeed causes this.
> > Looks like due to the additional mem_alloc_profiling_enabled() check,
> > the compiler considers allocation size as unknown at compile time
> > (__builtin_object_size(obj) returns -1) even though both branches of
> > that condition make the same exact allocation.
> > I tried changing it to:
> >
> > #define alloc_hooks_tag(_tag, _do_alloc) \
> > ({ \
> >         typeof(_do_alloc) _res; \
> >         struct alloc_tag * __maybe_unused _old; \
> >          if (mem_alloc_profiling_enabled()) \
> >                 _old = alloc_tag_save(_tag); \
> >         _res = _do_alloc; \
> >          if (mem_alloc_profiling_enabled()) \
> >                  alloc_tag_restore(_tag, _old); \
> >         _res; \
> > })
> >
> > and that fixes the problem, however this would require two static key
> > checks... I wonder if there is a way to tell the compiler that both
> > branches cause the same result. Let me dig around.
>
> CC'ing Nathan Chancellor, Nick Desaulniers and llvm@lists.linux.dev
>
> Looks like this error happens only with clang version 14 (more
> specifically CONFIG_CLANG_VERSION=140006). I tested with clang-13,
> clang-15 and clang-17 and all of them build this code fine. Same thing
> for other archs (clang-14 fails, others don't). I tried hexagon, x86
> and arm64.
>
> To fix the build I can add:
>
> #if defined(CONFIG_CC_IS_CLANG) && CONFIG_CLANG_VERSION >= 140000 &&
> CONFIG_CLANG_VERSION < 150000
> // do this the old way
> #else
> // do this the new way
> #endif
>
> but I'm not sure if that's the right fix.
>
> Andrew, while compiler folks investigate this issue, I'll post the
> above fix in case we need to deal with this build error urgently.

Workaround is posted at:
https://lore.kernel.org/all/20250201200503.2532357-1-surenb@google.com/

> Thanks,
> Suren.
>
> >
> > >
> > > >
> > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > > the same patch/commit), kindly add following tags
> > > > | Reported-by: kernel test robot <lkp@intel.com>
> > > > | Closes: https://lore.kernel.org/oe-kbuild-all/202501310832.kiAeOt2z-lkp@intel.com/
> > > >
> > > > All errors (new ones prefixed by >>):
> > > >
> > > > >> drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1
> > > >            strtomem_pad(key->u.kbd.release_str, release, '\0');
> > > >            ^
> > > >    include/linux/string.h:417:2: note: expanded from macro 'strtomem_pad'
> > > >            BUILD_BUG_ON(!__builtin_constant_p(_dest_len) ||                \
> > > >            ^
> > > >    include/linux/build_bug.h:50:2: note: expanded from macro 'BUILD_BUG_ON'
> > > >            BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
> > > >            ^
> > > >    include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
> > > >    #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> > > >                                        ^
> > > >    note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
> > > >    include/linux/compiler_types.h:530:2: note: expanded from macro '_compiletime_assert'
> > > >            __compiletime_assert(condition, msg, prefix, suffix)
> > > >            ^
> > > >    include/linux/compiler_types.h:523:4: note: expanded from macro '__compiletime_assert'
> > > >                            prefix ## suffix();                             \
> > > >                            ^
> > > >    <scratch space>:127:1: note: expanded from here
> > > >    __compiletime_assert_309
> > > >    ^
> > > >    1 error generated.
> > > >
> > > >
> > > > vim +/error +1454 drivers/auxdisplay/panel.c
> > > >
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1426
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1427  /* tries to bind a key to the signal name <name>. The key will send the
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1428   * strings <press>, <repeat>, <release> for these respective events.
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1429   * Returns the pointer to the new key if ok, NULL if the key could not be bound.
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1430   */
> > > > 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1431  static struct logical_input *panel_bind_key(const char *name, const char *press,
> > > > 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1432                                              const char *repeat,
> > > > 36d2041a3d57b9 drivers/staging/panel/panel.c Peter Huewe              2013-02-15  1433                                              const char *release)
> > > > 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1434  {
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1435          struct logical_input *key;
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1436
> > > > fdf4a4948ca8a1 drivers/staging/panel/panel.c Dominique van den Broeck 2014-05-21  1437          key = kzalloc(sizeof(*key), GFP_KERNEL);
> > > > eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1438          if (!key)
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1439                  return NULL;
> > > > eb073a9bf2b6ed drivers/staging/panel/panel.c Toshiaki Yamane          2012-07-12  1440
> > > > 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1441          if (!input_name2mask(name, &key->mask, &key->value, &scan_mask_i,
> > > > cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1442                               &scan_mask_o)) {
> > > > cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1443                  kfree(key);
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1444                  return NULL;
> > > > cb46f472cbb08c drivers/staging/panel/panel.c Kulikov Vasiliy          2010-07-12  1445          }
> > > > 698b1515f03914 drivers/staging/panel/panel.c Willy Tarreau            2008-11-22  1446
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1447          key->type = INPUT_TYPE_KBD;
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1448          key->state = INPUT_ST_LOW;
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1449          key->rise_time = 1;
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1450          key->fall_time = 1;
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1451
> > > > a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1452          strtomem_pad(key->u.kbd.press_str, press, '\0');
> > > > a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11  1453          strtomem_pad(key->u.kbd.repeat_str, repeat, '\0');
> > > > a952abcdaa2211 drivers/auxdisplay/panel.c    Justin Stitt             2023-09-11 @1454          strtomem_pad(key->u.kbd.release_str, release, '\0');
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1455          list_add(&key->list, &logical_inputs);
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1456          return key;
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1457  }
> > > > 7005b58458e4be drivers/staging/panel/panel.c Willy Tarreau            2008-11-13  1458
> > > >
> > > > :::::: The code at line 1454 was first introduced by commit
> > > > :::::: a952abcdaa22116d940ca9cb9253caad1622ae93 auxdisplay: panel: Replace deprecated strncpy() with strtomem_pad()
> > > >
> > > > :::::: TO: Justin Stitt <justinstitt@google.com>
> > > > :::::: CC: Kees Cook <keescook@chromium.org>
> > > >
> > > > --
> > > > 0-DAY CI Kernel Test Service
> > > > https://github.com/intel/lkp-tests/wiki


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-02-01 20:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-31  0:05 drivers/auxdisplay/panel.c:1454:2: error: call to __compiletime_assert_309 declared with 'error' attribute: BUILD_BUG_ON failed: !__builtin_constant_p(_dest_len) || _dest_len == (size_t)-1 kernel test robot
2025-01-31 16:55 ` Suren Baghdasaryan
2025-01-31 22:51   ` Suren Baghdasaryan
2025-02-01 19:21     ` Suren Baghdasaryan
2025-02-01 20:06       ` Suren Baghdasaryan
2025-02-01 19:27     ` Kent Overstreet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox