From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 945A01632DF for ; Sat, 11 Jan 2025 09:30:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736587814; cv=none; b=TJgTHDyWRdNaRE1XZOd1UjbaJ5QIkpfYxc7xTKgrz3qbR7lC9Kaf6dQICk9hdjtyBPwxwnQd8OIbH+WhLXgyyt2LRgd/Gxtndi/SDR+cfMQC3pp8a0mzqtKxIxjCC55OxkHNSa3pbuAteXaJXnnoF4EInhJO/QMc0wT4VGgU0PI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736587814; c=relaxed/simple; bh=ViBD/S/qRChhEFT2lYmVggLE5djFQjJSv7ko9zfY1s4=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=hhZLAPH3SRyJUO1isZFYT2gdxmX3RQE/LrjNNcPzzGZ+FaOdq1Thb5Eblv8YCXk3JNJVScb/itHqXYePMgcHEC7R4ihCi3GJzhs5VsHlH7LxcRzosRECqXTi3LdN+Q08f0bpvUBzeKuuz4a8D88rABnI+TDPwKq1/E35hkhAyJw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=O6sxytQO; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="O6sxytQO" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1736587811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Y9HWOpd1kFo8IsZN+wTCyr/kbNSNiDgq9iA7C+/DOxU=; b=O6sxytQOyJLNQf45OeRXglO2IbWBnk8dhFzFEbaOs7xuKVlJiW5u+YtDExYZvq7dmafeFu E+G/fu4zazoly5rZ195ifs102ZIpBU7vF/fYBZzpCVNqcKB3MI5YJX7853kO2rpuDs0Qev Q9hZtHAGt5vsIC57YPBe9AzfdTOgU9s= Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-410-uxz5Xz41PPe72QhG9GbRVg-1; Sat, 11 Jan 2025 04:30:09 -0500 X-MC-Unique: uxz5Xz41PPe72QhG9GbRVg-1 X-Mimecast-MFC-AGG-ID: uxz5Xz41PPe72QhG9GbRVg Received: by mail-ej1-f72.google.com with SMTP id a640c23a62f3a-aa6a6dcf9a3so211364766b.0 for ; Sat, 11 Jan 2025 01:30:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736587809; x=1737192609; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Y9HWOpd1kFo8IsZN+wTCyr/kbNSNiDgq9iA7C+/DOxU=; b=lEra4E46rtsktfA1wDGNLOl1ccl/rhQAH8ceyvYh7QTcU65RH7PzhGF2kCe52/5ULU 5oAOzYjE71q/QUlN+/oAtTsV9h9yyVBIcJdsI3uHmPUJPvViAQgArgHij4phmKYb5gev N/eIbjc7lA/nHDUHV7oC0w4thI+Fxkngx218ohE6S5BNeMnNF6GBZZyY8hXCCpANkM+L ph+qx8dS5h46P1+KEi7LUtsVMHOBg57Tsb6U4FfQmRoY1Vbv6PPHny9CyVP6ROnbpH7D mzIOeOTsMHfgKw2TjtC27CxZBUHVAULiR+UTSSNE5H4IhcHsAiMK/86P97Owoo9Vyi8z JLVQ== X-Forwarded-Encrypted: i=1; AJvYcCUD8Yyl/bhysqEjijbS+7zhya0m175RV0T/lMUbbr6BjtRutCZJlozwmeFxsSqS17TI8LMafPelf+ZJH08=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1zZs2GHFC4bT2STIio/kUA/JFczZeZAEVPNnIYcvKPy92ICwH CEfWZewK3w00Ttu1a5kKwKhDBjkhfy5oz6rtOfUyshRSamRkmsQBVH+vDRk95zx5lhUX8HdJK1c 6M4Ph0gdGhZxeW8d9tT5PFsz8ANj63dQdfDVO22+spzL3KwIjCFGXh8zGQ8W6aw== X-Gm-Gg: ASbGncvkWzFgf5GhTThVHSQrZMwhCQyCkBYn9JgpT92wbK2+KYds+bFdh+LSBBHf/++ TvD0WXGo5KHXcSkVJTF7KC3ponLFd7yGXFbm/4nTTvdUmxNi8tHUNJ44+4GB57nfBbxFF4LVvw7 g8w+tD5FppuZTQ1QEGhRVsVTn2HStg0Mg8GUhlE3JTuG+KSQPJYDI8mytIzBvhjI2K95oqu3NPA AZSwlUckak406d1Ik8TJMHxv6LxWSACpRaftU47krKiA98yPJEjj77PaEcOaw+qH9X3tpzF/A3L f30tWlgE7rH7XnbE6a/eFDELUc0+2M6k82t2dn/xZCNLec4L7yslV4SmweRnd30bP1ApvczX/oV QgAv0PI8CZnmcsUTdhuNdQ4BHFYILU/0= X-Received: by 2002:a05:6402:2548:b0:5d2:7456:9812 with SMTP id 4fb4d7f45d1cf-5d972e4e53fmr12367885a12.22.1736587808718; Sat, 11 Jan 2025 01:30:08 -0800 (PST) X-Google-Smtp-Source: AGHT+IFVewQf98K1k+oLdng07919fz99ViqsBOOQof//OQgKd+naCcJXbbBO6tPuVdWsk6lABwHN1A== X-Received: by 2002:a05:6402:2548:b0:5d2:7456:9812 with SMTP id 4fb4d7f45d1cf-5d972e4e53fmr12367872a12.22.1736587808286; Sat, 11 Jan 2025 01:30:08 -0800 (PST) Received: from ?IPV6:2001:1c00:c32:7800:5bfa:a036:83f0:f9ec? (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5d9904a4d49sm2368519a12.78.2025.01.11.01.30.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 11 Jan 2025 01:30:07 -0800 (PST) Message-ID: <27cc3452-782f-4a9c-a762-b2bdf9ae1acd@redhat.com> Date: Sat, 11 Jan 2025 10:30:06 +0100 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] platform/x86: lenovo-yoga-tab2-pro-1380-fastcharger: fix race condition To: yangchenyuan , ilpo.jarvinen@linux.intel.com Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, zijie98@gmail.com References: <20250111053557.1803140-1-chenyuan0y@gmail.com> Content-Language: en-US, nl From: Hans de Goede In-Reply-To: <20250111053557.1803140-1-chenyuan0y@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi, On 11-Jan-25 6:35 AM, yangchenyuan wrote: > From: Chenyuan Yang > > The yt2_1380_fc_serdev_probe() function calls devm_serdev_device_open() > before it calls serdev_device_set_client_ops(). This can trigger a NULL > pointer dereference. > This is similar to 5e700b384ec13f5bcac9855cb28fcc674f1d3593. > > Fixes: b2ed33e8d486 ("platform/x86: Add lenovo-yoga-tab2-pro-1380-fastcharger driver") > Signed-off-by: Chenyuan Yang Thank you for your patch. > --- > .../platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.c b/drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.c > index d2699ca24f34..1a4e66464a7e 100644 > --- a/drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.c > +++ b/drivers/platform/x86/lenovo-yoga-tab2-pro-1380-fastcharger.c > @@ -199,15 +199,15 @@ static int yt2_1380_fc_serdev_probe(struct serdev_device *serdev) > if (ret) > return ret; > > - ret = devm_serdev_device_open(dev, serdev); > - if (ret) > - return dev_err_probe(dev, ret, "opening UART device\n"); > - > serdev_device_set_baudrate(serdev, 600); > serdev_device_set_flow_control(serdev, false); > serdev_device_set_drvdata(serdev, fc); > serdev_device_set_client_ops(serdev, &yt2_1380_fc_serdev_ops); > > + ret = devm_serdev_device_open(dev, serdev); > + if (ret) > + return dev_err_probe(dev, ret, "opening UART device\n"); > + serdev_device_open() resets the termios settings such as flow-control, so you need to move the serdev_device_set_baudrate() and serdev_device_set_flow_control() calls to after the new location of the devm_serdev_device_open() call, just like commit 5e700b384ec1 ("platform/chrome: cros_ec_uart: properly fix race condition") does. Regards, Hans > ret = devm_extcon_register_notifier_all(dev, fc->extcon, &fc->nb); > if (ret) > return dev_err_probe(dev, ret, "registering extcon notifier\n");