From nobody Tue Dec 2 02:43:44 2025 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 5563431577D for ; Tue, 18 Nov 2025 03:33:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763436836; cv=none; b=ZsjMBWTT0JqyZ+rpJ8sg3Uw/XGJ5gRDnQ9GVqSQtI3Ate6iXFx8vSeHiQMjgMtmGHHPghMxcQLv7F02MtKeFWU6VrKBnbELtuKyqdRimREpt71LlUQTgFU+Rst911YUvkR9oOj8ZF4ZPvq7ceMpWmx4DV5BZqJUgV5IkDV3umXg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763436836; c=relaxed/simple; bh=geufpOCEDdFKcZ5MrqwwzZdC8+vVlLCwpno40cRwcLQ=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=fu1xuc7xx50zCq0gEBC5/RGJ9Uk4HLoKTFU88dhArojz74FjaFYMEeIfFUeBMLb0eLxztw7Pn9Cxq42/73xD3ZSY58F9YSUhD6Bidz8P6PhdmuLhe1SvahNR5sFV0UUgxbeCadUp4+Iv07p26K8F6sTEv6t/7iSWB/EFMrdS960= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=FyKKujqN; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FyKKujqN" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-29812589890so64275195ad.3 for ; Mon, 17 Nov 2025 19:33:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763436834; x=1764041634; 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=4POpDdLCAEAaguEwBjZapDEtx8R3iRforMNq6m5UEKA=; b=FyKKujqNMMDxGv8e22gg3zoaGD7x8YmwAFHnIB/IaWBNl85Qri1ugt6EVGCH5PlGY9 uG+WB0WJpdesl52cZabnXcS5WH9aPoDvvHUkDU4he4qvOvuBW059yYdHzBP3Vc1+xsOF 0saZRjA9mUYPLinG15Nf7Vu/yYbyJbTMmZQfsPdKiN17vcj8y0rfm08ZsvZmRIEUnjzF 8ZxSO+Llgtw7S5aSssFF+PKBQEU0HDhybJd/qFa/G8LKsUGveEqLrn6LYA5S3UhD5uQw ZqbEa5tapoHDxIu4oDoDgz9rgXV2CzibLiH5UD6bt6RwOYaa+8Q7ZYH5L44KyszouHrP X9Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763436834; x=1764041634; 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=4POpDdLCAEAaguEwBjZapDEtx8R3iRforMNq6m5UEKA=; b=axAQkXIg5zFphPDE/2tGMBWksouzoztZjm+NMqJlvnPAcIkpspEhQekGXTF3TpaQJ7 /2BN4/ZEGsIo/jjSzt28ZDFxZDLzftw15W+6Law5t0F7rk/+ADwhpUx7BO7j6Rfl/arl 7sv2khwf1x1PScXjvw8hpKxWDGYczAvsvzV4CoEiGP4DdfvZJcu2V1oZ3YErSC4Uyz+a 2zhexollDShrgXocujMSivibeNny1fZnH1Wy72xFDz1srd6F/B+jhe1DCnS5dljIVNEr dVK3pXB7R9Xk7el4XsWmpYD3Cjg1R6Tn5INvTRK7u9sMGTouWr6/np5D0T6/dfe5Dn8Z wLmA== X-Forwarded-Encrypted: i=1; AJvYcCVuSYOT821E6K4OwBZa9cpEsZT/fwvrzrKTv6jSPk1pSry9kURMX1POhzVz4JrnJL+tPZabMrf5Jg/2LmM=@vger.kernel.org X-Gm-Message-State: AOJu0YzTocdejQfBER5JPC8Sr0Ujb3ZK5Y9zcESmEfE1+g7Wixp3OcaJ WrpwwepIW75BU3eQlCXtNuH+sNxAAj2AvZlKDj95obxIdEmRb5viEXs5BLnt2XbiUvE= X-Gm-Gg: ASbGncvRDpg/lkSyV96mh+oGb0sdLPSTBqGMj4UMNtjzDh+7aUj168M6HAn2wGClM4x h5tEtDHhRIdilarmS3GqCqDRKmwjY0P6cEkvDEyKkqeEs0fXUyiO/Wc+LyfDhNIp4FqbKRySrVu LAznTSrwjTJckVNGnbOaLZmz+f342K1G8ZhYLY6ZEkWXQ4QDv8RDGEz4vsfuXN9PwgI0/NtTZfN 6ocsNEdDtVaIOaDP61X/swSgzPXruqre0CfMScmt7XOchiB+eSiO187svgMZTJqNtRo0GaoWnI8 V4ZlINSSB+/RyCd6r3vlKQ6kxTGYcZIOqG+yESr0EFbfTAsy+YzD4m1bqEUuZIKfSmcOeM4biS1 CmBiQkk11zW+MVYtOK56dVy3r4rHDub9vgDT16rqAw33no0YAyIavzHOeGnaA83PK2NZMqgwgE2 EAYAEvwXnyiKuveEFCe+T63xdcfDPcypCxNw+cXA== X-Google-Smtp-Source: AGHT+IGdPC7Cyz7EiLnEPeeedFK9rwJEg8TG2kP1KcNvBMkrm9YQB0epxVT4tlbA7xQi7ezGfVf1wA== X-Received: by 2002:a17:902:f78d:b0:299:dc84:fd0 with SMTP id d9443c01a7336-299dc8410aemr79764285ad.17.1763436834248; Mon, 17 Nov 2025 19:33:54 -0800 (PST) Received: from bass-virtual-machine.. ([1.203.169.140]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2985c2376f6sm153724295ad.21.2025.11.17.19.33.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Nov 2025 19:33:53 -0800 (PST) From: Gui-Dong Han To: 3chas3@gmail.com, horms@kernel.org, kuba@kernel.org Cc: linux-atm-general@lists.sourceforge.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, baijiaju1990@gmail.com, Gui-Dong Han , stable@vger.kernel.org Subject: [PATCH REPOST net v2] atm/fore200e: Fix possible data race in fore200e_open() Date: Tue, 18 Nov 2025 11:33:30 +0800 Message-Id: <20251118033330.1844136-1-hanguidong02@gmail.com> 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" Protect access to fore200e->available_cell_rate with rate_mtx lock to prevent potential data race. In this case, since the update depends on a prior read, a data race could lead to a wrong fore200e.available_cell_rate value. The field fore200e.available_cell_rate is generally protected by the lock fore200e.rate_mtx when accessed. In all other read and write cases, this field is consistently protected by the lock, except for this case and during initialization. This potential bug was detected by our experimental static analysis tool, which analyzes locking APIs and paired functions to identify data races and atomicity violations. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: stable@vger.kernel.org Signed-off-by: Gui-Dong Han Reviewed-by: Simon Horman --- v2: * Added a description of the data race hazard in fore200e_open(), as suggested by Jakub Kicinski and Simon Horman. REPOST: * Reposting v2 as it seems to have been overlooked. --- drivers/atm/fore200e.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c index 4fea1149e003..f62e38571440 100644 --- a/drivers/atm/fore200e.c +++ b/drivers/atm/fore200e.c @@ -1374,7 +1374,9 @@ fore200e_open(struct atm_vcc *vcc) =20 vcc->dev_data =3D NULL; =20 + mutex_lock(&fore200e->rate_mtx); fore200e->available_cell_rate +=3D vcc->qos.txtp.max_pcr; + mutex_unlock(&fore200e->rate_mtx); =20 kfree(fore200e_vcc); return -EINVAL; --=20 2.34.1