Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1274843pxb; Fri, 21 Jan 2022 14:04:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJw0tYBvx/YQljcelHGBHoB9F+ttcZd1KDu2oC3JfnOnocUcHqZ0MAJYm4053YdrEsGDdbRy X-Received: by 2002:a17:90a:5642:: with SMTP id d2mr2628306pji.212.1642802698043; Fri, 21 Jan 2022 14:04:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642802698; cv=none; d=google.com; s=arc-20160816; b=hAnTsVQz6CXbrRctFBR+qDjAao9tub0Mj3u6YZ9ny6v6hGGj1rVJdtdi4JMIc9UEH4 qKRQzy1LvKIeLcmFABGRCK+4ozD2DVlGX3nFVxgi7nKAlUOdZtYeZvfGxsJbTbMiuVNV JtyveSMYbzpaWqzp2722GO5lIBTSQDXpquWEcvmuIIwdP9SWzYP7yHJbW5hYZSJEYxpB 5rQGxVaM0J7eLTE3wr2f+GVewJ1HdtGoA1N5QRhughZCA5EVz5YS3p8J2DsiffRHC14c gRGql0vfq1+yghHOyS6ssRCQ4cDwke1Q/eKqy3l11/HUKCfL4ovBjNgeFgK9Y9UD47N0 teHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=ljixKLT6i4ac9CExITvj/gt3dbblfx6XkMUhiIsZsXM=; b=KqhbdE9TvqjzH1D35UctRrGymDk8nKSFNN3RguDqGVdeI1/22eI0ErttiNn65OKzfh kytXPH4ZtiIRQwkjz8PqC+CQxJvaJ6KWindn4ZNvhn6SbE2m4u3EUXr5feKVMGgZ5goy Q+6frTPxJn7uX1Ogv5mp9BwtNBa5QnYvONw8wT40QWF3Mnpfzr69KFS41JKYBp/UJnMX 6wwXIeWyvinNpBNH+XLc2kkhS7ZZFgOXWf9oSUjkp/x0oPsXTcXmjQn0bdJUYjjk2Df3 cul5xHbqJn4n25cV1lnCSYFOCSe35C4hWwPkLVj8pf9SrinA+rqc68u2m+FrrtEeZu05 b6qg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u26si5304738pgf.208.2022.01.21.14.04.46; Fri, 21 Jan 2022 14:04:58 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245598AbiATNIU (ORCPT + 99 others); Thu, 20 Jan 2022 08:08:20 -0500 Received: from mail.hust.edu.cn ([202.114.0.240]:18084 "EHLO hust.edu.cn" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S245426AbiATNIM (ORCPT ); Thu, 20 Jan 2022 08:08:12 -0500 Received: from localhost.localdomain ([172.16.0.254]) (user=dzm91@hust.edu.cn mech=LOGIN bits=0) by mx1.hust.edu.cn with ESMTP id 20KD670M007780-20KD670P007780 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Thu, 20 Jan 2022 21:06:13 +0800 From: Dongliang Mu To: Wolfgang Grandegger , Marc Kleine-Budde , "David S. Miller" , Jakub Kicinski , Stephane Grosjean , =?UTF-8?q?Stefan=20M=C3=A4tje?= , Pavel Skripkin , Vincent Mailhol Cc: Dongliang Mu , linux-can@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] drivers: net: remove a dangling pointer in peak_usb_create_dev Date: Thu, 20 Jan 2022 21:05:58 +0800 Message-Id: <20220120130605.55741-1-dzm91@hust.edu.cn> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-FEAS-AUTH-USER: dzm91@hust.edu.cn Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: -- 2.25.1