On Tue, 12 Sep 2023 11:41:29 +0200 Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Tue, 2023-08-08 at 16:30 +0800, Kuan-Ying Lee wrote: > > Add lx-symbols <ko_path> command to support add specific > > ko module. > > I'm not sure how this was supposed to work? It should have updated the > documentation, but more importantly, it shouldn't have broken the > documented usage of this command: > > The kernel (vmlinux) is taken from the current working directly. Modules (.ko) > are scanned recursively, starting in the same directory. Optionally, the module > search path can be extended by a space separated list of paths passed to the > lx-symbols command. > > Note how that talks about a "space separated list of paths" for which > clearly a single path seems like it should be accepted? > > > @@ -138,6 +139,19 @@ lx-symbols command.""" Thanks, I queued a revert. From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: revert "scripts/gdb/symbols: add specific ko module load command" Date: Tue Sep 12 09:19:10 AM PDT 2023 Revert 11f956538c07 ("scripts/gdb/symbols: add specific ko module load command") due to breakage identified by Johannes Berg in [1]. Fixes: 11f956538c07 ("scripts/gdb/symbols: add specific ko module load command") Reported-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Closes: https://lkml.kernel.org/r/c44b748307a074d0c250002cdcfe209b8cce93c9.camel@xxxxxxxxxxxxxxxx [1] Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> Cc: Chinwen Chang <chinwen.chang@xxxxxxxxxxxx> Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Cc: Kieran Bingham <kbingham@xxxxxxxxxx> Cc: Kuan-Ying Lee <Kuan-Ying.Lee@xxxxxxxxxxxx> Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx> Cc: Qun-Wei Lin <qun-wei.lin@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- scripts/gdb/linux/symbols.py | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) --- a/scripts/gdb/linux/symbols.py~revert-scripts-gdb-symbols-add-specific-ko-module-load-command +++ a/scripts/gdb/linux/symbols.py @@ -111,12 +111,11 @@ lx-symbols command.""" return "{textaddr} {sections}".format( textaddr=textaddr, sections="".join(args)) - def load_module_symbols(self, module, module_file=None): + def load_module_symbols(self, module): module_name = module['name'].string() module_addr = str(module['mem'][constants.LX_MOD_TEXT]['base']).split()[0] - if not module_file: - module_file = self._get_module_file(module_name) + module_file = self._get_module_file(module_name) if not module_file and not self.module_files_updated: self._update_module_files() module_file = self._get_module_file(module_name) @@ -139,19 +138,6 @@ lx-symbols command.""" else: gdb.write("no module object found for '{0}'\n".format(module_name)) - def load_ko_symbols(self, mod_path): - self.loaded_modules = [] - module_list = modules.module_list() - - for module in module_list: - module_name = module['name'].string() - module_pattern = ".*/{0}\.ko(?:.debug)?$".format( - module_name.replace("_", r"[_\-]")) - if re.match(module_pattern, mod_path) and os.path.exists(mod_path): - self.load_module_symbols(module, mod_path) - return - raise gdb.GdbError("%s is not a valid .ko\n" % mod_path) - def load_all_symbols(self): gdb.write("loading vmlinux\n") @@ -190,11 +176,6 @@ lx-symbols command.""" self.module_files = [] self.module_files_updated = False - argv = gdb.string_to_argv(arg) - if len(argv) == 1: - self.load_ko_symbols(argv[0]) - return - self.load_all_symbols() if hasattr(gdb, 'Breakpoint'): _