Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 675304 - Fix potential deadlock in intel-iommu
Fix potential deadlock in intel-iommu
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
6.1
x86_64 Unspecified
medium Severity medium
: rc
: ---
Assigned To: Alex Williamson
Red Hat Kernel QE team
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-02-04 15:24 EST by Alex Williamson
Modified: 2013-01-09 18:32 EST (History)
1 user (show)

See Also:
Fixed In Version: kernel-2.6.32-117.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-05-19 08:28:20 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0542 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 6.1 kernel security, bug fix and enhancement update 2011-05-19 07:58:07 EDT

  None (edit)
Description Alex Williamson 2011-02-04 15:24:54 EST
Description of problem:
intel-iommu has a double lock fixed in 00dfff77

Version-Release number of selected component (if applicable):
kernel-2.6.32-113.el6

How reproducible:
no hit in practice

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
Comment 1 Alex Williamson 2011-02-04 15:28:22 EST
For reproducibility, I should say I've never hit it, but according to the
commit log, it is possible:

commit 00dfff77e7184140dc45724c7232e99302f6bf97
Author: Jiri Slaby <jirislaby@gmail.com>
Date:   Mon Jun 14 17:17:32 2010 +0200

    intel-iommu: Fix double lock in get_domain_for_dev()

    stanse found the following double lock.

    In get_domain_for_dev:
      spin_lock_irqsave(&device_domain_lock, flags);
      domain_exit(domain);
        domain_remove_dev_info(domain);
          spin_lock_irqsave(&device_domain_lock, flags);
          spin_unlock_irqrestore(&device_domain_lock, flags);
      spin_unlock_irqrestore(&device_domain_lock, flags);

    This happens when the domain is created by another CPU at the same time
    as this function is creating one, and the other CPU wins the race to
    attach it to the device in question, so we have to destroy our own
    newly-created one.

    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Comment 2 RHEL Product and Program Management 2011-02-06 02:50:31 EST
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux maintenance release. Product Management has 
requested further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed 
products. This request is not yet committed for inclusion in an Update release.
Comment 3 Aristeu Rozanski 2011-02-18 17:16:37 EST
Patch(es) available on kernel-2.6.32-117.el6
Comment 6 Mike Gahagan 2011-02-24 15:17:46 EST
Appears there is no test case for this one. Confirmed the fix is in -118 and setting SanityOnly.
Comment 7 errata-xmlrpc 2011-05-19 08:28:20 EDT
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-2011-0542.html

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