Skip to content

Commit 91b152a

Browse files
committed
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>
1 parent 75d14ed commit 91b152a

4 files changed

Lines changed: 11 additions & 10 deletions

File tree

arch/x86/kernel/kgdb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,7 @@ void kgdb_arch_late(void)
649649
if (breakinfo[i].pev)
650650
continue;
651651
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)) {
653653
printk(KERN_ERR "kgdb: Could not allocate hw"
654654
"breakpoints\nDisabling the kernel debugger\n");
655655
breakinfo[i].pev = NULL;

drivers/serial/kgdboc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ static struct kgdb_io kgdboc_io_ops = {
243243

244244
#ifdef CONFIG_KGDB_SERIAL_CONSOLE
245245
/* 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)
247247
{
248248
/* save the first character of the config string because the
249249
* init routine can destroy it.

include/linux/kdb.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,14 @@ int kdb_process_cpu(const struct task_struct *p)
139139

140140
/* kdb access to register set for stack dumping */
141141
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 */
142150

143151
/* Dynamic kdb shell command registration */
144152
extern int kdb_register(char *, kdb_func_t, char *, char *, short);

kernel/debug/kdb/kdb_private.h

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ extern int kdb_getword(unsigned long *, unsigned long, size_t);
105105
extern int kdb_putword(unsigned long, unsigned long, size_t);
106106

107107
extern int kdbgetularg(const char *, unsigned long *);
108+
extern int kdbgetu64arg(const char *, u64 *);
108109
extern char *kdbgetenv(const char *);
109110
extern int kdbgetaddrarg(int, const char **, int*, unsigned long *,
110111
long *, char **);
@@ -216,14 +217,6 @@ extern void kdb_ps1(const struct task_struct *p);
216217
extern void kdb_print_nameval(const char *name, unsigned long val);
217218
extern void kdb_send_sig_info(struct task_struct *p, struct siginfo *info);
218219
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 */
227220
extern char *kdb_getstr(char *, size_t, char *);
228221

229222
/* Defines for kdb_symbol_print */

0 commit comments

Comments
 (0)