2008-03-20 kernel 2.6.16 bug fix patch 21 ("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-21-october2005.tar.gz / MD5 ... accumulated patch, recommended (2008-03-20)

linux-2.6.16-s390-21-october2005-patches.tar.gz / MD5 ... per-problem-patches, recommended (2008-03-20)

This patch contains the following linux kernel bug fixes:

Description:
cio: CHPID configuration event is ignored.
Symptom:
Linux does not automatically configure a CHPID on/off when a respective configure operation is triggered through the 'Card Reseat/Replace' dialog at the SE.
Problem:
Configure events are incorrectly filtered out with warning message 'reporting source (0000) isn't a chpid!'.
Solution:
Move check for reporting source to the correct position.
Problem-ID:
42079
Description:
cio: Correctly handle partial SENSE ID response.
Symptom:
Devices are being un-registered due to an apparent change in device ID information.
Problem:
Not all error conditions are correctly handled during SENSE ID processing. As a result, partial/invalid ID information is being accepted.
Solution:
Use proper error handling during SENSE ID processing.
Problem-ID:
42123
Description:
dasd: Add support for enhanced VM UID.
Symptom:
Different z/VM minidisks on the same real device have the same UID.
Problem:
UIDs are generated based on information about the real device. Therefore two minidisks defined on the same real device have the same UID.
Solution:
With the PTF for APAR VM64273, z/VM provides a unique identifier that allows to distinguish between virtual disks on the same real device. This patch adds the identifier to the UID. To benefit from this patch, the corresponding z/VM PTF has to be installed.
Note that having only the Linux support without having the z/VM support will not cause any problems, but lead to the same behavior as before.
Problem-ID:
34345
Description:
dasd: Fix ifcc handling.
Symptom:
The dasd default ERP runs out of re-tries.
Problem:
There is no correct handling of Interface Control Checks (ifcc).
Solution:
Implement the correct handling of ifcc. First re-try the request up to 255 times and when all re-tries fail, try an alternate path if available.
Problem-ID:
42187
Description:
dasd: Fix loop in request expiration handling.
Symptom:
I/O on a DASD is blocked and message log shows a lot of messages that say 'termination failed, retrying in 5s' but the message repeats several times a second and not just every 5 seconds.
Problem:
The first thing we do in the dasd device tasklet is to check for expired requests. When a expired cqr is found, we try to terminate that request so that we can give it a fresh start. If this termination fails, we want to wait for 5 seconds and do the same check/termination again.
We set up a timer, which will schedule the tasklet in 5 seconds. Unfortunately the termination function itself schedules the tasklet as well, so the tasklet will be executed again right after it finished and will find the expired cqr. If the termination failed due to a hardware problem it will probably fail again, and we are stuck in a loop until the hardware allows termination again.
Solution:
The schedule in the termination function may be needed in other contexts, so if we want to give a request some more time, we need to add this time to it's 'expires' value.
Problem-ID:
42414
Description:
kernel: Re-boot from alternative device does not work correctly.
Symptom:
The following scenario fails: In step 3 on newer IBM System z under LPAR, DASD 'A' will be booted instead of DASD 'B'.
Problem:
The reason is that in step 2 we use CCW re-ipl and in step 3 we use DIAG308 (subcode 3) re-ipl. DIAG308 does not notice the CCW re-ipl and still thinks that it has to re-boot DASD 'A'.
Solution:
For z9 (and newer) use DIAG308 subcode 5 and 3. For older machines use CCW re-ipl. DIAG308 subcode 5 is now also used for 'dump on panic', which uses the same mechanism as re-ipl.
IMPORTANT: For z9 machines ensure that you have MCF RJ9967101E or z9 GA3 base driver installed. Otherwise Linux re-boot will not work.
Problem-ID:
41195
Description:
kernel: aes_s390 decrypt operation may produce wrong results in CBC mode.
Symptom:
Possible data corruption using aes_s390 with dm-crypt.
Problem:
In CBC mode the Initialization Vector (IV) is used to chain consecutive data blocks. aes_s390 is missing the write back of the IV if decrypting in CBC mode. If multiple data blocks are decrypted the plain text may be wrong.
Solution:
Write back the IV in CBC mode.
Problem-ID:
42415
Description:
kernel: Incorrect re-ipl NSS name attribute when defsys or savesys command fails to create a kernel NSS.
Symptom:
/sys/firmware/reipl/nss/name contains the NSS name when defsys or savesys command fails.
Problem:
The kernel_nss_name does not get cleared when defsys or savesys command fails. Then it gets copied into the re-ipl NSS name attribute.
Solution:
Clear the kernel_nss_name when defsys or savesys command fails.
Problem-ID:
-
Description:
lcs: CCL-sequence numbers required only for protocol 802.2 packets.
Symptom:
Slow CCL response time.
Problem:
Non-ETH_P_802_2 packets are not delivered to NDH for CCL. But CCL detects missing sequence numbers, which cause a serious performance problem with CCL.
Solution:
Assign sequence numbers to 802.2 packets only.
Problem-ID:
43012
Description:
qdio/zfcp: Slow database write I/O to FCP/SCSI disk.
Symptom:
Database write I/O to FCP/SCSI disk gets caught repeatedly. Running on LPAR database load times increase by more than factor 10x compared to ECKD disks.
Problem:
qdio tries to avoid adapter interrupts by exploiting a certain kind of polling state. In a certain scenario, when leaving this state, qdio may overlook an arrived buffer. This scenario occurs only for zfcp-usage, not for qeth-usage.
Solution:
Make sure qdio takes notice of additionally arriving buffers in any cases.
Problem-ID:
42681
Description:
qdio: Change in timeout handling during qdio establish.
Symptom:
System hang when establishing qdio queues.
Problem:
If qdio establish runs in parallel with a channel error, ccw_device_start_timeout may not trigger the qdio_timeout_handler. In this case none of the states ESTABLISHED nor ERROR is reached and the following wait_event hangs forever.
Solution:
Do not make use of the timeout option with ccw_device_start, but add a timeout to the following wait_event.
Problem-ID:
43126
Description:
qeth: CCL-sequence numbers required only for protocol 802.2 packets.
Symptom:
Slow CCL response time.
Problem:
Non-ETH_P_802_2 packets are not delivered to NDH for CCL. But CCL detects missing sequence numbers, which cause a serious performance problem with CCL.
Solution:
Assign sequence numbers to 802.2 packets only.
Problem-ID:
42811
Description:
qeth: Receive (RX-SG) on HiperSockets creates invalid packets.
Symptom:
Invalid IP packets are created, when receive-scatter/gather (RX-SG) is utilized in qeth. Typically the IP header is dropped.
Problem:
When receiving on HiperSockets and the first SBALE buffer is filled with data chunks smaller than 64 bytes, these data bytes are dropped.
Solution:
Insert data from SBALE properly into skb structure.
Problem-ID:
42864
Description:
qeth: Recovery problems with failing STARTLAN.
Symptom:
Linux does not fully recover an OSA-device interface.
Problem:
Solution:
Problem-ID:
43124
Description:
qeth: Revert copying of outgoing skbs.
Symptom:
High CPU costs and and less network throughput.
Problem:
Technically it is correct to copy/unshare outgoing skbs before manipulating them, but this increases CPU costs.
Solution:
Since the packet socket support for the qeth driver is anyway broken for most outgoing frames we decide to go with another broken packet socket frame rather the high CPU costs.
Problem-ID:
41622
Description:
sclp: Console lock-up during SE warmstart.
Symptom:
HMC operating system console no longer processes input.
Problem:
State change event caused by warmstart invalidates event mask.
Solution:
Fix mask naming inconsistency in state change handler.
Problem-ID:
42413
Description:
vmlogrdr: Can not open device a second time.
Symptom:
When opening and closing one of the vmlogrdr devices for the first time, everything seems to work fine, but when you try to open it again it fails.
Problem:
When opening the device a connection to the iucv service is established but this connection is not severed when the device is closed. On the second open a new connection can not be established.
Solution:
Severe the iucv connection when closing the device.
Problem-ID:
-
Description:
zcrypt: AP polling thread needs to be disabled per default.
Symptom:
Bad performance when enabled while running in z/VM.
Problem:
High CPU load.
Solution:
Disable AP polling thread per default.
Problem-ID:
42165
Description:
zfcp: Fix handling for boxed port after physical close.
Symptom:
zfcp escalates ERP to re-open the adapter after a remote port disappeared.
Problem:
When two or more Linux systems share one adapter and see the same remote port, both get informed about the broken remote port and both will issue a 'close physical port' at the same time during the 'port reopen' procedure. As a result, one Linux will receive a good status for the 'close physical port' request and the other one boxed. The problem is that the boxed response here is actually a 'good' status and the procedure can continue without escalation to adapter re-open.
Solution:
Treat the 'boxed' response for 'close physical port' the same as the 'good' response.
Problem-ID:
42000

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)
+ linux-2.6.16-s390-15-october2005.diff (IBM)
+ linux-2.6.16-s390-16-october2005.diff (IBM)
+ linux-2.6.16-s390-17-october2005.diff (IBM)
+ linux-2.6.16-s390-18-october2005.diff (IBM)
+ linux-2.6.16-s390-19-october2005.diff (IBM)
+ linux-2.6.16-s390-20-october2005.diff (IBM)
+ linux-2.6.16-s390-21-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.