<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/kernel/traps.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-02-24T22:54:30Z</updated>
<entry>
<title>s390: remove task_show_regs</title>
<updated>2011-02-24T22:54:30Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2011-02-15T08:43:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=780a56a9ead19b8605dc6a67cf3e1160eb780a04'/>
<id>urn:sha1:780a56a9ead19b8605dc6a67cf3e1160eb780a04</id>
<content type='text'>
commit 261cd298a8c363d7985e3482946edb4bfedacf98 upstream.

task_show_regs used to be a debugging aid in the early bringup days
of Linux on s390. /proc/&lt;pid&gt;/status is a world readable file, it
is not a good idea to show the registers of a process. The only
correct fix is to remove task_show_regs.

Reported-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>[S390] remove ieee_instruction_pointer from thread_struct</title>
<updated>2010-10-25T14:10:20Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2010-10-25T14:10:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ba6cadfebc18f786ef4e60e9ff03f9656ce3d584'/>
<id>urn:sha1:ba6cadfebc18f786ef4e60e9ff03f9656ce3d584</id>
<content type='text'>
The ieee_instruction_pointer can not be read from user space anymore
since git commit 613e1def6b52c399a8b72a5e11bc2e57d2546fb8, the ptrace
interface always returns zero. Remove it from the thread_struct. It
is still present in the user_regs_struct for compatability reasons.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] cleanup lowcore access from program checks</title>
<updated>2010-10-25T14:10:19Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2010-10-25T14:10:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1e54622e0403891b10f2105663e0f9dd595a1f17'/>
<id>urn:sha1:1e54622e0403891b10f2105663e0f9dd595a1f17</id>
<content type='text'>
Read all required fields for program checks from the lowcore in the
first level interrupt handler in entry[64].S. If the context that
caused the fault was enabled for interrupts we can now re-enable the
irqs in entry[64].S.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] debug: enable exception-trace debug facility</title>
<updated>2010-05-17T08:00:17Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2010-05-17T08:00:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab3c68ee5fd329ba48094d3417fd60e30ea14a87'/>
<id>urn:sha1:ab3c68ee5fd329ba48094d3417fd60e30ea14a87</id>
<content type='text'>
The exception-trace facility on x86 and other architectures prints
traces to dmesg whenever a user space application crashes.
s390 has such a feature since ages however it is called
userprocess_debug and is enabled differently.
This patch makes sure that whenever one of the two procfs files

/proc/sys/kernel/userprocess_debug
/proc/sys/debug/exception-trace

is modified the contents of the second one changes as well.
That way we keep backwards compatibilty but also support the same
interface like other architectures do.
Besides that the output of the traces is improved since it will now
also contain the corresponding filename of the vma (when available)
where the process caused a fault or trap.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] user space fault: report fault before calling do_exit</title>
<updated>2010-05-17T08:00:16Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2010-05-17T08:00:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ea50968274673ea7b58695efec2eeb55ca2f5dd'/>
<id>urn:sha1:6ea50968274673ea7b58695efec2eeb55ca2f5dd</id>
<content type='text'>
Report user space faults before calling do_exit, since do_exit does
not return and therefore we will never see the fault message on the
console.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] ptrace: dont abuse PT_PTRACED</title>
<updated>2009-12-18T16:43:32Z</updated>
<author>
<name>Oleg Nesterov</name>
</author>
<published>2009-12-18T16:43:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ca633fd006486ed2c2d3b542283067aab61e6dc8'/>
<id>urn:sha1:ca633fd006486ed2c2d3b542283067aab61e6dc8</id>
<content type='text'>
Nobody except ptrace itself should use task-&gt;ptrace or PT_PTRACED
directly, change arch/s390/kernel/traps.c to use the helper.

Signed-off-by: Oleg Nesterov &lt;oleg@redhat.com&gt;
Acked-by: Roland McGrath &lt;roland@redhat.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] fix dump_stack vs. %p and (null)</title>
<updated>2009-03-26T14:24:02Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2009-03-26T14:23:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d7fd5f1e3b195a8232b3ed768ac2809ddce8ca46'/>
<id>urn:sha1:d7fd5f1e3b195a8232b3ed768ac2809ddce8ca46</id>
<content type='text'>
The s390 implemenation of dump_stack uses %p to display stack content.
Since d97106ab53f812910a62d18afb9dbe882819c1ba (Make %p print '(null)'
for NULL pointers) this causes a strange output for dump_stack:

[...]
Process basename (pid: 8822, task: 00000000b2ece038, ksp: 00000000b24d7b38)
04000000b5685c00 00000000b24d7760 0000000000000002 (null)
00000000b24d7800 00000000b24d7778 00000000b24d7778 00000000001052fe
(null) 00000000b24d7b38 (null) 000000000000000a
000000000000000d (null) 00000000b24d7760 00000000b24d77d8
000000000051a7e8 00000000001052fe 00000000b24d7760 00000000b24d77b0
Call Trace:
[...]

This patch changes our dump_stack to use the appropriate %x format.

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Move show_regs to traps.c.</title>
<updated>2008-04-30T11:38:43Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-04-30T11:38:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4e83be7b24ba4fe40acf0b967bd6ae8c9ac79bde'/>
<id>urn:sha1:4e83be7b24ba4fe40acf0b967bd6ae8c9ac79bde</id>
<content type='text'>
This is where it should be and we can get rid of some externs
and a static inline function.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] kernel: show last breaking-event-address on oops</title>
<updated>2008-04-17T05:47:07Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2008-04-17T05:46:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9e74a6b8983c2653dd2a6f51e634efa281e95d59'/>
<id>urn:sha1:9e74a6b8983c2653dd2a6f51e634efa281e95d59</id>
<content type='text'>
Newer s390 models have a breaking-event-address-recording register.
Each time an instruction causes a break in the sequential instruction
execution, the address is saved in that hardware register. On a program
interrupt the address is copied to the lowcore address 272-279, which
makes it software accessible.

This patch changes the program check handler and the stack overflow
checker to copy the value into the pt_regs argument.
The oops output is enhanced to show the last known breaking address.
It might give additional information if the stack trace is corrupted.

The feature is only available on 64 bit.

The new oops output looks like:

[---------snip----------]
Modules linked in: vmcp sunrpc qeth_l2 dm_mod qeth ccwgroup
CPU: 2 Not tainted 2.6.24zlive-host #8
Process modprobe (pid: 4788, task: 00000000bf3d8718, ksp: 00000000b2b0b8e0)
Krnl PSW : 0704200180000000 000003e000020028 (vmcp_init+0x28/0xe4 [vmcp])
           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
Krnl GPRS: 0000000004000002 000003e000020000 0000000000000000 0000000000000001
           000000000015734c ffffffffffffffff 000003e0000b3b00 0000000000000000
           000003e00007ca30 00000000b5bb5d40 00000000b5bb5800 000003e0000b3b00
           000003e0000a2000 00000000003ecf50 00000000b2b0bd50 00000000b2b0bcb0
Krnl Code: 000003e000020018: c0c000040ff4       larl    %r12,3e0000a2000
           000003e00002001e: e3e0f0000024       stg     %r14,0(%r15)
           000003e000020024: a7f40001           brc     15,3e000020026
          &gt;000003e000020028: e310c0100004       lg      %r1,16(%r12)
           000003e00002002e: c020000413dc       larl    %r2,3e0000a27e6
           000003e000020034: c0a00004aee6       larl    %r10,3e0000b5e00
           000003e00002003a: a7490001           lghi    %r4,1
           000003e00002003e: a75900f0           lghi    %r5,240
Call Trace:
([&lt;000000000014b300&gt;] blocking_notifier_call_chain+0x2c/0x40)
 [&lt;000000000015735c&gt;] sys_init_module+0x19d8/0x1b08
 [&lt;0000000000110afc&gt;] sysc_noemu+0x10/0x16
 [&lt;000002000011cda2&gt;] 0x2000011cda2
Last Breaking-Event-Address:
 [&lt;000003e000020024&gt;] vmcp_init+0x24/0xe4 [vmcp]
[---------snip----------]

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Fix a lot of sparse warnings.</title>
<updated>2008-04-17T05:47:06Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-04-17T05:46:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a806170e29c5468b1d641a22518243bdf1b8d58b'/>
<id>urn:sha1:a806170e29c5468b1d641a22518243bdf1b8d58b</id>
<content type='text'>
Most noteable part of this commit is the new local header file entry.h
which contains all the function declarations of functions that get only
called from asm code or are arch internal. That way we can avoid extern
declarations in C files.
This is more or less the same that was done for sparc64.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
</content>
</entry>
</feed>
