From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dy1-f178.google.com (mail-dy1-f178.google.com [74.125.82.178]) (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 8961F3793B5 for ; Mon, 23 Feb 2026 22:05:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771884354; cv=none; b=svOkatL7avfpk6MgZ9P13MEFr8YCl4uRVa+krVLJpoQIM2JoUpiRuUGL1XsozmmMuW4rtcQ+cS4bOEM1YcYb0HRKiK9qyqePRurMrxz9A0IrQEP4xrMnSAuc0L/WL29z/LHp0tOTAPzFS7pdeJI+aUGm7pE5LKGPDfuKdCHDTPo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771884354; c=relaxed/simple; bh=/RW3C3GCLfF8LHHANtlWIGVLmA4XTDETNrMduy7wdtc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Mf8l8oJFPvl6B7gZASW5qrIo81C9V89BvC5+3hI/enUid2WOGkR/PvBE/SQJL9dxbHfC9xe3Ai5abig96V33cfg/ouP6P412u57dtx07yN7d9aDA5x/7wXIaNkxsmCJy6AFC6P5tbyEdz85Yjla1qF0JBYPiz9sKMIIPkKrCStI= 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=jVpFLYMa; arc=none smtp.client-ip=74.125.82.178 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="jVpFLYMa" Received: by mail-dy1-f178.google.com with SMTP id 5a478bee46e88-2bd3b0bc201so1416849eec.1 for ; Mon, 23 Feb 2026 14:05:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771884353; x=1772489153; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=4xoqbvgAR8RAogXqq/JgcJla3JIoQ6jzYoKa5JPxEFM=; b=jVpFLYMafVr0ZNxcKy1uBAw3AM5wVI+QKeBvkRy03oqfjn8E81bvlY6kjns2zaWK+H 5vN5th3224Tqr4+NLkuYn63Shy0JOx5UHJCeN97zsLKcCyJL+2/WTVyLZvdmiTnGc/1S Fh+Gf1WakuLkfZWuTVLLx4/ci8ruCbV9k0TfDnGWu0CQWVxpAHLWAOG4JFRyWNvhPxz+ HAOiRQ5nfpVwICkgoa5Uoy+viXqfrKgN0rgMxWuBoodmx4Uy0FjxWu2Num9WTq3WDxDn OoXQnmB2AJbKttoR0TDp5J6ekstWzTzjjlQC0YmcMYxGMkNH4dkccOaN5l1kGC6RYt1L I3qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771884353; x=1772489153; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4xoqbvgAR8RAogXqq/JgcJla3JIoQ6jzYoKa5JPxEFM=; b=PXTKC5C6XwfiriXF9sTwxnewiofh5Vlx9ra2goUNSd64M2CIuFc5tSbLLIvZNH+yjC OFNb6wp44tMzsZ+bnPNmxe0qGb9V47XQ4KyQdSZBM9+Cw/Le3K3ubiQ8dGcS9HYo8UpQ LrPxD0EZthHxAwaAKPI/HYsa1IShxVHiumZz1atTYsg7xu0Py+wTtbkOQ1Q7QoMV3ZQD RTBYmGr5WpwKR4LF0fAuG4TRSWFxII1CkDIfJQn3ivOpDEL0fbyIZEZdDgPSMYjkp9E2 MbabPmcgllSqIZC+tnMHUbuGrXQpOmfMjsnEruKLEVxGf1m4FnxrjrjjUvu2+Hk/sXtc Kwig== X-Forwarded-Encrypted: i=1; AJvYcCUD+OSAcby0t56rPQGaCw+ewvRph8HpWdwztkvR3es1G3viCLv+FNpZFeBAXDOFEgxTdwDhnsIUAic7cBw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5gRbv61SfG8n4ZXcTdUN6/7apBcN6th4pbUcizZ59URQ2eOZZ HoPZFKa29zwzQmOfFKP4b6eBMehcaAXzW2vfosWvfzR4q2IjviIebpAY X-Gm-Gg: ATEYQzyWKyWAM2bDSKtLhVCp0G6WzxLM/BtiQYO57tNc2pOHTsRNIiNyMpWIh6q8BKk MOlvCxxNuDDIAJbLe1ZtiPBKoK2J1UKvIDPMJXJV24CNWCEmnsXuTxuQbGYtb3FAqeAQRIPX24O BBR2ERTzqadoB5BqaT1MMyjheklS2ji7DcD5R8ZXZ7in/7Y/XPnZbpjjGGAHKuh0fyg/hMehAYH JxJxvcRCaA9Ig7rRNt+55yHl9my52JVefKTJq/kKjYC6rd3TBW2Tbhbtnmud3tHhaJhLrrNWyOE lMd6hS6M+Aoc0k5DbSooPEzrOlzMZFTHYB0opJiYYFA1TtBv0kspd2afQqzlNUB2Krd7fkswBcq ljGxqZhUQYiZmgO6u4dwyj31tdswzsJhwCfp3UBy8XnowHA/rYMnPJpJ5/KmoDww72+LO3UqOKP 6ScyhHnppEFSzmrC1FErf3YgVw3OWdUnt4LkZORE/SXWpRcOyJxVsuXUA6YQg5Cyq62AG0IKOMY 5P0YB4NT7UmGq7oAV+56rkOlfJiOs0xc8FT+7Ih3jquTwzFYI9jOKwZYE73YRK8pt9arDiJnPzV xiYYa5Q5gS+macQ= X-Received: by 2002:a05:693c:3108:b0:2ba:6b88:d636 with SMTP id 5a478bee46e88-2bd7bd59e7dmr4326682eec.31.1771884352431; Mon, 23 Feb 2026 14:05:52 -0800 (PST) Received: from ?IPV6:2a00:79e0:2e7c:8:b343:b0de:3e59:4e65? ([2a00:79e0:2e7c:8:b343:b0de:3e59:4e65]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bd7daa3701sm5263256eec.10.2026.02.23.14.05.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Feb 2026 14:05:52 -0800 (PST) Message-ID: <1d63bb85-b846-437f-aae7-6cef18054f70@gmail.com> Date: Mon, 23 Feb 2026 14:05:49 -0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 15/62] Input: synaptics-rmi4 - fix a locking bug in an error path To: Dmitry Torokhov Cc: Peter Zijlstra , Ingo Molnar , Will Deacon , Boqun Feng , Waiman Long , linux-kernel@vger.kernel.org, Marco Elver , Christoph Hellwig , Steven Rostedt , Nick Desaulniers , Nathan Chancellor , Kees Cook , Jann Horn , Nick Dyer , linux-input@vger.kernel.org References: <20260223215118.2154194-1-bvanassche@acm.org> <20260223215118.2154194-16-bvanassche@acm.org> Content-Language: en-US From: Bart Van Assche In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/23/26 1:58 PM, Dmitry Torokhov wrote: > Hi Bart, > > On Mon, Feb 23, 2026 at 01:50:30PM -0800, Bart Van Assche wrote: >> Lock f54->data_mutex before the first 'goto error' statement since >> jumping to the 'error' label causes that mutex to be unlocked. >> >> This bug has been detected by the Clang thread-safety checker. >> >> Cc: Dmitry Torokhov >> Cc: Nick Dyer >> Cc: linux-input@vger.kernel.org >> Fixes: 3a762dbd5347 ("[media] Input: synaptics-rmi4 - add support for F54 diagnostics") >> Signed-off-by: Bart Van Assche >> --- >> drivers/input/rmi4/rmi_f54.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/input/rmi4/rmi_f54.c b/drivers/input/rmi4/rmi_f54.c >> index ac4041a69fcd..fd57ebb1cb50 100644 >> --- a/drivers/input/rmi4/rmi_f54.c >> +++ b/drivers/input/rmi4/rmi_f54.c >> @@ -539,6 +539,9 @@ static void rmi_f54_work(struct work_struct *work) >> int i; >> >> report_size = rmi_f54_get_report_size(f54); >> + >> + mutex_lock(&f54->data_mutex); >> + > > Thank you for the patch. Do you mind if I move mutex_lock() above the > call to rmi_f54_get_report_size()? It does not extend critical section > by much, and I think logically makes more sense. That sounds good to me. Please keep in mind that I'm not familiar with the rmi4 driver. Thanks, Bart.