From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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 3BA2A2746C for ; Sat, 18 Jan 2025 13:15:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737206146; cv=none; b=E/38K3SJSqIDPZ05KJhh4hrAs9jARHwfftthuCiCgFSLQls/Y3Wi/SgcDfHY7HqO3Vwy1YkJa7JQIK0802OuCEn/2aQBpRMQn0LMzbcCVRKV4xXmz+u7HfDtNYVCdDC75gPlIoqR7DWYTkJVwt6J3rHZLpdjFqotzT0Q9cnPsso= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737206146; c=relaxed/simple; bh=mwcHWOWMii5LrgNz/lZCUnmQ1EqTDpAfEwdZ6bpfIP4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=NLLomBwcqj5dWTF8o+qAkXWufrwPlk+jQnPzWEjnfT8TsF+BxzK4b5OsUakGpydGCXKalTW39Hp90yisl3VTzu0Ux3WRnxUW+WA7mfd/qVW8S4MrJKCT5Rd07AaPlXDgM+qNZl2ycn3BAf0drMKxA5ZHqIDJb6tyY+j7UVwuIHE= 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=AHHywVBd; arc=none smtp.client-ip=209.85.221.49 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="AHHywVBd" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-385e27c75f4so2413247f8f.2 for ; Sat, 18 Jan 2025 05:15:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737206142; x=1737810942; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=+923KGeAFWvIWAz/KD9UwGcFl0F7VOly1wl0VRpuQHE=; b=AHHywVBdlmMvv2ho5S/2riXoCNlbUodK7WAzhEip21VfYTYE9ATULZIjPurn1YDsti vIoCN6MGtrvD/ICyqeLvd58wK0Nb7UQWc8smspal/hVntTLB27tsG/wUdXvHc+d5OHO8 KyamydwxmGfobQzx8O8KH1K+Kjua4shx0ZUrxCFMuKLm6zDzhd+f/QGmj8hQqvU0aJZm nCXGmQiCA3JdUeyelZnPKX6vDQqw2nekREJnqUkShnCaWWuh3OyWUL2WbT/D63sRpKRC QiDBPDw2tisl2hNI1UJ06xTvSNdg4sqDTFo676Hl2cPnvGFB/465knb7N1Z/eN5mIRUi vx+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737206142; x=1737810942; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+923KGeAFWvIWAz/KD9UwGcFl0F7VOly1wl0VRpuQHE=; b=NeYBPdJTdwTM5FI+XS3Oa24kfQ8NU7ZbK+oCqH7FtAc8FyI9LiH+frjtzX2DZCZzKV QL9CzjbM/0uXruydFStXAKgbZzxg/tiJkWj4KdlK04wfPXRxSSDkiYWxi0mNPpu2cz7z IgEWheJxftkB4RHiKry/db8+5f3Vx5aZV9738l4Pf/55F2ODoiO45hqMmPdi1q2OFwky ENpvStTGSCAB9Hi4mdxpkqRYgJPaDJEWYpiGGfF4Xn7lKOYjICDRCfuaEruijdA7y85T RjliqDgKbD67kRRwJYNtOTUSmDwd7ENqB3zPgEvLSVXLme757XeJ4nJ9OHyqBTYBh5aB IfXA== X-Forwarded-Encrypted: i=1; AJvYcCXWJFrQk2VXz/EFy3X8/1l9/JQkJDOPz40ZDWNQEiIOy47hCBGVt2Imj1C6iPNNsLQSWOEHHidEUIA5oWM=@vger.kernel.org X-Gm-Message-State: AOJu0YwGmS/eG2FIF8cPrzliVc+bY2QoCncEKgfPdNhju3G0dhI7Pd1Z bweFySURWdll5uSsIHBWTD1nwDftQLkx6BbQNTEoo7SEwxjRRvRC X-Gm-Gg: ASbGnctt9HebzN7sMi+VB0NLQy646F1V4/FcKI7x2kibB0f4E/FO9XC51DrKEBk9/cn IxNslGzVvbDf7/u8txoi5WLBNz/drqRASa+RXYFv87v142HxzvR10t5ylFWf54xAdTJhkYXZa1G MtufCn0k8PDYDaSu0t8v1aReBVVbu3YE4CkKfvwELao9aQESV28e6MrYRApxYqx7nhmyk8XyN+n xZlZGjAsU8aqdKNhFehfVl6CRVuN5pzuxgakAt1wGCBwEKh30lJarF+Jb7AvdT42tIWlKAiXnTS QAsKbwhEfR8SOQljRxcP1P4gejelnRJybvbV+xbiLZ2Q4lFsw1psER2ATiAw/JQsSwyAApxHzwj b1QWzlTg= X-Google-Smtp-Source: AGHT+IFbw2e7TyY8FPYI/d3agZU7wU4OmTtjceki07Kpp7uGqjSDMWKy8h782qZoevOdVtfpUqDlUQ== X-Received: by 2002:adf:f504:0:b0:385:ecdf:a30a with SMTP id ffacd0b85a97d-38bf57ab510mr5537459f8f.33.1737206142240; Sat, 18 Jan 2025 05:15:42 -0800 (PST) Received: from cjw-notebook (2a02-8388-0502-f480-eca8-3952-cb46-c32c.cable.dynamic.v6.surfer.at. [2a02:8388:502:f480:eca8:3952:cb46:c32c]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38bf32758dbsm5246638f8f.64.2025.01.18.05.15.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jan 2025 05:15:41 -0800 (PST) Date: Sat, 18 Jan 2025 14:15:37 +0100 From: Christoph Winklhofer To: Chenyuan Yang Cc: krzk@kernel.org, linux-kernel@vger.kernel.org, zijie98@gmail.com Subject: Re: [PATCH] w1: fix NULL pointer dereference in probe Message-ID: References: <20250111181803.2283611-1-chenyuan0y@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250111181803.2283611-1-chenyuan0y@gmail.com> On Sat, Jan 11, 2025 at 12:18:03PM -0600, Chenyuan Yang wrote: > The w1_uart_probe() function calls w1_uart_serdev_open() (which includes > devm_serdev_device_open()) before setting the client ops via > serdev_device_set_client_ops(). This ordering can trigger a NULL pointer > dereference in the serdev controller's receive_buf handler, as it assumes > serdev->ops is valid when SERPORT_ACTIVE is set. > > This is similar to the issue fixed in commit 5e700b384ec1 > ("platform/chrome: cros_ec_uart: properly fix race condition") where > devm_serdev_device_open() was called before fully initializing the > device. > > Fix the race by ensuring client ops are set before enabling the port via > w1_uart_serdev_open(). > > Fixes: a3c08804364e ("w1: add UART w1 bus driver") > Signed-off-by: Chenyuan Yang > --- > drivers/w1/masters/w1-uart.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Acked-by: Christoph Winklhofer Thanks for the fix! I tested it with a Raspberry PI and DS18B20 sensor. Best, Christoph