2006-05-19 kernel 2.6.16 feature patch 05 ("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-05-october2005.tar.gz / MD5 ... accumulated patch, recommended (2006-07-20)

linux-2.6.16-s390-05-october2005-patches.tar.gz / MD5 ... per-problem-patches, recommended (2006-07-20)

This patch contains the following linux kernel bug fixes:

Description:
cio: pathgrouping fails due to non-unique pathgroup-IDs.
Symptom:
Grouping of channel paths for access to CCW devices fails under some circumstances due to non-unique pathgroup-IDs.
Problem:
The source for the CPU-ID part of the ID was incorrectly specified on 64 bit systems. Additionally, the length of the ID was too large due to incorrect data packing declaration.
Solution:
Fix CPU-ID lowcore address and add missing packing declaration.
Problem-ID:
24220
Description:
cio: unable to set DASD root device online.
Symptom:
Trying to set a DASD root device online fails under some circumstances with message 'Read configuration data returned error -5'.
Problem:
Function 'read configuration data' incorrectly aborts with -EIO when encountering a temporary busy condition at a storage server.
Solution:
Perform re-try when encountering temporary busy conditions.
Problem-ID:
24232
Description:
dasd: dasd_eer returns data in wrong format.
Symptom:
The dasd_eer device returns sense data in a binary record format. Each record starts with a fixed set of data fields describing the record, followed by a variable set of sense data bytes. With this problem however, there were 6 additional bytes of random data between the fixed part and the variable lenght part.
Problem:
The fixed part of the record is defined as a struct in the DASD eer code. Since this struct is part of a binary interface it should have been declared with __attribute__ ((packed)). As this was omitted, the compiler of the test system (SLES10 RC2) added 6 extra bytes of padding to the struct.
Solution:
Add __attribute__ ((packed)); to struct dasd_eer_header.
Problem-ID:
24647
Description:
kernel: wrong accounting of process time.
Symptom:
Process shows an astronomically high CPU time or a fixed point divide exception (31 bit only).
Problem:
If a machine check interrupts the asynchronous interrupt handler between storing the asynchronous enter time and doing the sums of the time spent in user space this calculation will go wrong after the machine interrupt returned. The machine check handler changes the asynchronous enter time and the last exit time but these values are still needed in the interrupted context.
Solution:
If a machine check interrupts a CPU while it is in kernel context do not change any of the timestamps.
Problem-ID:
23351
Description:
kernel: Reported memory size is wrong.
Symptom:
Reported memory size wrong or system hangs on IPL.
Problem:
The wrong base register is used to read a value from data structure. The value is used to calculate the memory size.
Solution:
Use correct register.
Problem-ID:
24316
Description:
kernel: Incomplete stack traces.
Symptom:
Incomplete stack traces in case of bugs.
Problem:
show_stack() passes a pointer to the current stack frame to show_trace(). Because of tail call optimization the pointer does not point to the original stack frame anymore and therefore traces are wrong.
Solution:
Do not pass the pointer of the current stack frame to show_trace(). Instead let show_trace() calculate the pointer on its own.
Problem-ID:
-
Description:
zfcp: ERP 'deadlock' when registering a SCSI device or remote port.
Symptom:
I/O stall when scsi commands fail during SCSI device or remote port registration.
Problem:
zfcp ERP waits for completion of SCSI device or remote port registration. The registration failed and an adapter re-open is triggered via scsi_eh. For the adapter re-open the ERP thread of zfcp is needed but this thread is blocked.
Solution:
Change adapter re-open for bus/host reset and scsi_er_timer to dismiss all FSF requests if ERP is already pending on the adapter. Thus the ERP thread will not block and can process further erp_actions.
Problem-ID:
23989

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)

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.