Kernel patches

2006-04-28 kernel 2.4.21 bug fix patch 33 ("June 2003")

If you download any software from this web site please be aware of the Warranty Disclaimer and Limitation of Liabilities.

linux-2.4.21-s390-33-june2003.tar.gz / MD5 ... accumulated patch, recommended (2006-04-28)

linux-2.4.21-s390-33-june2003-patches.tar.gz / MD5 ... per problem patches, recommended (2006-04-28)

These patches contain the following linux kernel bug fixes:

Description:
kernel: Missing error check on signal frame setup.
Symptom:
User space application does not return to kernel after signal handling.
Problem:
The return value of __put_user() which writes the syscall opcode to user space is not checked. Even if this __put_user() fails the user space application will run again instead of sending it a SIGSEGV.
Solution:
Check return value of __put_user().
Problem-ID:
23074 - Note: If you apply this patch, please also apply next patch (23074 "kernel: Bug in setup_rt_frame()") on top.
Description:
kernel: Bug in setup_rt_frame().
Symptom:
Process terminates unexpectedly.
Problem:
setup_rt_frame() writes the wrong system call number on the stackframe. When the signal handler returns via this system call the kernel terminates the process.
Solution:
Use correct system call number.
Problem-ID:
23074
Description:
kernel: Make cmm related proc entries world readable.
Symptom:
Permission denied when trying to read from /proc/sys/vm/cmm_*.
Problem:
The permission bits for the cmm entries in the /proc filesystem are set to 0600.
Solution:
Set the permission bits to 0644.
Problem-ID:
22497
Description:
kernel: Signal handling bug.
Symptom:
Process crashes on signal delivery.
Problem:
If a signal handler has been established with the SA_ONSTACK option but no alternate stack is provided with sigaltstack(), the kernel still tries to install the alternate stack. Also when setting an alternate stack with sigalstack() and the SS_DISABLE flag, the kernel tries to install the alternate stack on signal delivery.
Solution:
Use the correct condition sas_ss_flags() to check if the alternate stack has to be used.
Problem-ID:
23355
Description:
qeth: Layer2 VLAN fails to ping.
Symptom:
"Network Unreachable" as ping response.
Problem:
For VLAN-traffic the header is enhanced by extra 4 bytes on top of the Ethernet header. In the inbound path of the qeth driver an additional "skb_pull(skb,VLAN_HLEN)" is necessary. But it is invoked twice and thus ping traffic is corrupted.
Solution:
Remove duplicate "skb_pull(skb,VLAN_HLEN)".
Problem-ID:
22524
Description:
z90crypt: Analysis revealed a possible memory overlay.
Symptom:
Kernel oops.
Problem:
Incorrect size for an array.
Solution:
Use sizeof() as the array dimension.
Problem-ID:
22773
Description:
z90crypt: Analysis revealed unreachable code.
Symptom:
Error messages never generated under certain conditions.
Problem:
Extraneous check of variable for non-zero value.
Solution:
Remove extraneous check.
Problem-ID:
22772

Everybody should apply this patch.

To create the complete linux kernel sources, the following patches need to be applied in sequence:

linux-2.4.21.tar.gz (see www.kernel.org)
+ linux-2.4.21-s390-june2003.diff (IBM)
+ linux-2.4.21-s390-01-june2003.diff (IBM)
+ linux-2.4.21-s390-02-june2003.diff (IBM)
+ linux-2.4.21-s390-03-june2003.diff (IBM)
+ linux-2.4.21-s390-04-june2003.diff (IBM)
+ linux-2.4.21-s390-05-june2003.diff (IBM)
+ linux-2.4.21-s390-06-june2003.diff (IBM)
+ linux-2.4.21-s390-07-june2003.diff (IBM)
+ linux-2.4.21-s390-08-june2003.diff (IBM)
+ linux-2.4.21-s390-08-june2003.diff (IBM)
+ linux-2.4.21-s390-09-june2003.diff (IBM)
+ linux-2.4.21-s390-10-june2003.diff (IBM)
+ xip2fs1 (see linuxvm.org/patches/index.html)
+ xip2fs2 (see linuxvm.org/patches/index.html)
+ linux-2.4.21-s390-11-june2003.diff (IBM)
+ linux-2.4.21-s390-12-june2003.diff (IBM)
+ linux-2.4.21-s390-13-june2003.diff (IBM)
+ linux-2.4.21-s390-14-june2003.diff (IBM)
+ linux-2.4.21-s390-15-june2003.diff (IBM)
+ linux-2.4.21-s390-16-june2003.diff (IBM)
+ linux-2.4.21-s390-17-june2003.diff (IBM)
+ linux-2.4.21-s390-18-fixed-june2003.diff (IBM)
+ linux-2.4.21-s390-19-june2003.diff (IBM)
+ linux-2.4.21-s390-20-june2003.diff (IBM)
+ linux-2.4.21-s390-21-june2003.diff (IBM)
+ linux-2.4.21-s390-22-june2003.diff (IBM)
+ linux-2.4.21-s390-23-june2003.diff (IBM)
+ linux-2.4.21-s390-24-june2003.diff (IBM)
+ linux-2.4.21-s390-25-june2003.diff (IBM)
+ linux-2.4.21-s390-26-june2003.diff (IBM)
+ linux-2.4.21-s390-27-june2003.diff (IBM)
+ linux-2.4.21-s390-28-june2003.diff (IBM)
+ linux-2.4.21-s390-29-june2003.diff (IBM)
+ linux-2.4.21-s390-30-june2003.diff (IBM)
+ linux-2.4.21-s390-31-june2003.diff (IBM)
+ linux-2.4.21-s390-32-june2003.diff (IBM)
+ linux-2.4.21-s390-33-june2003.diff (IBM)

Note: If On-demand timer is required, apply as last patch:
+ linux-2.4.21-s390-timer-04-june2003.diff (IBM)

Note: If you apply the above patches, you need as a minimum the 2005-02-14 version of the tape_3590 OCO module "tape3590-2.4.21-s390(x)-03-june2003.tar.gz".

Contact the IBM team

If you want to contact the Linux on System z IBM team refer to the Contact the Linux on System z IBM team page.