* Re: [PATCH net-next v5 3/9] lib: packing: add pack_fields() and unpack_fields()
[not found] <20241111-packing-pack-fields-and-ice-implementation-v5-3-80c07349e6b7@intel.com>
@ 2024-11-11 10:25 ` kernel test robot
2024-11-11 10:36 ` kernel test robot
1 sibling, 0 replies; 2+ messages in thread
From: kernel test robot @ 2024-11-11 10:25 UTC (permalink / raw)
To: Jacob Keller, Vladimir Oltean, Andrew Morton, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Tony Nguyen, Przemek Kitszel,
Masahiro Yamada, netdev
Cc: oe-kbuild-all, Linux Memory Management List, linux-kbuild, Jacob Keller
Hi Jacob,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 774ca6d3bf24287ff60b7d6dd4171ebb6e47760a]
url: https://github.com/intel-lab-lkp/linux/commits/Jacob-Keller/lib-packing-create-__pack-and-__unpack-variants-without-error-checking/20241111-161131
base: 774ca6d3bf24287ff60b7d6dd4171ebb6e47760a
patch link: https://lore.kernel.org/r/20241111-packing-pack-fields-and-ice-implementation-v5-3-80c07349e6b7%40intel.com
patch subject: [PATCH net-next v5 3/9] lib: packing: add pack_fields() and unpack_fields()
config: x86_64-rhel-8.3 (https://download.01.org/0day-ci/archive/20241111/202411111823.Y2NHM1AE-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241111/202411111823.Y2NHM1AE-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/202411111823.Y2NHM1AE-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from scripts/mod/packed_fields.c:15:
scripts/mod/packed_fields.c: In function 'handle_packed_field_symbol':
>> scripts/mod/packed_fields.c:134:23: warning: format '%u' expects argument of type 'unsigned int', but argument 5 has type 'Elf64_Xword' {aka 'long unsigned int'} [-Wformat=]
134 | error("[%s.ko] \"%s\" has size %u which is not a multiple of the field size (%zu)\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
135 | mod->name, symname, sym->st_size, field_size);
| ~~~~~~~~~~~~
| |
| Elf64_Xword {aka long unsigned int}
scripts/mod/modpost.h:207:51: note: in definition of macro 'error'
207 | #define error(fmt, args...) modpost_log(true, fmt, ##args)
| ^~~
scripts/mod/packed_fields.c:134:49: note: format string is defined here
134 | error("[%s.ko] \"%s\" has size %u which is not a multiple of the field size (%zu)\n",
| ~^
| |
| unsigned int
| %lu
--
In file included from scripts/mod/packed_fields.c:15:
scripts/mod/packed_fields.c: In function 'handle_packed_field_symbol':
>> scripts/mod/packed_fields.c:134:23: warning: format '%u' expects argument of type 'unsigned int', but argument 5 has type 'Elf64_Xword' {aka 'long unsigned int'} [-Wformat=]
134 | error("[%s.ko] \"%s\" has size %u which is not a multiple of the field size (%zu)\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
135 | mod->name, symname, sym->st_size, field_size);
| ~~~~~~~~~~~~
| |
| Elf64_Xword {aka long unsigned int}
scripts/mod/modpost.h:207:51: note: in definition of macro 'error'
207 | #define error(fmt, args...) modpost_log(true, fmt, ##args)
| ^~~
scripts/mod/packed_fields.c:134:49: note: format string is defined here
134 | error("[%s.ko] \"%s\" has size %u which is not a multiple of the field size (%zu)\n",
| ~^
| |
| unsigned int
| %lu
vim +134 scripts/mod/packed_fields.c
99
100 void handle_packed_field_symbol(struct module *mod, struct elf_info *info,
101 Elf_Sym *sym, const char *symname)
102 {
103 unsigned int secindex = get_secindex(info, sym);
104 struct packed_field_elem elem = {}, prev = {};
105 enum element_order order = FIRST_ELEMENT;
106 enum field_type type = UNKNOWN_SECTION;
107 size_t field_size, count;
108 const void *data, *ptr;
109 const char *section;
110
111 /* Skip symbols without a name */
112 if (*symname == '\0')
113 return;
114
115 /* Skip symbols with invalid sections */
116 if (secindex >= info->num_sections)
117 return;
118
119 section = sec_name(info, secindex);
120
121 if (strcmp(section, ".rodata.packed_fields_s") == 0)
122 type = PACKED_FIELD_S;
123 else if (strcmp(section, ".rodata.packed_fields_m") == 0)
124 type = PACKED_FIELD_M;
125
126 /* Other sections don't relate to packed fields */
127 if (type == UNKNOWN_SECTION)
128 return;
129
130 field_size = field_type_to_size(type);
131
132 /* check that the data is a multiple of the size */
133 if (sym->st_size % field_size != 0) {
> 134 error("[%s.ko] \"%s\" has size %u which is not a multiple of the field size (%zu)\n",
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH net-next v5 3/9] lib: packing: add pack_fields() and unpack_fields()
[not found] <20241111-packing-pack-fields-and-ice-implementation-v5-3-80c07349e6b7@intel.com>
2024-11-11 10:25 ` [PATCH net-next v5 3/9] lib: packing: add pack_fields() and unpack_fields() kernel test robot
@ 2024-11-11 10:36 ` kernel test robot
1 sibling, 0 replies; 2+ messages in thread
From: kernel test robot @ 2024-11-11 10:36 UTC (permalink / raw)
To: Jacob Keller, Vladimir Oltean, Andrew Morton, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Tony Nguyen, Przemek Kitszel,
Masahiro Yamada, netdev
Cc: llvm, oe-kbuild-all, Linux Memory Management List, linux-kbuild,
Jacob Keller
Hi Jacob,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 774ca6d3bf24287ff60b7d6dd4171ebb6e47760a]
url: https://github.com/intel-lab-lkp/linux/commits/Jacob-Keller/lib-packing-create-__pack-and-__unpack-variants-without-error-checking/20241111-161131
base: 774ca6d3bf24287ff60b7d6dd4171ebb6e47760a
patch link: https://lore.kernel.org/r/20241111-packing-pack-fields-and-ice-implementation-v5-3-80c07349e6b7%40intel.com
patch subject: [PATCH net-next v5 3/9] lib: packing: add pack_fields() and unpack_fields()
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20241111/202411111817.tgnRn8v3-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241111/202411111817.tgnRn8v3-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/202411111817.tgnRn8v3-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> scripts/mod/packed_fields.c:135:29: warning: format specifies type 'unsigned int' but the argument has type 'Elf64_Xword' (aka 'unsigned long') [-Wformat]
134 | error("[%s.ko] \"%s\" has size %u which is not a multiple of the field size (%zu)\n",
| ~~
| %lu
135 | mod->name, symname, sym->st_size, field_size);
| ^~~~~~~~~~~~
scripts/mod/modpost.h:207:54: note: expanded from macro 'error'
207 | #define error(fmt, args...) modpost_log(true, fmt, ##args)
| ~~~ ^~~~
1 warning generated.
--
>> scripts/mod/packed_fields.c:135:29: warning: format specifies type 'unsigned int' but the argument has type 'Elf64_Xword' (aka 'unsigned long') [-Wformat]
134 | error("[%s.ko] \"%s\" has size %u which is not a multiple of the field size (%zu)\n",
| ~~
| %lu
135 | mod->name, symname, sym->st_size, field_size);
| ^~~~~~~~~~~~
scripts/mod/modpost.h:207:54: note: expanded from macro 'error'
207 | #define error(fmt, args...) modpost_log(true, fmt, ##args)
| ~~~ ^~~~
1 warning generated.
In file included from arch/x86/kernel/asm-offsets.c:14:
In file included from include/linux/suspend.h:5:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:21:
In file included from include/linux/mm.h:2213:
include/linux/vmstat.h:504:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
504 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
505 | item];
| ~~~~
include/linux/vmstat.h:511:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
511 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
512 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
include/linux/vmstat.h:524:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
524 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
525 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
4 warnings generated.
vim +135 scripts/mod/packed_fields.c
99
100 void handle_packed_field_symbol(struct module *mod, struct elf_info *info,
101 Elf_Sym *sym, const char *symname)
102 {
103 unsigned int secindex = get_secindex(info, sym);
104 struct packed_field_elem elem = {}, prev = {};
105 enum element_order order = FIRST_ELEMENT;
106 enum field_type type = UNKNOWN_SECTION;
107 size_t field_size, count;
108 const void *data, *ptr;
109 const char *section;
110
111 /* Skip symbols without a name */
112 if (*symname == '\0')
113 return;
114
115 /* Skip symbols with invalid sections */
116 if (secindex >= info->num_sections)
117 return;
118
119 section = sec_name(info, secindex);
120
121 if (strcmp(section, ".rodata.packed_fields_s") == 0)
122 type = PACKED_FIELD_S;
123 else if (strcmp(section, ".rodata.packed_fields_m") == 0)
124 type = PACKED_FIELD_M;
125
126 /* Other sections don't relate to packed fields */
127 if (type == UNKNOWN_SECTION)
128 return;
129
130 field_size = field_type_to_size(type);
131
132 /* check that the data is a multiple of the size */
133 if (sym->st_size % field_size != 0) {
134 error("[%s.ko] \"%s\" has size %u which is not a multiple of the field size (%zu)\n",
> 135 mod->name, symname, sym->st_size, field_size);
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-11-11 10:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20241111-packing-pack-fields-and-ice-implementation-v5-3-80c07349e6b7@intel.com>
2024-11-11 10:25 ` [PATCH net-next v5 3/9] lib: packing: add pack_fields() and unpack_fields() kernel test robot
2024-11-11 10:36 ` 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