From nobody Mon Feb 9 11:44:26 2026 Received: from mail-oa1-f43.google.com (mail-oa1-f43.google.com [209.85.160.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8562C2F60B2 for ; Sun, 25 Jan 2026 19:30:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769369413; cv=none; b=V+O+/hwaOK0Nkgs/WZ4HOe55RDcj+iZvf3vl5VYPRmAEGf0/GIh1o+Emy5Gig8x7dZvFr/2w55VY2EwzkyqQMF3BbhgtS2WLkCID3v/91MF3PRFZ/WJ5cWbgri0gG2tys16K0UAFcKnce7lWwZ2iPtH59TSidPaV8MvdlK+wj/Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769369413; c=relaxed/simple; bh=4i4jP7kP2aHf/CxOoLcXrYqiFvB8WBy+y068JRX34WA=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=SRHcKAcf0DI9zTY53bPt3AMa1UNY9/MEG5d+oZtHIQeK6oQEJzcVF+r1pXjPZXKMCBtmUzBlrgZFLacH8G+HN8wq2Sbhf/lpfDsiqh/5ucOUGoXF9aJYo57WJebPgEW+7tXq2iG0Zr3LMge40t2m+krrAQM3RuVjwAEF5R8RYjM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=u.northwestern.edu; spf=pass smtp.mailfrom=u.northwestern.edu; dkim=pass (2048-bit key) header.d=u-northwestern-edu.20230601.gappssmtp.com header.i=@u-northwestern-edu.20230601.gappssmtp.com header.b=yWmxOmuK; arc=none smtp.client-ip=209.85.160.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=u.northwestern.edu Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=u.northwestern.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=u-northwestern-edu.20230601.gappssmtp.com header.i=@u-northwestern-edu.20230601.gappssmtp.com header.b="yWmxOmuK" Received: by mail-oa1-f43.google.com with SMTP id 586e51a60fabf-4041c73ab4dso1068430fac.2 for ; Sun, 25 Jan 2026 11:30:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=u-northwestern-edu.20230601.gappssmtp.com; s=20230601; t=1769369408; x=1769974208; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=zlSpUCJ3gqRbwg4bt4p5ahC24nJIWE1a9/cK/hf0tbk=; b=yWmxOmuKJki10wYruM49zLQUH/uxy77hu2W2vkJpa8PcjhR4K6lvvdDMtQMjiyIHiU eOK60rzxKCwPJD2hT9ZMD0c+cf8Hd2/AkXjB+jbShh9dRKCFcVNy4ZC4XkWXb/FDTGpZ eEQMqkB+9kQkHo5Z+K7BQ833iu6V/zBUAMsDxA0PkxNUanuMORf1Au2H4IiKaPxQAnF6 HBGv2MpKfpWSgjZQHgBT09i9cvGLqWQT8nNO6kwW/WbLJajpNwTodn57GFCyHqWx80YI 71se9HnkGjyVraKOxQZ2/IMyh4xEQrV5lQM9ITpAq/ZILzOrspXVZ4+O3eBoPRQwmRPO HdtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769369408; x=1769974208; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=zlSpUCJ3gqRbwg4bt4p5ahC24nJIWE1a9/cK/hf0tbk=; b=qxI9osGuywiwLMqW7j3kzGx7m85+y2rxXrygBZkSSKc9pahRDLFhCB7b6sSZL7ltQD DnEZ5IEkV3tGOe9w82DrMmHa1g80UsE1nWwHGRIQwLRHqdkewuG1KwUrT2uogb29fbyd nK9El18GdanUuXKvENOTzjx43KVTjFtyA2t99rQ/OEtoOYtf0eyv317zRXXCy0Wm4YdI xdFRHzTv9lxPDyNJAHE8FFaS3Vv/B8JU+/HtL46154JQtmfBZZEqzPaxnZHYa277WI6m 2tziDvQkvdgG/o8sWmuZ60LJg90ioVrTReDCWq8su3M1Sk2m/Oe7aMQb4sxjSjBL7OXw M0pQ== X-Forwarded-Encrypted: i=1; AJvYcCW+7wVrxeCrsXsWMXE/E9VZ3bLR5YL0f5jLcz0806DLobp+ZwKdPieyzztslOBZeJWrxerF4u3fzclQyiM=@vger.kernel.org X-Gm-Message-State: AOJu0YxKx0JOBIobwW8mrSOoEF3uKgUJCJatQiY9lcZ/NgGwZWmcrUmx 1MmxusIQxeKT2NUxrS1KBbX+EzrwwMVszLDI6u8kKjnlzcyaSxH8YyCLTYNq8KPLF+4= X-Gm-Gg: AZuq6aJaPfwbgDe1vbCNF3Ey2sOfZpJOjbKH2ZO7MvA25H83jZMFlqynRtmuJRvTaHP 9lbtaiLcOHGmMPJ9Rguv9/rB8Sf4b5Y2sCrWSIF7U+/9gDTVL9IZT1G0EESVhjFUyxdaV+tTtUR jJXXzKL09fppY02blhq3/sd3rk8/P6TweT59bGQ1yGzAeG5/ECpOD43kjwqYm3lxc8lXWpj1JMR /7Y7hlCfa+lo6nSgvFaahwznKp3qDlFNw9T5R8myVjPT9sIknFsqvv0JZNPLpyZY7/60GW1bMG+ sNYR8jpFxUkb/UrOQKIefTr/t4lE+aZ0OJ8x0p/0NSabjZNpSLA/fH15DY4E8nmk4v6y0tH3XOd slY9VAudgC6JWGhgwUsGYTowLlUmARu/JD/392TWpL4QJAW6tiOS3n5Vl2+0Dx8bbp0xE8676nC F60my68XiqckePQVHl+IPNTuuJZpLdVJVZBuEqkM2HsYUhWQUkheFXEQdWxmk+Vzpn+bXpMQBaS cPWg31NyguhWHGqQDFoBhpu3LCtwyM= X-Received: by 2002:a05:6820:4b14:b0:65d:e58:5041 with SMTP id 006d021491bc7-662e04cca23mr1024396eaf.77.1769369408669; Sun, 25 Jan 2026 11:30:08 -0800 (PST) Received: from security.cs.northwestern.edu (security.cs.northwestern.edu. [165.124.184.136]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-662cb4f24fdsm4320250eaf.5.2026.01.25.11.30.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Jan 2026 11:30:08 -0800 (PST) From: Ziyi Guo To: Stanislaw Gruszka Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, Ziyi Guo Subject: [PATCH] wifi: iwlegacy: add missing mutex protection in il3945_store_measurement() Date: Sun, 25 Jan 2026 19:30:05 +0000 Message-Id: <20260125193005.1090429-1-n7l8m4@u.northwestern.edu> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" il3945_store_measurement() calls il3945_get_measurement() which internally calls il_send_cmd_sync() without holding il->mutex. However, il_send_cmd_sync() has lockdep_assert_held(&il->mutex) indicating that callers must hold this lock. Other sysfs store functions in the same file properly acquire the mutex: - il3945_store_flags() acquires mutex at 3945-mac.c:3110 - il3945_store_filter_flags() acquires mutex at 3945-mac.c:3144 Add mutex_lock()/mutex_unlock() around the il3945_get_measurement() call in the sysfs store function to fix the missing lock protection. Signed-off-by: Ziyi Guo Acked-by: Stanislaw Gruszka --- drivers/net/wireless/intel/iwlegacy/3945-mac.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/w= ireless/intel/iwlegacy/3945-mac.c index 104748fcdc33..54991f31c52c 100644 --- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c +++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c @@ -3224,7 +3224,9 @@ il3945_store_measurement(struct device *d, struct dev= ice_attribute *attr, =20 D_INFO("Invoking measurement of type %d on " "channel %d (for '%s')\n", type, params.channel, buf); + mutex_lock(&il->mutex); il3945_get_measurement(il, ¶ms, type); + mutex_unlock(&il->mutex); =20 return count; } --=20 2.34.1