Commit 91b152aa85bbcf076e269565394c31964f940371
1 parent
75d14edee5
Exists in
master
and in
39 other branches
kdb,kgdb: fix sparse fixups
Fix the following sparse warnings: kdb_main.c:328:5: warning: symbol 'kdbgetu64arg' was not declared. Should it be static? kgdboc.c:246:12: warning: symbol 'kgdboc_early_init' was not declared. Should it be static? kgdb.c:652:26: warning: incorrect type in argument 1 (different address spaces) kgdb.c:652:26: expected void const *ptr kgdb.c:652:26: got struct perf_event *[noderef] <asn:3>*pev The one in kgdb.c required the (void * __force) because of the return code from register_wide_hw_breakpoint looking like: return (void __percpu __force *)ERR_PTR(err); Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Showing 4 changed files with 11 additions and 10 deletions Side-by-side Diff
arch/x86/kernel/kgdb.c
... | ... | @@ -649,7 +649,7 @@ |
649 | 649 | if (breakinfo[i].pev) |
650 | 650 | continue; |
651 | 651 | breakinfo[i].pev = register_wide_hw_breakpoint(&attr, NULL); |
652 | - if (IS_ERR(breakinfo[i].pev)) { | |
652 | + if (IS_ERR((void * __force)breakinfo[i].pev)) { | |
653 | 653 | printk(KERN_ERR "kgdb: Could not allocate hw" |
654 | 654 | "breakpoints\nDisabling the kernel debugger\n"); |
655 | 655 | breakinfo[i].pev = NULL; |
drivers/serial/kgdboc.c
... | ... | @@ -243,7 +243,7 @@ |
243 | 243 | |
244 | 244 | #ifdef CONFIG_KGDB_SERIAL_CONSOLE |
245 | 245 | /* This is only available if kgdboc is a built in for early debugging */ |
246 | -int __init kgdboc_early_init(char *opt) | |
246 | +static int __init kgdboc_early_init(char *opt) | |
247 | 247 | { |
248 | 248 | /* save the first character of the config string because the |
249 | 249 | * init routine can destroy it. |
include/linux/kdb.h
... | ... | @@ -139,6 +139,14 @@ |
139 | 139 | |
140 | 140 | /* kdb access to register set for stack dumping */ |
141 | 141 | extern struct pt_regs *kdb_current_regs; |
142 | +#ifdef CONFIG_KALLSYMS | |
143 | +extern const char *kdb_walk_kallsyms(loff_t *pos); | |
144 | +#else /* ! CONFIG_KALLSYMS */ | |
145 | +static inline const char *kdb_walk_kallsyms(loff_t *pos) | |
146 | +{ | |
147 | + return NULL; | |
148 | +} | |
149 | +#endif /* ! CONFIG_KALLSYMS */ | |
142 | 150 | |
143 | 151 | /* Dynamic kdb shell command registration */ |
144 | 152 | extern int kdb_register(char *, kdb_func_t, char *, char *, short); |
kernel/debug/kdb/kdb_private.h
... | ... | @@ -105,6 +105,7 @@ |
105 | 105 | extern int kdb_putword(unsigned long, unsigned long, size_t); |
106 | 106 | |
107 | 107 | extern int kdbgetularg(const char *, unsigned long *); |
108 | +extern int kdbgetu64arg(const char *, u64 *); | |
108 | 109 | extern char *kdbgetenv(const char *); |
109 | 110 | extern int kdbgetaddrarg(int, const char **, int*, unsigned long *, |
110 | 111 | long *, char **); |
... | ... | @@ -216,14 +217,6 @@ |
216 | 217 | extern void kdb_print_nameval(const char *name, unsigned long val); |
217 | 218 | extern void kdb_send_sig_info(struct task_struct *p, struct siginfo *info); |
218 | 219 | extern void kdb_meminfo_proc_show(void); |
219 | -#ifdef CONFIG_KALLSYMS | |
220 | -extern const char *kdb_walk_kallsyms(loff_t *pos); | |
221 | -#else /* ! CONFIG_KALLSYMS */ | |
222 | -static inline const char *kdb_walk_kallsyms(loff_t *pos) | |
223 | -{ | |
224 | - return NULL; | |
225 | -} | |
226 | -#endif /* ! CONFIG_KALLSYMS */ | |
227 | 220 | extern char *kdb_getstr(char *, size_t, char *); |
228 | 221 | |
229 | 222 | /* Defines for kdb_symbol_print */ |