2005-04-28 kernel 2.6.5 bug fix patch 18 ("April 2004")

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

linux-2.6.5-s390-18-april2004.tar.gz / MD5 ... accumulated patch, recommended (2005-04-28)

linux-2.6.5-s390-18-april2004-patches.tar.gz / MD5 ... per-problem-patches, recommended (2005-04-28)

These patches contain the following linux kernel bug fixes:

Description:
dasd: Write on CDL DASD's first track modifies const buffer.
Symptom:
Accessing the device directly with write and O_DIRECT on the CDL special tracks leading to modified write-buffer.
Problem:
The first blocks on CDL formatted DASD are smaller than the blocksize of the DASD device. Read requests are padded with 'e5' pattern and write request should handle the actual data and ignore the padding.
Solution:
Implement padding only for read and do not touch write buffers.
Problem-ID:
15144
Description:
iucv: Enable iucv_send2way... functions.
Symptom:
Compile errors for programs making use of iucv_send2way... functions.
Problem:
EXPORT_SYMBOL (iucv_send2way...) not activated.
Solution:
Activate EXPORT_SYMBOL (iucv_send2way...) by moving conditional compile statements.
Problem-ID:
15213
Description:
kernel: Virtual CPU timers not working.
Symptom:
No interrupts occur after programming a CPU timer.
Problem:
stop_cpu_timer() which stops the CPU timer if the system goes idle may be called twice in default_idle(). This happens if stop_hz_timer() returns due to pending RCU. In stop_cpu_timer() the current CPU timer value is saved and a maximum value is set up. If this function runs twice without calling start_cpu_timer() in between the stored value gets overwritten by the maximum value and the programmed timer is lost.
Solution:
Do not return in stop_hz_timer() if RCU is pending.
Problem-ID:
15171
Description:
lcs: Race when setting lcs device online.
Symptom:
When setting lcs device online, an error message 'lcs: Error in starting channel, rc=-16' is written and the device is not set online.
Problem:
Race between lcs_stopcard() and lcs_open_device(). lcs_open_device() is invoked when 'ifconfig up' is called due to a hotplug event, which is caused by register_netdev(). In parallel lcs_stopcard() is executed. Both functions are sending lcs commands. The second invocation fails with -EBUSY (-16) as return value.
Solution:
Move invocation of register_netdev() after invocation of lcs_stopcard.
Problem-ID:
15195
Description:
z90crypt: Writing to /proc/driver/z90crypt can cause a kernel Oops.
Symptom:
Kernel Oops.
Problem:
Incorrect bounds checking on procfs write routine.
Solution:
Replace my string scanner with strstr and better error checking.
Problem-ID:
15058
Description:
zfcp: Increase retrying of exchange config data requests up to 2 minutes.
Symptom:
If exchange config data FSF request has being sent to FCP adapter while it is initializing a connection, exchange config data could not proceed even after retries.
Problem:
In case FSF request comes back with protocol status HOST_CONNECTION_INITIALIZING zfcp module makes 6 retries sleeping for 0.5 second between each retry.
Solution:
In case of HOST_CONNECTION_INITIALIZING let make a first retry in 1 second, then double the sleep time for each following retry until recovery exceeds 2 minutes.
Problem-ID:
15083

Everybody should apply this patch.

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

linux-2.6.5.tar.gz (see www.kernel.org/pub/linux/kernel/v2.6)
+ linux-2.6.5-s390-base-april2004.diff (IBM)
+ linux-2.6.5-s390-01-april2004.diff (IBM)
+ xipfs612 (see linuxvm.org/patches/index.html)
+ xipfs622 (see linuxvm.org/patches/index.html)
+ linux-2.6.5-s390-02-april2004.diff (IBM)
+ linux-2.6.5-s390-03-april2004.diff (IBM)
+ single threaded workqueue patch (see marc.theaimsgroup.com/?l=bk-commits-head&m=108305028322900&q=raw)
+ linux-2.6.5-s390-04-april2004.diff (IBM)
+ linux-2.6.5-s390-05-april2004.diff (IBM)
+ linux-2.6.5-s390-06-april2004.diff (IBM)
+ linux-2.6.5-s390-07-april2004.diff (IBM)
+ linux-2.6.5-s390-08-april2004.diff (IBM)
+ linux-2.6.5-s390-09-april2004.diff (IBM)
+ linux-2.6.5-s390-10-april2004.diff (IBM)
+ linux-2.6.5-s390-11-april2004.diff (IBM)
+ linux-2.6.5-s390-12-april2004.diff (IBM)
+ linux-2.6.5-s390-13-april2004.diff (IBM)
+ linux-2.6.5-s390-14-april2004.diff (IBM)
+ linux-2.6.5-s390-15-april2004.diff (IBM)
+ linux-2.6.5-s390-16-april2004.diff (IBM)
+ linux-2.6.5-s390-17-april2004.diff (IBM)
+ linux-2.6.5-s390-18-april2004.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.