This commit renames the variables in handle_moddevtable() as follows: name -> type namelen -> typelen identifier -> name These changes align with the definition in include/linux/module.h: extern typeof(name) __mod_##type##__##name##_device_table
Unified · Split
| @@ -1503,8 +1503,8 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, · 1502 unmodified lines | ||
| 1503 | 1503 | { |
| 1504 | 1504 | void *symval; |
| 1505 | 1505 | char *zeros = NULL; |
| 1506 | − const char *name, *identifier; | |
| 1507 | − unsigned int namelen; | |
| 1506 | + const char *type, *name; | |
| 1507 | + size_t typelen; | |
| 1508 | 1508 | |
| 1509 | 1509 | /* We're looking for a section relative symbol */ |
| 1510 | 1510 | if (!sym->st_shndx || get_secindex(info, sym) >= info->num_sections) |
| @@ -1514,19 +1514,19 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, · 3 unmodified lines | ||
| 1514 | 1514 | if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT) |
| 1515 | 1515 | return; |
| 1516 | 1516 | |
| 1517 | − /* All our symbols are of form __mod_<name>__<identifier>_device_table. */ | |
| 1517 | + /* All our symbols are of form __mod_<type>__<name>_device_table. */ | |
| 1518 | 1518 | if (!strstarts(symname, "__mod_")) |
| 1519 | 1519 | return; |
| 1520 | − name = symname + strlen("__mod_"); | |
| 1521 | − namelen = strlen(name); | |
| 1522 | − if (namelen < strlen("_device_table")) | |
| 1520 | + type = symname + strlen("__mod_"); | |
| 1521 | + typelen = strlen(type); | |
| 1522 | + if (typelen < strlen("_device_table")) | |
| 1523 | 1523 | return; |
| 1524 | − if (strcmp(name + namelen - strlen("_device_table"), "_device_table")) | |
| 1524 | + if (strcmp(type + typelen - strlen("_device_table"), "_device_table")) | |
| 1525 | 1525 | return; |
| 1526 | − identifier = strstr(name, "__"); | |
| 1527 | − if (!identifier) | |
| 1526 | + name = strstr(type, "__"); | |
| 1527 | + if (!name) | |
| 1528 | 1528 | return; |
| 1529 | − namelen = identifier - name; | |
| 1529 | + typelen = name - type; | |
| 1530 | 1530 | |
| 1531 | 1531 | /* Handle all-NULL symbols allocated into .bss */ |
| 1532 | 1532 | if (info->sechdrs[get_secindex(info, sym)].sh_type & SHT_NOBITS) { |
| @@ -1539,7 +1539,7 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, · 6 unmodified lines | ||
| 1539 | 1539 | for (int i = 0; i < ARRAY_SIZE(devtable); i++) { |
| 1540 | 1540 | const struct devtable *p = &devtable[i]; |
| 1541 | 1541 | |
| 1542 | − if (sym_is(name, namelen, p->device_id)) { | |
| 1542 | + if (sym_is(type, typelen, p->device_id)) { | |
| 1543 | 1543 | do_table(symval, sym->st_size, p->id_size, |
| 1544 | 1544 | p->device_id, p->do_entry, mod); |
| 1545 | 1545 | break; |