X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=kernel%2Fkallsyms.c;h=39277dd6bf90911916db77f2370e2db3a6e070f4;hb=8871e73fdbde07d0a41393f7ee30787b65387b36;hp=1627f8d6e0cdd5f918c30666f4434407df25c293;hpb=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2;p=mirror_ubuntu-bionic-kernel.git diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index 1627f8d6e0cd..39277dd6bf90 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -18,6 +18,7 @@ #include #include #include +#include /* for cond_resched */ #include #include @@ -46,6 +47,14 @@ static inline int is_kernel_inittext(unsigned long addr) return 0; } +static inline int is_kernel_extratext(unsigned long addr) +{ + if (addr >= (unsigned long)_sextratext + && addr <= (unsigned long)_eextratext) + return 1; + return 0; +} + static inline int is_kernel_text(unsigned long addr) { if (addr >= (unsigned long)_stext && addr <= (unsigned long)_etext) @@ -169,8 +178,9 @@ const char *kallsyms_lookup(unsigned long addr, namebuf[0] = 0; if ((all_var && is_kernel(addr)) || - (!all_var && (is_kernel_text(addr) || is_kernel_inittext(addr)))) { - unsigned long symbol_end=0; + (!all_var && (is_kernel_text(addr) || is_kernel_inittext(addr) || + is_kernel_extratext(addr)))) { + unsigned long symbol_end = 0; /* do a binary search on the sorted kallsyms_addresses array */ low = 0;