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: