New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 706516 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Last visit > 30 days ago
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Fix up upstream cfg80211 patch that fixes deadlocks in error paths

Project Member Reported by kirtika@chromium.org, Mar 29 2017

Issue description

Luca suggested picking this up: 
https://patchwork.kernel.org/patch/9625641/

"This patch fixes some deadlocks that can occur in some error paths."

From Sameer:  I wonder if issues such as the one below could be fixed by this patch: b/36209533

Will get it into 4.4 to begin with, we'll have to evaluated if its worth
the backporting effort.

 
Status: Started (was: Untriaged)
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 31 2017

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/17b5a29c1c801fa44df97d3512777945c0896401

commit 17b5a29c1c801fa44df97d3512777945c0896401
Author: Kirtika Ruchandani <kirtika@chromium.org>
Date: Fri Mar 31 22:16:26 2017

BACKPORT: nl80211: fix dumpit error path RTNL deadlocks

Sowmini pointed out Dmitry's RTNL deadlock report to me, and it turns out
to be perfectly accurate - there are various error paths that miss unlock
of the RTNL.

To fix those, change the locking a bit to not be conditional in all those
nl80211_prepare_*_dump() functions, but make those require the RTNL to
start with, and fix the buggy error paths. This also let me use sparse
(by appropriately overriding the rtnl_lock/rtnl_unlock functions) to
validate the changes.

Reported-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit ea90e0dc8cecba6359b481e24d9c37160f6f524f)

Conflicts: net/wireless/nl80211.c
           - 4 hunks adjusted manually
           - 1 hunk (in _dump_interface) dropped manually since
             it's not relevant and breaks the build.

BUG=chromium:706516
TEST=(TBD)wifi_matfunc_noservo (local suite version) on Electro

Change-Id: If1711c7f5e79c96f29e8d4ed328e7dd74c2fae19
Signed-off-by: Kirtika Ruchandani <kirtika@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/462360
Reviewed-by: Kevin Cernekee <cernekee@chromium.org>

[modify] https://crrev.com/17b5a29c1c801fa44df97d3512777945c0896401/net/wireless/nl80211.c

Comment 3 by yoshi@chromium.org, Jan 3 2018

Cc: -yoshi@chromium.org
Triage nag: This Chrome OS bug has an owner but no component. Please add a component so that this can be tracked by the relevant team.
<UI triage> Bug owners, please add the appropriate component to your bug. Thanks!

Sign in to add a comment