aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/kallsyms.c45
1 files changed, 5 insertions, 40 deletions
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
index cc244c02b4cf..60c20f301a6b 100644
--- a/kernel/kallsyms.c
+++ b/kernel/kallsyms.c
@@ -293,12 +293,6 @@ static unsigned long get_symbol_pos(unsigned long addr,
return low;
}
-#ifdef CONFIG_FUNCTION_PADDING_BYTES
-#define PADDING_BYTES CONFIG_FUNCTION_PADDING_BYTES
-#else
-#define PADDING_BYTES 0
-#endif
-
/*
* Lookup an address but don't bother to find any names.
*/
@@ -306,25 +300,13 @@ int kallsyms_lookup_size_offset(unsigned long addr, unsigned long *symbolsize,
unsigned long *offset)
{
char namebuf[KSYM_NAME_LEN];
- int ret;
-
- addr += PADDING_BYTES;
if (is_ksym_addr(addr)) {
get_symbol_pos(addr, symbolsize, offset);
- ret = 1;
- goto found;
- }
-
- ret = !!module_address_lookup(addr, symbolsize, offset, NULL, NULL, namebuf);
- if (!ret) {
- ret = !!__bpf_address_lookup(addr, symbolsize,
- offset, namebuf);
+ return 1;
}
-found:
- if (ret && offset)
- *offset -= PADDING_BYTES;
- return ret;
+ return !!module_address_lookup(addr, symbolsize, offset, NULL, NULL, namebuf) ||
+ !!__bpf_address_lookup(addr, symbolsize, offset, namebuf);
}
static const char *kallsyms_lookup_buildid(unsigned long addr,
@@ -337,8 +319,6 @@ static const char *kallsyms_lookup_buildid(unsigned long addr,
namebuf[KSYM_NAME_LEN - 1] = 0;
namebuf[0] = 0;
- addr += PADDING_BYTES;
-
if (is_ksym_addr(addr)) {
unsigned long pos;
@@ -368,8 +348,6 @@ static const char *kallsyms_lookup_buildid(unsigned long addr,
found:
cleanup_symbol_name(namebuf);
- if (ret && offset)
- *offset -= PADDING_BYTES;
return ret;
}
@@ -396,8 +374,6 @@ int lookup_symbol_name(unsigned long addr, char *symname)
symname[0] = '\0';
symname[KSYM_NAME_LEN - 1] = '\0';
- addr += PADDING_BYTES;
-
if (is_ksym_addr(addr)) {
unsigned long pos;
@@ -425,8 +401,6 @@ int lookup_symbol_attrs(unsigned long addr, unsigned long *size,
name[0] = '\0';
name[KSYM_NAME_LEN - 1] = '\0';
- addr += PADDING_BYTES;
-
if (is_ksym_addr(addr)) {
unsigned long pos;
@@ -443,8 +417,6 @@ int lookup_symbol_attrs(unsigned long addr, unsigned long *size,
return res;
found:
- if (offset)
- *offset -= PADDING_BYTES;
cleanup_symbol_name(name);
return 0;
}
@@ -470,15 +442,8 @@ static int __sprint_symbol(char *buffer, unsigned long address,
len = strlen(buffer);
offset -= symbol_offset;
- if (add_offset) {
- char s = '+';
-
- if ((long)offset < 0) {
- s = '-';
- offset = 0UL - offset;
- }
- len += sprintf(buffer + len, "%c%#lx/%#lx", s, offset, size);
- }
+ if (add_offset)
+ len += sprintf(buffer + len, "+%#lx/%#lx", offset, size);
if (modname) {
len += sprintf(buffer + len, " [%s", modname);