2007-03-23 kernel 2.6.16 bug fix patch 14 ("October 2005")

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

linux-2.6.16-s390-14-october2005.tar.gz / MD5 ... accumulated patch, recommended (2007-03-23)

linux-2.6.16-s390-14-october2005-patches.tar.gz / MD5 ... per-problem-patches, recommended (2007-03-23)

This patch contains the following linux kernel bug fixes:

Description:
cio: Retry internal operation on deferred condition code 1.
Symptom:
Devices do not come online because read configuration data fails.
Problem:
During read configuration data or read device characteristics, a status may become pending which results in a deferred condition code 1 and causes the operation to fail.
Solution:
Ignore the deferred condition code 1 since we have no way to deal with the pending status and do a retry of the operation.
Problem-ID:
32669
Description:
dasd: Use default recovery for SNSS requests.
Symptom:
For extended error reporting we sometimes have to start an Sense Subsystem Status request (SNSS). When this request needs to be recovered for some reason, the recovery request will fail with 'command reject'.
Problem:
Our usual recovery procedure will retry the failed request by creating a new request and chaining the failed request from that one. SNSS requests, though, must not be chained from anything, so the recovery request will fail permanently.
Solution:
Use the default recovery for SNSS request, which will just restart the original request without further ado.
Problem-ID:
32517
Description:
kernel: Fixed handling of access register mode faults.
Symptom:
Kernel Oops when switching to access register mode in user space.
Problem:
check_user_space() and __check_access_register() made wrong assumptions about kernel and user space when the address spaces are switched (with kernel parameter noexec or switch_amode).
Solution:
Replaced the functions with a new check_space() function that handles the access register mode correctly.
Problem-ID:
32754
Description:
kernel: Memory management fixes for cmm2.
Symptom:
Unstable system if running with cmma=on.
Problem:
There are several problems with the cmm2 code. The active versus inactive counting of discarded pages is incorrect, the pages returned from filemap_getpage and shmem_getpage need to be stable, shrink_list needs to check if a page has been discarded before adding the page to swap, and the use of on_each_cpu in page_shrink_discards can lead to a deadlock.
Solution:
Correct the counting of active pages, return stable pages in filemap_getpage and shmem_getpage, check for the discarded bit before adding pages to swap and use smp_call_function and a local, disabled call to __page_shrink_discard instead of on_each_cpu. In addition conditionally define the mlocked field in struct address_space to avoid wasting 4 bytes if CONFIG_PAGE_STATES=n.
Problem-ID:
-
Note:
applicable for 64-bit Linux, only
Description:
kernel: Reboot from and dump on SCSI disks fails on z/VM.
Symptom:
Reboot or dump stop with a disabled wait psw.
Problem:
We used wrong length values for IPL and dump hardware structures. Since z/VM checks the IPL parameters more accurately than LPAR, the operations fail there.
Solution:
Fix length values.
Problem-ID:
32886
Description:
qeth: Connection hang with AWM and EDDP.
Symptom:
Connection hang with AWM running on qeth device in EDDP mode.
Problem:
skb has no socket information stored (=NULL) when it is generated with skb_copy. Using skb->sk->sk_protocol to check for protocol type will result in invalid protocol and thus packet will not be transmitted.
Solution:
Just use sk_protocol as another parameter for qeth_eddp_create_context function.
Problem-ID:
32888
Description:
qeth: Increment sequence number for incoming packets.
Symptom:
SNA-traffic problems (Communication Controller for Linux on System z, CCL 1.1).
Problem:
CCL 1.1 can not handle SNA-traffic correctly.
Solution:
For proper CCL 1.1 support, sequence numbers need to be incremented for every arriving packet when using eth_type_trans.
Problem-ID:
32668
Description:
tape: Compression overwrites crypto setting.
Symptom:
After switching compression on/off with the mt command, tape encryption is no longer working.
Problem:
The modeset_byte is set to the compression value instead of using bitwise and/or operations to enable/disable the corresponding bit.
Solution:
Use bitwise and/or operations.
Problem-ID:
-
Description:
zfcp: Invalid pointer de-reference.
Symptom:
Incorrect data is output by the debug feature (s390dbf).
Problem:
The pointer to an fsf_req structure is interpreted as req_id (request ID).
Solution:
Correct the assignments to the reqid member in the zfcp_dbf code.
Problem-ID:
32524
Note:
applicable for 64-bit Linux, only
Description:
zfcp: Invalid pointer de-reference.
Symptom:
Kernel panic.
Problem:
Invalid type casting within zfcp code.
Solution:
Fixed false type casting.
Problem-ID:
32184
Description:
zfcp: Uninitialized pointer within error recovery processing.
Symptom:
Unrecovered devices/adapters after failure, I/O stall.
Problem:
Error recovery was never fully processed.
Solution:
Initialize pointer accordingly.
Problem-ID:
23989
Description:
zfcp: Unable to handle kernel pointer de-reference during chpid off/on.
Symptom:
Kernel Oops.
Problem:
Invalid virtual address is referenced by the kernel.
Solution:
Set pointer values to NULL after referenced memory is freed.
Problem-ID:
32720
Note:
applicable for 64-bit Linux, only

Everybody should apply this patch.

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

linux-2.6.16.tar.gz (from http://www.kernel.org/pub/linux/kernel/v2.6)
+ linux-2.6.16-s390-base-october2005.diff (IBM)
+ linux-2.6.16-s390-01-october2005.diff (IBM)
+ linux-2.6.16-s390-02-october2005.diff (IBM)
+ linux-2.6.16-s390-03-october2005.diff (IBM)
+ linux-2.6.16-s390-04-october2005.diff (IBM)
+ linux-2.6.16-s390-05-october2005.diff (IBM)
+ linux-2.6.16-s390-06-october2005.diff (IBM)
+ linux-2.6.16-s390-07-october2005.diff (IBM)
+ linux-2.6.16-s390-08-october2005.diff (IBM)
+ linux-2.6.16-s390-09-october2005.diff (IBM)
+ linux-2.6.16-s390-10-october2005.diff (IBM)
+ linux-2.6.16-s390-11-october2005.diff (IBM)
+ linux-2.6.16-s390-12-october2005.diff (IBM)
+ linux-2.6.16-s390-13-october2005.diff (IBM)
+ linux-2.6.16-s390-14-october2005.diff (IBM)

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.