<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/debug/kdb, branch v3.13</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/kernel/debug/kdb?h=v3.13</id>
<link rel='self' href='https://git.amat.us/linux/atom/kernel/debug/kdb?h=v3.13'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-10-03T16:47:54Z</updated>
<entry>
<title>kdb: Add support for external NMI handler to call KGDB/KDB</title>
<updated>2013-10-03T16:47:54Z</updated>
<author>
<name>Mike Travis</name>
<email>travis@sgi.com</email>
</author>
<published>2013-10-02T15:14:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8daaa5f8261bffd2f6217a960f9182d0503a5c44'/>
<id>urn:sha1:8daaa5f8261bffd2f6217a960f9182d0503a5c44</id>
<content type='text'>
This patch adds a kgdb_nmicallin() interface that can be used by
external NMI handlers to call the KGDB/KDB handler.  The primary
need for this is for those types of NMI interrupts where all the
CPUs have already received the NMI signal.  Therefore no
send_IPI(NMI) is required, and in fact it will cause a 2nd
unhandled NMI to occur. This generates the "Dazed and Confuzed"
messages.

Since all the CPUs are getting the NMI at roughly the same time,
it's not guaranteed that the first CPU that hits the NMI handler
will manage to enter KGDB and set the dbg_master_lock before the
slaves start entering. The new argument "send_ready" was added
for KGDB to signal the NMI handler to release the slave CPUs for
entry into KGDB.

Signed-off-by: Mike Travis &lt;travis@sgi.com&gt;
Acked-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Reviewed-by: Dimitri Sivanich &lt;sivanich@sgi.com&gt;
Reviewed-by: Hedi Berriche &lt;hedi@sgi.com&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
Link: http://lkml.kernel.org/r/20131002151417.928886849@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>kdb: Remove unhandled ssb command</title>
<updated>2013-03-02T14:52:20Z</updated>
<author>
<name>Vincent</name>
<email>vincent.stehle@laposte.net</email>
</author>
<published>2013-02-12T10:34:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=36dfea42cc35509b481377980338cc3b89d79256'/>
<id>urn:sha1:36dfea42cc35509b481377980338cc3b89d79256</id>
<content type='text'>
The 'ssb' command can only be handled when we have a disassembler, to check for
branches, so remove the 'ssb' command for now.

Signed-off-by: Vincent Stehlé &lt;vincent.stehle@laposte.net&gt;
Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>kdb: Prevent kernel oops with kdb_defcmd</title>
<updated>2013-03-02T14:52:19Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2013-02-04T16:35:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a37372f6c3c03dc7613eaae8bb3458c8068f5fff'/>
<id>urn:sha1:a37372f6c3c03dc7613eaae8bb3458c8068f5fff</id>
<content type='text'>
The kdb_defcmd can only be used to display the available command aliases
while using the kernel debug shell.  If you try to define a new macro
while the kernel debugger is active it will oops.  The debug shell
macros must use pre-allocated memory set aside at the time kdb_init()
is run, and the kdb_defcmd is restricted to only working at the time
that the kdb_init sequence is being run, which only occurs if you
actually activate the kernel debugger.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>kdb: Remove the ll command</title>
<updated>2013-03-02T14:52:19Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2013-02-04T16:35:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1b2caa2dcb8f18d2be9c5c3c992cb6da03f1a70a'/>
<id>urn:sha1:1b2caa2dcb8f18d2be9c5c3c992cb6da03f1a70a</id>
<content type='text'>
Recently some code inspection was done after fixing a problem with
kmalloc used while in the kernel debugger context (which is not
legal), and it turned up the fact that kdb ll command will oops the
kernel.

Given that there have been zero bug reports on the command combined
with the fact it will oops the kernel it is clearly not being used.
Instead of fixing it, it will be removed.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>kdb_main: fix help print</title>
<updated>2013-03-02T14:52:18Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2013-02-04T15:52:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=074604af21c971cf2fcfaa0f6012b4b0c9ca891a'/>
<id>urn:sha1:074604af21c971cf2fcfaa0f6012b4b0c9ca891a</id>
<content type='text'>
The help command was chopping all the usage instructions such that
they were not readable.

Example:

bta             [D|R|S|T|C|Z|E|U|I| Backtrace all processes matching state flag
per_cpu         &lt;sym&gt; [&lt;bytes&gt;] [&lt;c Display per_cpu variables

Where as it should look like:

bta             [D|R|S|T|C|Z|E|U|I|M|A]
                                    Backtrace all processes matching state flag
per_cpu         &lt;sym&gt; [&lt;bytes&gt;] [&lt;cpu&gt;]
                                    Display per_cpu variables

All that is needed is to check the how long the cmd_usage is and jump
to the next line when appropriate.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>kdb: Fix overlap in buffers with strcpy</title>
<updated>2013-03-02T14:52:18Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2013-02-03T15:32:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4eb7a66d9410927fb8fbafad8b8298b627cdd128'/>
<id>urn:sha1:4eb7a66d9410927fb8fbafad8b8298b627cdd128</id>
<content type='text'>
Maxime reported that strcpy(s-&gt;usage, s-&gt;usage+1) has no definitive
guarantee that it will work on all archs the same way when you have
overlapping memory.  The fix is simple for the kdb code because we
still have the original string memory in the function scope, so we
just have to use that as the argument instead.

Reported-by: Maxime Villard &lt;rustyBSD@gmx.fr&gt;
Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>kdb: Setup basic kdb state before invoking commands via kgdb</title>
<updated>2013-03-02T14:52:17Z</updated>
<author>
<name>Matt Klein</name>
<email>mklein@twitter.com</email>
</author>
<published>2013-01-02T21:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=00370b8f8dd6e3171b8202f9c5187a5f73e99497'/>
<id>urn:sha1:00370b8f8dd6e3171b8202f9c5187a5f73e99497</id>
<content type='text'>
Although invasive kdb commands are not supported via kgdb, some useful
non-invasive commands like bt* require basic kdb state to be setup before
calling into the kdb code. Factor out some of this code and call it before
and after executing kdb commands via kgdb.

Signed-off-by: Matt Klein &lt;mklein@twitter.com&gt;
Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>kdb: use ARRAY_SIZE where possible</title>
<updated>2013-03-02T14:52:17Z</updated>
<author>
<name>Sasha Levin</name>
<email>sasha.levin@oracle.com</email>
</author>
<published>2012-12-20T19:11:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5f784f798c1a6367d314b3ea5d742a5dcc8dc7ca'/>
<id>urn:sha1:5f784f798c1a6367d314b3ea5d742a5dcc8dc7ca</id>
<content type='text'>
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>kdb: A fix for kdb command table expansion</title>
<updated>2013-03-02T14:52:16Z</updated>
<author>
<name>John Blackwood</name>
<email>john.blackwood@ccur.com</email>
</author>
<published>2012-12-10T21:37:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f7c82d5a3c537a4b4d9d0395db4606bf4d3c7a5f'/>
<id>urn:sha1:f7c82d5a3c537a4b4d9d0395db4606bf4d3c7a5f</id>
<content type='text'>
When locally adding in some additional kdb commands, I stumbled
across an issue with the dynamic expansion of the kdb command table.
When the number of kdb commands exceeds the size of the statically
allocated kdb_base_commands[] array, additional space is allocated in
the kdb_register_repeat() routine.

The unused portion of the newly allocated array was not being initialized
to zero properly and this would result in segfaults when help '?' was
executed or when a search for a non-existing command would traverse the
command table beyond the end of valid command entries and then attempt
to use the non-zeroed area as actual command entries.

Signed-off-by: John Blackwood &lt;john.blackwood@ccur.com&gt;
Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>module: add new state MODULE_STATE_UNFORMED.</title>
<updated>2013-01-12T02:57:05Z</updated>
<author>
<name>Rusty Russell</name>
<email>rusty@rustcorp.com.au</email>
</author>
<published>2013-01-12T01:08:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0d21b0e3477395e7ff2acc269f15df6e6a8d356d'/>
<id>urn:sha1:0d21b0e3477395e7ff2acc269f15df6e6a8d356d</id>
<content type='text'>
You should never look at such a module, so it's excised from all paths
which traverse the modules list.

We add the state at the end, to avoid gratuitous ABI break (ksplice).

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
</feed>
