Commit 91b152aa85bbcf076e269565394c31964f940371

Authored by Jason Wessel
1 parent 75d14edee5

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.
... ... @@ -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 */