Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1282170pxb; Fri, 21 Jan 2022 14:16:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJxEGw8EoXy9A4SOuAnC7neYxLlKiJJHVJ6bK02bxEn38KuCeORHO3hJ9vwJAw3x62vtATjx X-Received: by 2002:a05:6a00:1492:b0:4c7:3706:cb89 with SMTP id v18-20020a056a00149200b004c73706cb89mr5163785pfu.79.1642803377764; Fri, 21 Jan 2022 14:16:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642803377; cv=none; d=google.com; s=arc-20160816; b=rRjIdo7ORqYE3t7RSrC05at+wkkrPJebHbP8tl+ClRdL+RhnAkKN6naZCjfxIllp9E 6OZqCZA9ps64P4qJkRa4Q9kxN8t5vuGWt3/agOKwf4OSlhWUsFKLyA4IkmyXyJCBbciO N1+KjwNfTzTsSsWPoAOOlUvuzUu5lNRame+MRUapSdlzXLhg3NgllShcTQpkIr/hVPz3 K1A0PmCodn7kJGvJtvceBszxyTGptG3s0pEPoEdUDrrc/JKli9wxlk6xHu+AtaL5mopP jQo/vkEdHKD/QcCS3k+9+0nEgarMBOdK/JtxWMoVfNPAfKSIWybt4h+jYXGGJFpFztL1 Anow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=cyvoMCv80wDsc8wkvJlV/oGl77HzpweZAfsKlFkUjNo=; b=FxqdLcfCnTVLgVCREml4UNWqN49WI5zpuQ8AmJAR+q+S5KTiI5CkKBmtoZg0KBY4V6 5JJDw8tfGOepX6vac8CqFHmxGnG2de3zEseKf/FYPHbxtmbPObR0Hos3zKK57WuJhApB SixBz+74JCHR8Vn/QyqJhlfp81bWGl+KnaIQYsyHH9V0mDMGyw8KzvN2rZEtzbPUleqQ W0BoTugJ3fuhGctIjp1LH4o3Bxxqce2lCGF2QbZ3qJwPLKO26wR0sJKil+WlknNaFgSh UXJrSIMSU4+1X511cHVxGRucHQJFDN1MS674xquPGPirQ0jiWw+tmgMB5+ib4BLTXBzf ArMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=pGd0rpB8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id mh3si8386648pjb.126.2022.01.21.14.16.05; Fri, 21 Jan 2022 14:16:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=pGd0rpB8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346177AbiATO1z (ORCPT + 99 others); Thu, 20 Jan 2022 09:27:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345906AbiATO1y (ORCPT ); Thu, 20 Jan 2022 09:27:54 -0500 Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1406DC061574; Thu, 20 Jan 2022 06:27:54 -0800 (PST) Received: by mail-lf1-x134.google.com with SMTP id br17so22297185lfb.6; Thu, 20 Jan 2022 06:27:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=cyvoMCv80wDsc8wkvJlV/oGl77HzpweZAfsKlFkUjNo=; b=pGd0rpB8v4HQoVTL2HRvdgEKPq6p6f5D4YRXtPtuwLhYlgUXv+w3MjyaEkttp1XH+D P+KZutwCeItzHnixPHrJxuWX9vy8Hn26lDQHzu7giJpY4qWgdJ1mG+bZ1XultoRRLsPp FHaWOqtE2Vdqdga7bi2dGrFCdNQ2bI2dYUkpiDwS7iYoInnqin3W7iaJ1F78iTX/WmZa nNsLNhu3P8BY6Dd/RTlKnkC8lum4kLE9lf9t8HbcpoFvrAenkSJqmj+ekYQiuxptWVSC RyViZ1jcG8fq+msp7J5P1kXKYfhAQ/JQnw7xE+twoSYRnGJVA+Jbw1w3ZLJV1bAqAYZm HquQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=cyvoMCv80wDsc8wkvJlV/oGl77HzpweZAfsKlFkUjNo=; b=FyRMAt0E+pFx93qqJQYChzI/irfx2KKIlDw9DrNawOaR0zJYLv+EWgLnVzhtDtqZly Su2dn4OTSPwsB5CxYyt+Kg5gQguoPBNzE8riIdiLc2VOX5HANZXuigESo0SRpuKbijTY WBzg6SHxj6y3sS99rnY4akySALk+g74yDQzbd7Bv3sKRvNxlHZ1UYgrdqiHIZ3/aj2fG KfjjxJ5HAcrzFMMpPuOlwIJVGt5NV6voobE+YqZVGC4UNnTCOut4L0KsGz103J4PBU/5 FDzrP9aIkbMjLB0PtKrl7ReokOHnSS5+KM/3nL8hRzM5OLGA+VnfF0byRHsZXXhA/bFI P/gw== X-Gm-Message-State: AOAM53335gR2uNnDU95DwipQO8sX/7q3Kmoem9tfiiB4JMf1i7VdryHk 6zflkHLIaV6Tsg0D5F8mCxvX6a8FP9TA/Q== X-Received: by 2002:a05:6512:4012:: with SMTP id br18mr32507876lfb.405.1642688872259; Thu, 20 Jan 2022 06:27:52 -0800 (PST) Received: from [192.168.1.11] ([94.103.227.208]) by smtp.gmail.com with ESMTPSA id l5sm374597lfp.61.2022.01.20.06.27.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 20 Jan 2022 06:27:51 -0800 (PST) Message-ID: Date: Thu, 20 Jan 2022 17:27:51 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH] drivers: net: remove a dangling pointer in peak_usb_create_dev Content-Language: en-US To: Dongliang Mu , Wolfgang Grandegger , Marc Kleine-Budde , "David S. Miller" , Jakub Kicinski , Stephane Grosjean , =?UTF-8?Q?Stefan_M=c3=a4tje?= , Vincent Mailhol Cc: Dongliang Mu , linux-can@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org References: <20220120130605.55741-1-dzm91@hust.edu.cn> From: Pavel Skripkin In-Reply-To: <20220120130605.55741-1-dzm91@hust.edu.cn> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Dongliang, On 1/20/22 16:05, Dongliang Mu wrote: > From: Dongliang Mu > > The error handling code of peak_usb_create_dev forgets to reset the > next_siblings of previous entry. > > Fix this by nullifying the (dev->prev_siblings)->next_siblings in the > error handling code. > > Signed-off-by: Dongliang Mu > --- > drivers/net/can/usb/peak_usb/pcan_usb_core.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_core.c b/drivers/net/can/usb/peak_usb/pcan_usb_core.c > index b850ff8fe4bd..f858810221b6 100644 > --- a/drivers/net/can/usb/peak_usb/pcan_usb_core.c > +++ b/drivers/net/can/usb/peak_usb/pcan_usb_core.c > @@ -894,6 +894,9 @@ static int peak_usb_create_dev(const struct peak_usb_adapter *peak_usb_adapter, > dev->adapter->dev_free(dev); > > lbl_unregister_candev: > + /* remove the dangling pointer in next_siblings */ > + if (dev->prev_siblings) > + (dev->prev_siblings)->next_siblings = NULL; > unregister_candev(netdev); > > lbl_restore_intf_data: Is this pointer used somewhere? I see, that couple of struct peak_usb_adapter::dev_free() functions use it, but peak_usb_disconnect() sets dev->next_siblings to NULL before calling ->dev_free(). Do you have a calltrace or oops log? With regards, Pavel Skripkin