Bug 638579 - dasd: fix race between tasklet and dasd_sleep_on [rhel-5.5.z]
Summary: dasd: fix race between tasklet and dasd_sleep_on [rhel-5.5.z]
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: All
OS: Linux
high
high
Target Milestone: rc
: ---
Assignee: Jiri Pirko
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On: 593756
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-29 12:21 UTC by RHEL Program Management
Modified: 2015-05-05 01:21 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Various dasd_sleep_on functions use a global wait queue when waiting for a CQR (Channel Queue Request). Previously, the wait condition checked the status and devlist fields of the CQR to determine if it is safe to continue. This evaluation may have returned true, although the tasklet did not finish processing the CQR and the callback function had not been called yet. When the callback was finally called, the data in the CQR could have already been invalid. With this update, the sleep_on wait condition has a safe way to determine if the tasklet has finished processing, thus, preventing the aforementioned behavior.
Clone Of:
Environment:
Last Closed: 2010-11-09 18:09:23 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0839 0 normal SHIPPED_LIVE Moderate: kernel security and bug fix update 2010-11-09 18:06:20 UTC

Description RHEL Program Management 2010-09-29 12:21:29 UTC
This bug has been copied from bug #593756 and has been proposed
to be backported to 5.5 z-stream (EUS).

Comment 2 Jiri Pirko 2010-09-29 16:52:29 UTC
in kernel 2.6.18-194.18.1.el5

linux-2.6-s390-dasd-fix-race-between-tasklet-and-dasd_sleep_on.patch

Comment 7 errata-xmlrpc 2010-11-09 18:09:23 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0839.html

Comment 8 Martin Prpič 2010-11-11 14:06:04 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Various dasd_sleep_on functions use a global wait queue when waiting for a CQR (Channel Queue Request). Previously, the wait condition checked the status and devlist fields of the CQR to determine if it is safe to continue. This evaluation may have returned true, although the tasklet did not finish processing the CQR and the callback function had not been called yet. When the callback was finally called, the data in the CQR could have already been invalid. With this update, the sleep_on wait condition has a safe way to determine if the tasklet has finished processing, thus, preventing the aforementioned behavior.


Note You need to log in before you can comment on or make changes to this bug.