Kernel patches
- linux-2.6.5-s390-base
- linux-2.6.5-01-s390
- xip2fs
- linux-2.6.5-02-s390
- linux-2.6.5-03-s390
- gnupatch
- linux-2.6.5-04-s390
- linux-2.6.5-05-s390
- linux-2.6.5-06-s390
- linux-2.6.5-07-s390
- linux-2.6.5-08-s390
- linux-2.6.5-09-s390
- linux-2.6.5-10-s390
- linux-2.6.5-11-s390
- linux-2.6.5-12-s390
- linux-2.6.5-13-s390
- linux-2.6.5-14-s390
- linux-2.6.5-15-s390
- linux-2.6.5-16-s390
- linux-2.6.5-17-s390
- linux-2.6.5-18-s390
- linux-2.6.5-19-s390
- linux-2.6.5-20-s390
- linux-2.6.5-21-s390
- linux-2.6.5-22-s390
- linux-2.6.5-23-s390
- linux-2.6.5-24-s390
- linux-2.6.5-25-s390
- linux-2.6.5-26-s390
- linux-2.6.5-27-s390
- linux-2.6.5-28-s390
- linux-2.6.5-29-s390
- linux-2.6.5-30-s390
- linux-2.6.5-31-s390
- linux-2.6.5-32-s390
- linux-2.6.5-33-s390
- linux-2.6.5-34-s390
- linux-2.6.5-35-s390
- linux-2.6.5-36-s390
- linux-2.6.5-37-s390
- linux-2.6.5-38-s390
- linux-2.6.5-39-s390
- linux-2.6.5-40-s390
- linux-2.6.5-41-s390
- linux-2.6.5-42-s390
- linux-2.6.5-43-s390
- linux-2.6.5-44-s390
- linux-2.6.5-45-s390
- linux-2.6.5-46-s390
- linux-2.6.5-47-s390
- linux-2.6.5-48-s390
- binutils-2.15.90.0.1-s390
- gcc-3.4-s390
- glibc-2.3.2-s390
- gdb-6.1-s390
- strace-4.5.2-s390
- lkcdutils-s390
- tape_3590-2.6.5-s390
- tape_3590-2.6.5-s390-01
- tape_3590-2.6.5-s390-02
- tape_3590-2.6.5-s390-03
2005-01-24 kernel 2.6.5 bug fix patch 12 ("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-12-april2004.tar.gz / MD5 ... accumulated patch, recommended (2005-01-24)
linux-2.6.5-s390-12-april2004-patches.tar.gz / MD5 ... per-problem-patches, recommended (2005-01-24)
These patches contain the following linux kernel bug fixes:
- Description:
- cio: Various problems in machine check handling.
- Symptom:
- kslowcrw oops-es, subchannels and ccw devices do not reflect the current state of the machine, machine hangs after logical vary off/on.
- Problem:
- Double unregister of devices or live locks on the bus semaphores could be triggered. Check whether a device had a sibling in the tree was incorrect. Some information in subchannels was not updated.
- Solution:
- Rework machine check handling for devices: Do not de-register ccw devices directly from the subchannel's remove function but delay it. Subsequently, use bitops to prevent de-register of not yet registered ccw devices. Delete pending times after a machine check. Update ssd_info after de- and re-registering a device. Fix detection if another device needs to be de-registered when de- and re-registering. Fix some timing issues uncovered by the above changes.
- Problem-ID:
- 12853
- Description:
- dasd: Possible memory access violation in low memory situations.
- Symptom:
- When using any of the release device, reserve device, unconditional reserve, or performance statistics IOCTLs in a low memory situation, memory access violations may occur.
- Problem:
- Incorrect return code checking when calling a memory allocation function within these IOCTLs. Instead of aborting, an error pointer is referenced and used as buffer.
- Solution:
- Correct return code checking.
- Problem-ID:
- 12833
- Description:
- dasd: Unexpected behavior when using DASD DIAG access.
- Symptom:
- Accessing non-ECKD DASD devices via DIAG will fail for device formats with a block size other than 512 bytes. Also, after modifying the use_diag and ro sysfs-attributes of a DASD device which was not set online, reading these attributes will not return the modified value but default values.
- Problem:
- The format analysis routine expects a DIAG block read request to fail if expected and formatted block sizes do not match. This is not true for non-ECKD DASD devices. Also, the method to access the values for use_diag and ro incorrectly rely on data which is only present after a device is set online.
- Solution:
- The format analysis routine expects a DIAG block read request to fail if expected and formatted block sizes do not match. This is not true for non-ECKD DASD devices. Also, the method to access the values for use_diag and ro incorrectly rely on data which is only present after a device is set online.
- Problem-ID:
- 12835
- Description:
- kernel: Race condition between no-HZ-timer and RCU.
- Symptom:
- System may stop during boot.
- Problem:
- Race condition for a CPU that has RCU pending and goes idle.
- Solution:
- Do not let the CPU go idle if RCU is pending for this CPU.
- Problem-ID:
- 12972
- Description:
- qeth: Possible kernel BUG when displaying add4/6 sysfs attributes.
- Symptom:
- When displaying the ipa_takeover, vipa, or rxip add4/add6 sysfs attributes, a kernel BUG is triggered when a large number of ipa_takeover, vipa, or proxy ARP entries are registered.
- Problem:
- sysfs attributes may only display a buffer not larger than PAGE_SIZE.
- Solution:
- Check size of output buffer. Do not display more than PAGE_SIZE bytes.
- Problem-ID:
- 12764
- Description:
- qeth: Check if AIF is available on hardware.
- Symptom:
- Activation of HiperSocket queues failed with rc=-5.
- Problem:
- Enabling of the AIF time delay disablement facility does fail if AIF is not supporterd on hardware (e.g. on z900).
- Solution:
- Check if AIF is available on hardware.
- Problem-ID:
- 13256
- Description:
- tape: Discipline removal possible while tapes are online.
- Symptom:
- A discipline module can be removed while there are still devices online.
- Problem:
- Module count is not incremented/decremented correctly.
- Solution:
- Increment usage count when a device is set online and decrement the usage count when the device is set offline.
- Problem-ID:
- 12856
- Description:
- xip2fs: Memory leak on unmount.
- Symptom:
- Slab cache (size 32 on 64bit) grows when doing lots of mount and umount combinations.
- Problem:
- Percpu_counter initialized in fill_super, but not destroyed in put_super.
- Solution:
- Destroy percpu_counter in put_super.
- Problem-ID:
- 13020
- Description:
- zfcp: Data Miscompares with FCP attached FAStT and cable pull.
- Symptom:
- BLAST reported "File ID Miscompare" during test runs.
- Problem:
- During cable pull data underruns occurred for SCSI commands. The data underruns were not correctly reported to the SCSI stack. So the SCSI stack handled those commands as completed succesfully.
- Solution:
- Set DID_ERROR as result for SCSI commands with data underrun and correctly set resid field for such commands.
- Problem-ID:
- 10999
- Description:
- zfcp: Several race conditions in zfcp.
- Symptom:
- Possible kernel Oops when: (1) Setting an adapter online and offline while units are attached, (2) Rebooting Linux after an adapter was set offline, (3) Port is removed while an ADISC command is pending.
- Problem:
- (1) Registration of devices at SCSI stack is asynchronous. (2) When debug feature is deregistered for an adapter some dbf-pointers are not cleared which are still used during reboot. (3) Missing reference counting in link-test-procedure.
- Solution:
- (1) Make registration of devices with SCSI stack synchronous. (2) Clear pointers after debug feature is deregistered for an adapter. (3) Increment reference count for ports during link-test-procedure.
- Problem-ID:
- 13265
- Description:
- zfcp: z/VM-Guest hang-up on cable pull.
- Symptom:
- z/VM-Guest hang-up. (unable to login, no I/O, no answers to ping).
- Problem:
- Function del_timer_sync was called in interrupt context. This caused an endless loop in del_timer_sync.
- Solution:
- Use del_timer instead of del_timer_sync when running in interrupt context.
- Problem-ID:
- 12858
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)