Fix a couple of endianness bugs that crept in.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmCfe/sRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1iVBw/9GMgwfp85TlB1vGN+ObOpAIAVHA839pIf
 Yvf1nRCWrK7P9+RdU5fZIi2CxuZ7QPcZK8r9zimwvpqhi2PVGfFPsciSVHzVxzll
 bvmqgfXMUWWwOdfUwg8cE3yK31J4s7yetrAx+Vklp/IiO72tvjNIcpxiI9unkyjb
 9c758XtMb4M9cHlNC4g0+yNhZMfOHYsH9/nW+5jWFtvmWOMM7cpGUjees+Do83+H
 qRv8je7aYsyZH6ams9xsVaUv9hyONYG2hSFaTj0Lz8AmCnKjj+NQnydG5i/R0MyX
 9i++JBdfsY3QjeqPQ4Rh82eAeqL3YcPQkReN+jcux7rFPa7ltsJL+wRnQoJcHS0H
 X+MJmBaII7JTE0LF2RXxauPkBeeK56Rg4M+kxI31X5Zq18KTmOjHb2Z4GUVbKzOV
 6jrGu6iujcvpEgmlaku0E35+6e3VaGbDK8QFTXVDEc3Ksa0fkh8WZlVJLI/Y30Vv
 DRMI/w597xyiWYW3lXDFlxy/jnI+YFIFtYtE9ud1j2ftRRv0yp4BYFCRqRNTu0r1
 uYKuDHssfshYscLb2LUumlA0VxOZHqnYZnWOOgyYnpkYyyLs1trI9eFrcgIJdAUi
 mAJzroDsJ6PsSj7AHCYNqcMx9OthDWBT32gYcazo7vFEyuNBDp8E79cI8pQiYGNN
 qEO+Lv1Z5Hk=
 =4nHq
 -----END PGP SIGNATURE-----

Merge tag 'objtool-urgent-2021-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull objtool fixes from Ingo Molnar:
 "Fix a couple of endianness bugs that crept in"

* tag 'objtool-urgent-2021-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  objtool/x86: Fix elf_add_alternative() endianness
  objtool: Fix elf_create_undef_symbol() endianness
This commit is contained in:
Linus Torvalds 2021-05-15 10:18:23 -07:00
Родитель 077fc64407 f66c05d6ba
Коммит e7c425b744
2 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -19,6 +19,7 @@
#include <objtool/elf.h> #include <objtool/elf.h>
#include <objtool/arch.h> #include <objtool/arch.h>
#include <objtool/warn.h> #include <objtool/warn.h>
#include <objtool/endianness.h>
#include <arch/elf.h> #include <arch/elf.h>
static int is_x86_64(const struct elf *elf) static int is_x86_64(const struct elf *elf)
@ -725,7 +726,7 @@ static int elf_add_alternative(struct elf *elf,
return -1; return -1;
} }
alt->cpuid = cpuid; alt->cpuid = bswap_if_needed(cpuid);
alt->instrlen = orig_len; alt->instrlen = orig_len;
alt->replacementlen = repl_len; alt->replacementlen = repl_len;

Просмотреть файл

@ -762,6 +762,7 @@ struct symbol *elf_create_undef_symbol(struct elf *elf, const char *name)
data->d_buf = &sym->sym; data->d_buf = &sym->sym;
data->d_size = sizeof(sym->sym); data->d_size = sizeof(sym->sym);
data->d_align = 1; data->d_align = 1;
data->d_type = ELF_T_SYM;
sym->idx = symtab->len / sizeof(sym->sym); sym->idx = symtab->len / sizeof(sym->sym);