Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Kernel patches

2004-10-07 kernel 2.4.21 bug fix patch 17 ("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-17-june2003.tar.gz / MD5 ... accumulated patch, recommended (2004-10-07)

linux-2.4.21-s390-17-june2003-patches.tar.gz / MD5 ... per-problem-patches, recommended (2004-10-07)

These patches contain the following linux kernel bug fixes:

Description:
dasd: Race in dasd_state_del_to_new().
Symptom:
Kernel Oops and BUG while setting device online/offline.
Problem:
In the list_for_each_entry loop free_page() is called. The page that was freed contains the next pointer on the lowmem_pool list.
Solution:
Use list_for_each_safe to prevent access to the element after it was freed.
Problem-ID:
11402
Description:
qdio: unnecessary queue checks with more than 64 thin interrupt devices.
Symptom:
When more than 64 thin interrupt capable devices exist, there is a small possibility that QDIO might perform unnecessary queue checks on these devices, resulting in slightly higher CPU consumption.
Problem:
There was an improper assignment statement in the qdio code.
Solution:
Fixed assignment statement.
Problem-ID:
11133
Description:
qeth: null-pointer dereference when doing query arp on a GuestLAN device.
Symptom:
When doing q query arp on a GuestLAN device (especially when the interface is not configured UP, yet) the kernel oopses as a result of a null-pointer dereference.
Problem:
Pointer to buffer to receive query arp data is initialized after a certain check which fails on GuestLAN when device is not configured UP.
Solution:
Initialize pointer before actually issuing the query arp command. That way, the pointer is ready for use in any case.
Problem-ID:
11134
Description:
qeth: wrong alignment of VLAN tag when using fake_ll.
Symptom:
When fake_ll is used the 4 bytes VLAN tag is misplaced in the header of received packets. Tools such as tcpdump display wrong data.
Problem:
VLAN tag was placed at the wrong position when fake_ll is used.
Solution:
Fix position of VLAN tag in conjunction with fake_ll.
Problem-ID:
11059
Description:
zfcp/zfcp_hbaapi: duplicate kfree when sending ELS commands.
Symptom:
Oopses and other weird error messages when sending ELS commands using zfcp_hbaapi.
Problem:
Struct send_els is freed twice.
Solution:
Do not free struct send_els in zfcp_fsf_send_els_handler because it is owned by upper layers.
Problem-ID:
11261
Description:
zfcp/zfcp_hbaapi: possible invalid kernel pointer dereference.
Symptom:
Possible invalid kernel pointer dereference on completion of ELS commands.
Problem:
Completion in zfcp_send_els structure should not be accessed directly but from a corresponding els_request_handler function in zfcp_fsf_send_els_handler() because the els_request_handler might free the zfcp_send_els structure.
Solution:
Call complete() of completion for ELS commands from corresponding els_request_handler function like it is done for CT requests.
Problem-ID:
11308
Description:
zfcp_hbaapi: possible instability due to incorrect serialization in read/ioctl.
Symptom:
Required serialization of read() and ioctl() methods for device zfcp_hbaapi is not guaranteed.
Problem:
Return code of down_interruptible is not checked.
Solution:
Check return code of down_interruptible and return -ERESTARTSYS if needed.
Problem-ID:
11260
Description:
zfcp: Kernel stack frame for zfcp_cfdc_dev_ioctl() is too big.
Symptom:
Each ioctl-call to the CFDC interface of the zfcp module caused an excessive stack frame of 424 bytes being allocated.
Problem:
The structure sense_data was declared as local variable (on stack).
Solution:
Use kmalloc() to allocate this structure.
Problem-ID:
11518
Description:
zfcp: Wrong handling of failed FSF requests for ELS commands.
Symptom:
Failure of ELS commands, e.g. link test.
Problem:
Wrong return value was set in zfcp_fsf_send_els_handler() for an FSF request with a bad FSF protocol status.
Solution:
Have zfcp_fsf_send_els_handler() return error code for early detected detected errors, like a bad FSF protocol status.
Problem-ID:
11520

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)

Note: If On-demand timer is required, apply as last patch:
+ linux-2.4.21-s390-timer-03-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.