Bug 1311570 (CVE-2016-2549)

Summary: CVE-2016-2549 kernel: sound: spinlock lockup in sound/core/timer.c
Product: [Other] Security Response Reporter: Andrej Nemec <anemec>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED WONTFIX QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: agordeev, aquini, arm-mgr, bhu, dhoward, esammons, fhrbata, gansalmon, iboverma, itamar, jforbes, jkacur, joelsmith, jonathan, jross, jwboyer, kernel-maint, kernel-mgr, kstutsma, lgoncalv, lwang, madhu.chinakonda, matt, mchehab, mcressma, mguzik, nmurray, pholasek, plougher, rt-maint, rvrbovsk, vdronov, williams
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-11 18:36:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1311573    
Bug Blocks: 1311575    

Description Andrej Nemec 2016-02-24 13:34:48 UTC
Function hrtimer_cancel() waits for the completion from the callback, thus it must not be called inside the callback itself. This was already a problem in the past with ALSA hrtimer driver, and the early commit [fcfdebe70759: ALSA: hrtimer - Fix lock-up] tried to address it.

Upstream patch:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2ba1fe7a06d3624f9a7586d672b55f08f7c670f3

Original report:

http://marc.info/?l=linux-kernel&m=145271261602328

http://marc.info/?l=linux-kernel&m=145288522219596

http://marc.info/?t=145269725600010&r=1&w=2

CVE-ID request and assignment:

http://seclists.org/oss-sec/2016/q1/133

http://seclists.org/oss-sec/2016/q1/410

Comment 1 Andrej Nemec 2016-02-24 13:39:00 UTC
Created kernel tracking bugs for this issue:

Affects: fedora-all [bug 1311573]

Comment 2 Josh Boyer 2016-02-24 14:06:26 UTC
This was fixed in 4.3.5 with:

commit 5d10aae7acaf91cdc6fdd5a3d4506af5f6ec957c
Author: Takashi Iwai <tiwai>
Date:   Mon Jan 18 13:52:47 2016 +0100

    ALSA: hrtimer: Fix stall by hrtimer_cancel()
    
    commit 2ba1fe7a06d3624f9a7586d672b55f08f7c670f3 upstream.
    

and in 4.4.1 with:

commit dafa57ee81748f6a6950c06f19a160d0a209795e
Author: Takashi Iwai <tiwai>
Date:   Mon Jan 18 13:52:47 2016 +0100

    ALSA: hrtimer: Fix stall by hrtimer_cancel()
    
    commit 2ba1fe7a06d3624f9a7586d672b55f08f7c670f3 upstream.
    

All Fedora branches are on those or newer.  This issue is fixed in Fedora.

Comment 4 Vladis Dronov 2016-03-11 18:36:43 UTC
Statement:

This issue does not affect the Linux kernel packages as shipped with Red Hat Enterprise Linux 5, as the code with the flaw is not present in the products listed.

This issue affects the Linux kernel packages as shipped with Red Hat Enterprise Linux 6, 7 and MRG-2. This has been rated as having Low security impact and is not currently planned to be addressed in future updates. For additional information, refer to the Red Hat Enterprise Linux Life Cycle: https://access.redhat.com/support/policy/updates/errata/.