mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
kallsyms: make kallsyms_show_value() as generic function
This change makes function kallsyms_show_value() as generic function without dependency on CONFIG_KALLSYMS. Now module address will be displayed with lsmod and /proc/modules. Earlier: ======= / # insmod test.ko / # lsmod test 12288 0 - Live 0x0000000000000000 (O) // No Module Load address / # With change: ========== / # insmod test.ko / # lsmod test 12288 0 - Live 0xffff800000fc0000 (O) // Module address / # cat /proc/modules test 12288 0 - Live 0xffff800000fc0000 (O) Co-developed-by: Onkarnath <onkarnath.1@samsung.com> Signed-off-by: Onkarnath <onkarnath.1@samsung.com> Signed-off-by: Maninder Singh <maninder1.s@samsung.com> Reviewed-by: Zhen Lei <thunder.leizhen@huawei.com> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
This commit is contained in:
committed by
Luis Chamberlain
parent
b06e9318bf
commit
0eeaf1eb40
@@ -65,6 +65,9 @@ static inline void *dereference_symbol_descriptor(void *ptr)
|
|||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* How and when do we show kallsyms values? */
|
||||||
|
extern bool kallsyms_show_value(const struct cred *cred);
|
||||||
|
|
||||||
#ifdef CONFIG_KALLSYMS
|
#ifdef CONFIG_KALLSYMS
|
||||||
unsigned long kallsyms_sym_address(int idx);
|
unsigned long kallsyms_sym_address(int idx);
|
||||||
int kallsyms_on_each_symbol(int (*fn)(void *, const char *, unsigned long),
|
int kallsyms_on_each_symbol(int (*fn)(void *, const char *, unsigned long),
|
||||||
@@ -94,9 +97,6 @@ extern int sprint_backtrace_build_id(char *buffer, unsigned long address);
|
|||||||
|
|
||||||
int lookup_symbol_name(unsigned long addr, char *symname);
|
int lookup_symbol_name(unsigned long addr, char *symname);
|
||||||
|
|
||||||
/* How and when do we show kallsyms values? */
|
|
||||||
extern bool kallsyms_show_value(const struct cred *cred);
|
|
||||||
|
|
||||||
#else /* !CONFIG_KALLSYMS */
|
#else /* !CONFIG_KALLSYMS */
|
||||||
|
|
||||||
static inline unsigned long kallsyms_lookup_name(const char *name)
|
static inline unsigned long kallsyms_lookup_name(const char *name)
|
||||||
@@ -154,11 +154,6 @@ static inline int lookup_symbol_name(unsigned long addr, char *symname)
|
|||||||
return -ERANGE;
|
return -ERANGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool kallsyms_show_value(const struct cred *cred)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int kallsyms_on_each_symbol(int (*fn)(void *, const char *, unsigned long),
|
static inline int kallsyms_on_each_symbol(int (*fn)(void *, const char *, unsigned long),
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
|
@@ -6,7 +6,6 @@
|
|||||||
#include <linux/kallsyms.h>
|
#include <linux/kallsyms.h>
|
||||||
#include <linux/security.h>
|
#include <linux/security.h>
|
||||||
|
|
||||||
#ifdef CONFIG_KALLSYMS
|
|
||||||
static inline int kallsyms_for_perf(void)
|
static inline int kallsyms_for_perf(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PERF_EVENTS
|
#ifdef CONFIG_PERF_EVENTS
|
||||||
@@ -42,4 +41,3 @@ bool kallsyms_show_value(const struct cred *cred)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
Reference in New Issue
Block a user