lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 11 Jul 2011 01:46:47 -0600 From: Jim Cromie <jim.cromie@...il.com> To: jbaron@...hat.com Cc: linux-kernel@...r.kernel.org, bvanassche@....org, joe@...ches.com, gregkh@...e.de, gnb@...h.org, Jim Cromie <jim.cromie@...il.com> Subject: [PATCH 12/21] dynamic_debug: document use of pending queries at boot-time Add paragraph that pending-queries are checked when modules are loaded, so debug statements can be used in module_init functions. Signed-off-by: Jim Cromie <jim.cromie@...il.com> --- Documentation/dynamic-debug-howto.txt | 34 +++++++++++++++++++++++++------- 1 files changed, 26 insertions(+), 8 deletions(-) diff --git a/Documentation/dynamic-debug-howto.txt b/Documentation/dynamic-debug-howto.txt index f959909..49b75b81 100644 --- a/Documentation/dynamic-debug-howto.txt +++ b/Documentation/dynamic-debug-howto.txt @@ -92,8 +92,18 @@ nullarbor:~ # echo -c 'file svcsock.c\nline 1603 +p' > nullarbor:~ # echo -n 'file svcsock.c line 1603 +p' > <debugfs>/dynamic_debug/control -Commands are bounded by a write() system call. If you want to do -multiple commands you need to do a separate "echo" for each, like: +Commands are bounded by a write() system call. Subject to this limit +(or 1024 for boot-line parameter) you can send multiple commands, +separated by ';' + +foo:~ # echo "module nsc_gpio +p ; module pc8736x_gpio +p ; " \ + "module scx200_gpio +p " > /dbg/dynamic_debug/control + +Multiple commands are processed independently, this allows you to send +commands which may fail, for example if a module is not present. The +last failing command returns its error. + +Or you can do an "echo" for each, like: nullarbor:~ # echo 'file svcsock.c line 1603 +p' > /proc/dprintk ;\ > echo 'file svcsock.c line 1563 +p' > /proc/dprintk @@ -110,11 +120,12 @@ specifications, followed by a flags change specification. command ::= match-spec* flags-spec -The match-spec's are used to choose a subset of the known dprintk() +The match-specs are used to choose a subset of the known dprintk() callsites to which to apply the flags-spec. Think of them as a query -with implicit ANDs between each pair. Note that an empty list of -match-specs is possible, but is not very useful because it will not -match any debug statement callsites. +with implicit ANDs between each pair. This means that multiple specs +of a given type are nonsense; a module cannot match A and B +simultaneously. Note that an empty list of match-specs is legal but +pointless, it will not match any debug statement callsites. A match specification comprises a keyword, which controls the attribute of the callsite to be compared, and a value to compare against. Possible @@ -232,13 +243,20 @@ QUERY follows the syntax described above, but must not exceed 1023 characters. The enablement of debug messages is done as an arch_initcall. Thus you can enable debug messages in all code processed after this arch_initcall via this boot parameter. -On an x86 system for example ACPI enablement is a subsys_initcall and -ddebug_query="file ec.c +p" + +On an x86 system for example ACPI enablement is a subsys_initcall, so + ddebug_query="file ec.c +p" will show early Embedded Controller transactions during ACPI setup if your machine (typically a laptop) has an Embedded Controller. PCI (or other devices) initialization also is a hot candidate for using this boot parameter for debugging purposes. +You can also give queries for modules which are not yet loaded, but +will be, via udev or /etc/modules. These queries are saved to a +pending-queries list, and are applied when the module is loaded, and +before the module's init function is invoked. Note that modules which +have no debug messages do not trigger this, so queries for them will +remain on the pending-list until reboot. Examples ======== -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists