Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp2288875ybb; Thu, 2 Apr 2020 17:26:45 -0700 (PDT) X-Google-Smtp-Source: APiQypJ6jz2IppI80tOXNwgEB8PVb4x0U51VnV3vS4f0v/KWIKh4IxAogg3NK1DdKUbLKbnOxjWO X-Received: by 2002:aca:4403:: with SMTP id r3mr1219057oia.84.1585873605022; Thu, 02 Apr 2020 17:26:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585873605; cv=none; d=google.com; s=arc-20160816; b=vs5tbmvTMksgrJMO+4PhIBBhsSqA/yTzosxqkrWVpSMcOmCL1KI0jAGHo1V5QrdkKj F78pS0t6iHYJn7gdh8U05SO808zt/tEGVBd2vmHRWI8v/9e3WduXt+oQnQ0MK/nfk1Uh QhH90LhTmiixAcNyXhYSawS1HhnyQK9C6ebKVg3tt3asG/EpNPA3zXfSX01SrZOSEh+E KlRAXb6lOrxwARZpap09qdoTeiGZSa5LS2p0xDKaNs+jbKzMu2+KU8duDkA8bh5a8IXP L2/8A1k911pNM56DeVDUpvlW7jxK/PQ3WDI+SzKMJaPuNyTLsWwE5FqsbOvUpY1yNwoa bCTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=u8HvPpe3qGqlNdDY9g14WKC8TpBv8LKW4vXztMEUQuU=; b=T1hpoIuNGrc1orqK/ib2IGsG3XX5k5MNdhRpDY8RaBE0FBUXdr+wrCIB+U3VGKB2NE 0gk/fl4nunFAD5yQ3g9wMtz6YJ7j9DfJRRHJT+S1/JAvAoDs8h5Nb1j+6E0RlcVdV4RE D9wRFZghzXRmVxTwpbfzY3G9ih90SYaAOklXu5JEVTbs5c4XdQd0G4eMW+ICJZXnlY/1 v2LlF5fIJMme4ey14ZwCLksGytuwvZBAfn9vG6wSeMeHNRP1zuCdLvtJ99WabFFXOxqZ yAEmjV7O4Dc/6v39E+85k0ctZjh6I8ap5AsJZScevfMau0sLtLWoNW4qoIz2Bpkl8mGt s6xA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BXRapGOp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id d75si2959400oib.22.2020.04.02.17.26.26; Thu, 02 Apr 2020 17:26:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BXRapGOp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S2389944AbgDBXWr (ORCPT + 99 others); Thu, 2 Apr 2020 19:22:47 -0400 Received: from mail-pl1-f196.google.com ([209.85.214.196]:42233 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388709AbgDBXWr (ORCPT ); Thu, 2 Apr 2020 19:22:47 -0400 Received: by mail-pl1-f196.google.com with SMTP id e1so1945085plt.9; Thu, 02 Apr 2020 16:22:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=u8HvPpe3qGqlNdDY9g14WKC8TpBv8LKW4vXztMEUQuU=; b=BXRapGOpGVCp/gSWUISRPklkqWTrVMLlkReKe3UM16a5/8GQC8W9dnDkWy69uvKKFH QOBaW4lSsR7ql/CmDNA20yb04WtGe2mqf2nFyBzeLFAweKbuzQ1coOTt1yi/6Ij3CgRR hCzRyQv7o4JsclzfBfWAbjYwAjTl+Y2ITa2N9aC/UVJo/z4Wu4Peram4uEw0E5aOTzkn 8QnI1qO/rbsYPIO//CELXM7kdSPZy9vrngkBKqZmrf5sAArm009WnmxJr9M2VjOIVQOa bHdabNf3PO3D6G+C+iHQ4/Z1y0ML3hZ/hEQOzOAw5Q5mg3TgTt8HFo78J2C4E+z5QUy7 eTRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=u8HvPpe3qGqlNdDY9g14WKC8TpBv8LKW4vXztMEUQuU=; b=I1jM0ohF+xszm49CBlyWjfeoRNP5B98pNGsM4YpjD4v5UO2czF32wOoQJxqBXJVY0I KfMek7p66qfWgzPtO3SbqwNlLRjbsREIGztPe0RWUGlJfcMOgEPoADYU5+elO5j87IPB OpqdPp5GBdnDFsqaOotuYJdRYRXIh41piVUb81TnhZHKaPvzmEewp1ih04V4oInycjYP AUJHdd8R+WuYOFtiyepc5cfDKJKRH49c6HXvf2BS1qgeKvIAn3e15kFg0GwD3065BhNZ h9vGmqHBBRdJPTCRQMt0mHe4M2Idbl+1h6Vd1JZrLBaDmFbAVv+gr7wgME7UTnCtP9bK BLCA== X-Gm-Message-State: AGi0PuaRbfGCR359KgzItLdMljjkG7xhtFqajsbnV9lqoRpxfSOwdi5D hSe+zCgtmFPZ89OUCjZGdvpAzp4= X-Received: by 2002:a17:90a:8e84:: with SMTP id f4mr6542572pjo.72.1585869766247; Thu, 02 Apr 2020 16:22:46 -0700 (PDT) Received: from localhost.localdomain ([2402:3a80:13be:9909:917a:5556:7ebf:36b9]) by smtp.gmail.com with ESMTPSA id 67sm4440445pfe.168.2020.04.02.16.22.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2020 16:22:45 -0700 (PDT) From: madhuparnabhowmik10@gmail.com To: gregkh@linuxfoundation.org, hariprasad.kelam@gmail.com, colin.king@canonical.com Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, ldv-project@linuxtesting.org, andrianov@ispras.ru, stern@rowland.harvard.edu, Madhuparna Bhowmik Subject: [PATCH] usb: host: u132-hcd: Remove u132_static_list Date: Fri, 3 Apr 2020 04:52:28 +0530 Message-Id: <20200402232228.22395-1-madhuparnabhowmik10@gmail.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Madhuparna Bhowmik u132_static_list is a global list protected by u132_module_lock. It is read in the u132_hcd_exit() function without holding the lock thus may lead to data race. However, it turns out that this list isn't used for anything useful and thus it is okay to get rid of it. Thus, remove the u132_static_list from u132-hcd module. Found by Linux Driver Verification project (linuxtesting.org). Suggested-by: Alan Stern Signed-off-by: Madhuparna Bhowmik --- drivers/usb/host/u132-hcd.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c index e9209e3e6248..52f70cf063ea 100644 --- a/drivers/usb/host/u132-hcd.c +++ b/drivers/usb/host/u132-hcd.c @@ -81,7 +81,6 @@ static DECLARE_WAIT_QUEUE_HEAD(u132_hcd_wait); static struct mutex u132_module_lock; static int u132_exiting; static int u132_instances; -static struct list_head u132_static_list; /* * end of the global variables protected by u132_module_lock */ @@ -3089,7 +3088,6 @@ static int u132_probe(struct platform_device *pdev) retval = 0; hcd->rsrc_start = 0; mutex_lock(&u132_module_lock); - list_add_tail(&u132->u132_list, &u132_static_list); u132->sequence_num = ++u132_instances; mutex_unlock(&u132_module_lock); u132_u132_init_kref(u132); @@ -3192,7 +3190,6 @@ static struct platform_driver u132_platform_driver = { static int __init u132_hcd_init(void) { int retval; - INIT_LIST_HEAD(&u132_static_list); u132_instances = 0; u132_exiting = 0; mutex_init(&u132_module_lock); @@ -3213,14 +3210,9 @@ static int __init u132_hcd_init(void) module_init(u132_hcd_init); static void __exit u132_hcd_exit(void) { - struct u132 *u132; - struct u132 *temp; mutex_lock(&u132_module_lock); u132_exiting += 1; mutex_unlock(&u132_module_lock); - list_for_each_entry_safe(u132, temp, &u132_static_list, u132_list) { - platform_device_unregister(u132->platform_dev); - } platform_driver_unregister(&u132_platform_driver); printk(KERN_INFO "u132-hcd driver deregistered\n"); wait_event(u132_hcd_wait, u132_instances == 0); -- 2.17.1