Re: [PATCH] x86/kgdb: return 0 from kgdb_arch_set_breakpoint

From: Nadav Amit
Date: Fri May 31 2019 - 15:55:31 EST


> On May 31, 2019, at 12:47 PM, Matt Mullins <mmullins@xxxxxx> wrote:
>
> err must be nonzero in order to reach text_poke(), which caused kgdb to
> fail to set breakpoints:
>
> (gdb) break __x64_sys_sync
> Breakpoint 1 at 0xffffffff81288910: file ../fs/sync.c, line 124.
> (gdb) c
> Continuing.
> Warning:
> Cannot insert breakpoint 1.
> Cannot access memory at address 0xffffffff81288910
>
> Command aborted.
>
> Fixes: 86a22057127d ("x86/kgdb: Avoid redundant comparison of patched code")
> Signed-off-by: Matt Mullins <mmullins@xxxxxx>
> ---
> arch/x86/kernel/kgdb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c
> index 9a8c1648fc9a..6690c5652aeb 100644
> --- a/arch/x86/kernel/kgdb.c
> +++ b/arch/x86/kernel/kgdb.c
> @@ -758,7 +758,7 @@ int kgdb_arch_set_breakpoint(struct kgdb_bkpt *bpt)
> BREAK_INSTR_SIZE);
> bpt->type = BP_POKE_BREAKPOINT;
>
> - return err;
> + return 0;
> }
>
> int kgdb_arch_remove_breakpoint(struct kgdb_bkpt *bpt)
> --
> 2.17.1

My bad. Thanks for fixing it.

Reviewed-by: Nadav Amit <namit@xxxxxxxxxx>