These patches contain the following linux kernel bug fixes:
Description:
kernel: ptrace peek and poke interface.
Symptom:
ptrace poke on a 64 bit system on acrs[15] or fpc register
can crash the kernel.
Problem:
The special cases of peek and poke on acrs[15] and the fpc
register are not handled correctly. A poke on acrs[15] will
clobber the 4 bytes after the access registers in the
thread_info structure. That happens to be the kernel stack
pointer. A poke on the fpc with an invalid value is not
caught by the validity check correctly. On the next context
switch the broken fpc value will cause a program check in
the kernel.
Solution:
Correctly handle the special cases for acrs[15] and fpc.
Problem-ID:
15792
Note:
applicable for 64-bit Linux, only
Description:
kernel: user access context check.
Symptom:
Console message "bad: scheduling while atomic!".
Problem:
A kernel compiled with preemption sometimes prints a message
on the console about bad scheduling. That happens if the
interrupted context was disabled for preemption. The check
for no context in do_exception on checks for hard and soft
interrupts by using in_interrupt() but not for preemption.
Solution:
Use in_atomic() instead of in_interrupt() in do_exception.
in_atomic checks for disabled preemption as well.
Problem-ID:
15294
Description:
qeth: dhcp does not work with qdio HSTR (high speed token ring).
Symptom:
dhcp client does not get IP configuration data from the dhcp
server, when qeth runs in layer 3 mode.
Problem:
Fake_ll is not implemented for HSTR. Token ring packages
got leading ethernet header, which was not correct.
Solution:
Implement fake_ll for HSTR. Now all token ring packages
get a faked token ring header.
Problem-ID:
15734
Everybody should apply this patch.
To create the complete linux kernel sources, the following
patches need to be applied in sequence: