From patchwork Fri Jun 14 00:44:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jason Gunthorpe X-Patchwork-Id: 10993977 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 85EC714BB for ; Fri, 14 Jun 2019 00:45:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7C0ED27816 for ; Fri, 14 Jun 2019 00:45:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6FEFC2793B; Fri, 14 Jun 2019 00:45:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 196D827816 for ; Fri, 14 Jun 2019 00:45:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 486536B026F; Thu, 13 Jun 2019 20:44:59 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 435D86B0271; Thu, 13 Jun 2019 20:44:59 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 28D6A6B0273; Thu, 13 Jun 2019 20:44:59 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by kanga.kvack.org (Postfix) with ESMTP id E45156B026F for ; Thu, 13 Jun 2019 20:44:58 -0400 (EDT) Received: by mail-qk1-f197.google.com with SMTP id c207so645909qkb.11 for ; Thu, 13 Jun 2019 17:44:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=qJP3s5LCTJOa2Bpv3WsF12kBeuFb/g7s2rVIALekTDo=; b=bQnaDIl18YZpYEmrZfK0KhxIyd/TI8FphJc+j2k18CkxnqPBV3gr99PmPgwcYG8yGq ZO4KcnwFyxiSb5kVLxxMs9+Tr66nRXOnagWODasTL9IMc8nRhhIfhL8fIQtbMcqW93za C0G1VPjjL/2QucOEW2pKVg1+8N4nyMWYFchyfWc1AsG1SfrD7wDQtVMb7RViYMeMjbzo f6MZPvcUZ75+bZ3pA6sX3jgfPHwA4zMWM5Pv09ZWl6GRbWjmP4Rl8TUZv9ZJ7hseSEro DvjE5fXrSdd/7x219+QuDHYQ6ueRGOe0ziVgj69J6/jkZBvgFeW8RT+jf3kJ5EMoNyoe gvcg== X-Gm-Message-State: APjAAAVHv9RknFHGRdYQ+nou/r4wGEk+qjuHUSFY9ZlDZprwA/Ngit/y m9AFif9OnY6GR5a4XoMNtWw8bIi57Wi9BH5CMrkyuAgFsajAVwKO7qx9BR+MNXxFPpvyr0oXIuS iTt3R77VEtsRiaOlAjo1Xw4VmGHaRbmr5U9tiKq4GAUo2H/QCEGTLmKdxjeW4to/7xQ== X-Received: by 2002:a05:620a:152:: with SMTP id e18mr71948262qkn.101.1560473098711; Thu, 13 Jun 2019 17:44:58 -0700 (PDT) X-Received: by 2002:a05:620a:152:: with SMTP id e18mr71948239qkn.101.1560473098175; Thu, 13 Jun 2019 17:44:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560473098; cv=none; d=google.com; s=arc-20160816; b=jbEvCUpC9GITi4VbaLZxY42BCz3OhBpSVtk0sUTpqpCXLTswC9JAf0x3nlGkuh7rdH rPzYgfNyv76UpQ4pVphJ5d4b2xYNoa8ZGoGJT3C8pIMLS2JXmrPTWD13itdrmjsTvNJ/ 0mv1oDn+b2GyBsZngjjq9UUognnpHojBktVwqTej2D7iZBjpBtjha+ESWxbUnnCf5XBr XRvnefJpSXCjp8Lz/AmJdMC/Jark/feDQoVxETlIRkaMjAdMjN8q4r7L8M/5bOsFMT0H e7UQxfHg32z41aHqlh20u3mEBMN4cccpA6YH/JeWAGhudOajuRFt+DdRKb6eOAZEAEeE 9lpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=qJP3s5LCTJOa2Bpv3WsF12kBeuFb/g7s2rVIALekTDo=; b=a5bQFG4F3m76XRce2wVx/sHADOHzL4rWmmrT9BHcs6lSQTFUqUCPK9OKNbS/1xFhBE 94KF1xaSJqf9hUJUBXQGvO8y72A87jDJL+5/Wv5nS4XdAj3sUoNjwpcJjsy3eMW46RTQ fdLwKKUS9QtsA5X4vhKl7l641x/PuPDS8FCl4vF2Gr8QWTK9AQhUyYpYNP7FSMnYDkwo ngK7mMxw648SvIzNGwWqTDYUxIrHKNEGqhucnkl/jjpKCDBDG8bi13RRJ6f2rl8Gc6Js w6xdLT3bM/uzLA08YzWOoyqpQsZfb526QwbPguAdZb9EFvRYW49p0sZEMQoaHnvuPsuO 1Fgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ziepe.ca header.s=google header.b=dyouVytY; spf=pass (google.com: domain of jgg@ziepe.ca designates 209.85.220.65 as permitted sender) smtp.mailfrom=jgg@ziepe.ca Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id 136sor1077907qkm.23.2019.06.13.17.44.58 for (Google Transport Security); Thu, 13 Jun 2019 17:44:58 -0700 (PDT) Received-SPF: pass (google.com: domain of jgg@ziepe.ca designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@ziepe.ca header.s=google header.b=dyouVytY; spf=pass (google.com: domain of jgg@ziepe.ca designates 209.85.220.65 as permitted sender) smtp.mailfrom=jgg@ziepe.ca DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qJP3s5LCTJOa2Bpv3WsF12kBeuFb/g7s2rVIALekTDo=; b=dyouVytY+jmXKdkQ6AEcE55kZQEWs6bscsYHu17tMqMjO0ykbKjOyu4AZmogdzcKOO okRY9yuPH0h4p3cAV4QrnZ4n34NPuyuK97/dkGmB3VzQKnqK9s/XAJtvvIAGZkXqI8Jd kp8Bb3YU8e6ArRWr/jcI134rAI1zQOreSW9nSzEGghOTmJk/pJslGcpZKvhe05E8ekCA wMSMERjmVYizkkeqJXXp4Y3n+nU+hNQwdsuP0lS3FbYfoYhnJGG75bzPsyyRZjGeXB24 rhFdNEenuxIK01r0M01cZSie0WszSDebNOB+aFhxWAf9m8Ut+WvZhCrUuTgOing0GJS6 L08w== X-Google-Smtp-Source: APXvYqwYuZdBUIyBE3tnoT2pvasr4EEIwX7YCMbTNFDbznpFFTMobqSAyRGm2KIgVEvCZYbf+NYJww== X-Received: by 2002:a05:620a:144a:: with SMTP id i10mr72376829qkl.130.1560473097962; Thu, 13 Jun 2019 17:44:57 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-156-34-55-100.dhcp-dynamic.fibreop.ns.bellaliant.net. [156.34.55.100]) by smtp.gmail.com with ESMTPSA id m21sm498643qtp.92.2019.06.13.17.44.54 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 13 Jun 2019 17:44:54 -0700 (PDT) Received: from jgg by mlx.ziepe.ca with local (Exim 4.90_1) (envelope-from ) id 1hbaKr-0005KE-Ue; Thu, 13 Jun 2019 21:44:53 -0300 From: Jason Gunthorpe To: Jerome Glisse , Ralph Campbell , John Hubbard , Felix.Kuehling@amd.com Cc: linux-rdma@vger.kernel.org, linux-mm@kvack.org, Andrea Arcangeli , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, Ben Skeggs , Jason Gunthorpe , Philip Yang Subject: [PATCH v3 hmm 08/12] mm/hmm: Remove racy protection against double-unregistration Date: Thu, 13 Jun 2019 21:44:46 -0300 Message-Id: <20190614004450.20252-9-jgg@ziepe.ca> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190614004450.20252-1-jgg@ziepe.ca> References: <20190614004450.20252-1-jgg@ziepe.ca> MIME-Version: 1.0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP From: Jason Gunthorpe No other register/unregister kernel API attempts to provide this kind of protection as it is inherently racy, so just drop it. Callers should provide their own protection, it appears nouveau already does, but just in case drop a debugging POISON. Signed-off-by: Jason Gunthorpe Reviewed-by: Jérôme Glisse Reviewed-by: John Hubbard Reviewed-by: Ralph Campbell Tested-by: Philip Yang Reviewed-by: Christoph Hellwig --- mm/hmm.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/mm/hmm.c b/mm/hmm.c index c0f622f86223c2..e3e0a811a3a774 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -283,18 +283,13 @@ EXPORT_SYMBOL(hmm_mirror_register); */ void hmm_mirror_unregister(struct hmm_mirror *mirror) { - struct hmm *hmm = READ_ONCE(mirror->hmm); - - if (hmm == NULL) - return; + struct hmm *hmm = mirror->hmm; down_write(&hmm->mirrors_sem); list_del_init(&mirror->list); - /* To protect us against double unregister ... */ - mirror->hmm = NULL; up_write(&hmm->mirrors_sem); - hmm_put(hmm); + memset(&mirror->hmm, POISON_INUSE, sizeof(mirror->hmm)); } EXPORT_SYMBOL(hmm_mirror_unregister);