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@xxxxxxxxx/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@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202411111823.Y2NHM1AE-lkp@xxxxxxxxx/ 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