Kernel patches

2005-01-24 kernel 2.4.21 bug fix patch 23 ("June 2003")

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

linux-2.4.21-s390-23-june2003.tar.gz / MD5 ... accumulated patch, recommended (2005-01-24)

linux-2.4.21-s390-23-june2003-patches.tar.gz / MD5 ... per-problem-patches, recommended (2005-01-24)

These patches contain the following linux kernel bug fixes:

Description:
dasd: Fixed S390 Debug Feature usage.
Symptom:
Segmentation fault when DBF file is read.
Problem:
The sprintf event/expection function writes a pointer to format string (%s) into the log. This means that the string must be valid at the time the DBF-log is read.
Solution:
Do not write 'volatile' strings to DBF.
Problem-ID:
11957
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:
scsi: Unexpected EIOs on FCP paths during 2105 cluster resumes.
Symptom:
Blast reported I/O-errors when not expected during tests.
Problem:
IBM ESS 2105 returns HARDWARE ERROR / INTERNAL TARGET FAILURE as sense code for SCSI commands in situations where another sense code were more appropriate. The used sense code prevents the SCSI stack to retry the SCSI command.
Solution:
Do retries for SCSI commands returning with sense code HARDWARE ERROR on an IBM ESS model 2105.
Problem-ID:
7305
Description:
tape: Access to uninitialized pointer.
Symptom:
After booting a 31bit guest without clearing memory after a 64bit guest had been running, loading the tape modules causes a specification exception.
Problem:
The contents of discipline->owner are used even if discipline is NULL.
Solution:
Check discipline pointer before usage.
Problem-ID:
13044
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: Setting a failed CHPID logically offline causes kernel panic.
Symptom:
Setting an FCP CHPID offline causes "kernel BUG at sched.c:914!"
Problem:
zfcp_dio_not_oper_handler calls zfcp_erp_wait which might schedule. But not_oper_handler is not called from process context!
Solution:
Do not call zfcp_erp_wait in zfcp_dio_not_oper_handler.
Problem-ID:
12639
Description:
zfcp: System crash when trying to attach zFCP scsi luns.
Symptom:
System crashed after SCSI LUNs were attached.
Problem:
Function zfcp_scsi_command_fail does not check for possible NULL pointer as argument for unit.
Solution:
Check for NULL pointer.
Problem-ID:
13049
Description:
zfcp: Possible deadlock when syncing SCSI disks on low memory.
Symptom:
I/O stall when syncing SCSI disks on low memory.
Problem:
For GID_PN nameserver requests memory is allocated using GFP_KERNEL. When zfcp is needed to sync_page_buffers a deadlock can occure when error recovery initiates GID_PN requests.
Solution:
Use GFP_ATOMIC when allocating memory for GID_PN requests.
Problem-ID:
13075
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
Description:
zfcp_hbaapi: kernel Oops when several clients are running.
Symptom:
Kernel Oops (Unable to handle kernel pointer dereference) in zh_ioc_event.
Problem:
Event items were freed although still referenced by some client.
Solution:
Delete item in shared event queue iff it is not referenced by any client. To achieve this a rework of shared event handling was done.
Problem-ID:
13337
Description:
zfcp_hbaapi: various small bug fixes.
Symptom:
(i) polled events for link up/down are not passed to user space
(ii) possible sleep inside spinlock in zh_ioc_event()
(iii) possibly incorrect values for port speed and type reported to user space
Problem:
(i) devid and event types are not or incorrectly set for link up/down events
(ii) copy_to_user is called while spinlock is held
(iii) missing breaks in switch statements
Solution:
(i) correctly set event types and devid for link up/down events
(ii) release spinlock before copy_to_user is called
(iii) add missing breaks switch statements
Problem-ID:
13336

Everybody should apply this patch.

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

linux-2.4.21.tar.gz (see www.kernel.org)
+ linux-2.4.21-s390-june2003.diff (IBM)
+ linux-2.4.21-s390-01-june2003.diff (IBM)
+ linux-2.4.21-s390-02-june2003.diff (IBM)
+ linux-2.4.21-s390-03-june2003.diff (IBM)
+ linux-2.4.21-s390-04-june2003.diff (IBM)
+ linux-2.4.21-s390-05-june2003.diff (IBM)
+ linux-2.4.21-s390-06-june2003.diff (IBM)
+ linux-2.4.21-s390-07-june2003.diff (IBM)
+ linux-2.4.21-s390-08-june2003.diff (IBM)
+ linux-2.4.21-s390-08-june2003.diff (IBM)
+ linux-2.4.21-s390-09-june2003.diff (IBM)
+ linux-2.4.21-s390-10-june2003.diff (IBM)
+ xip2fs1 (see linuxvm.org/patches/index.html)
+ xip2fs2 (see linuxvm.org/patches/index.html)
+ linux-2.4.21-s390-11-june2003.diff (IBM)
+ linux-2.4.21-s390-12-june2003.diff (IBM)
+ linux-2.4.21-s390-13-june2003.diff (IBM)
+ linux-2.4.21-s390-14-june2003.diff (IBM)
+ linux-2.4.21-s390-15-june2003.diff (IBM)
+ linux-2.4.21-s390-16-june2003.diff (IBM)
+ linux-2.4.21-s390-17-june2003.diff (IBM)
+ linux-2.4.21-s390-18-fixed-june2003.diff (IBM)
+ linux-2.4.21-s390-19-june2003.diff (IBM)
+ linux-2.4.21-s390-20-june2003.diff (IBM)
+ linux-2.4.21-s390-21-june2003.diff (IBM)
+ linux-2.4.21-s390-22-june2003.diff (IBM)
+ linux-2.4.21-s390-23-june2003.diff (IBM)

Note: If On-demand timer is required, apply as last patch:
+ linux-2.4.21-s390-timer-04-june2003.diff (IBM)

Note: If you apply the above patches, you need as a minimum the 2004-07-14 version of the tape_3590 OCO module "tape3590-2.4.21-s390(x)-02-june2003.tar.gz".

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.