This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

python-injected silent breakpoints broken since 1a853c52


Hi,

I've stumbled over a regression of gdb since commit 1a853c52 (make
"permanent breakpoints" per location and disableable). My gdb python
scripts [1] that load Linux kernel module symbols as the target loads
the modules now fail.

The involved command is lx-symbols [2]. It installs a silent breakpoint
on a kernel function that is called when a module is loaded. Before
1a853c52, the python callback was normally invoked and the target
continued to run. Since af48d08f (1a853c52 is not testable), the int3
instruction (I'm testing with x86) is left in the target, and garbage
instructions are executed, causing a kernel oops. The breakpoint is
apparently not properly skipped (remove, single-step, re-insert) when
resuming the target on return from LoadModuleBreakpoint.stop().

I can provide more details on how to set up a reproduction case but I
would only gather them when desired as that is not straightforward.

Jan

[1] https://lkml.org/lkml/2014/11/20/531
[2]
http://git.kiszka.org/?p=linux.git;a=blob;f=scripts/gdb/linux/symbols.py;h=bf05e451c58666add299061046bf1ceb9e82f4ef;hb=d92098e7cf60d31ccd025e56d20c23917ccd0819

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]