Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp4971700ybv; Wed, 26 Feb 2020 06:15:29 -0800 (PST) X-Google-Smtp-Source: APXvYqxIDh/KJvxqTK3K+9PrgRv26y08WoLP0J7ij5E4Oc7K7mQTH7E+m8M+lsqD05gAgRx1xfVl X-Received: by 2002:a9d:7cd0:: with SMTP id r16mr3429672otn.50.1582726528593; Wed, 26 Feb 2020 06:15:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582726528; cv=none; d=google.com; s=arc-20160816; b=UtdqzrMgvzSlmau9ZFGwfy+Zkb3Mmr/X8e9TkMmPlUWFwgiSE7e2wE+z5YXKf4Je0v 3lMbohRha7rk96yPk2raq+QK8IgQLtH9l1ZTcRn6h54YC7j1ygOaZcPLnRNFbayWNThL Dx6ccBWj01sheD2XYas/vcOR1LpoaI58RHCXryum22SRzDREM3S1bK4f6jiPGtfSa9PU h+1WZYKjhWv1oZsYPNNXBmY2JN0rRzIfdBxevqKhewPlQ95v+0Tvd1LDx+jn4+wrI7EX HG6hGTc/di+Khw58sylOluI7VusPM54YmEZPYvU1QEUQhrgVZCCb07MvtRyUTXXbzziO QicA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=FGHkOk7etA0w/lU3iCaXWIwB55mt0PB/liPLxSbfLGg=; b=fPb65VAs0EDd+j8HtDPIAOQHFGCrkfa4/1QWeJoF+qXRRiiC17jsvw28TgUd/YThH6 2F42dWWhxD4N/Opwq2+DrJHG14pzsu//XA9+uaDZQqqlhrd8t59FEDJblYANaoRgyXn+ HQbOjdBeQIUuNmGRUlSFA2t9ft47nFMe6LXnFTKUgGJoC6trfDQQLG3YCfwYcwVdi8cZ iHpUF0Q9AGQQrr++ewOuQ667FRZHBOv7F+MYCl0aMztbGdZ1UM2YDTg/2I3xOgLFKaLM yF1x0qXhL0D0NoBQBFTYH+AjUjnPv7/gp6tqbA1N5LM3p1mfaDBY1LCsIYmW8xLvnPQr xkcw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=XiDQ6WtS; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v14si1309259otn.293.2020.02.26.06.15.14; Wed, 26 Feb 2020 06:15:28 -0800 (PST) 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=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=XiDQ6WtS; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726983AbgBZONj (ORCPT + 99 others); Wed, 26 Feb 2020 09:13:39 -0500 Received: from mail-il1-f195.google.com ([209.85.166.195]:45005 "EHLO mail-il1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726579AbgBZONj (ORCPT ); Wed, 26 Feb 2020 09:13:39 -0500 Received: by mail-il1-f195.google.com with SMTP id x7so365228ilq.11 for ; Wed, 26 Feb 2020 06:13:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=FGHkOk7etA0w/lU3iCaXWIwB55mt0PB/liPLxSbfLGg=; b=XiDQ6WtSuyRFVXn8DgaqZId+oCLQRtfxO4fozeDNu5fjAQjvk8xgmcNZgahcTJelTf /ua4eHVBe0sSmjeTJ7nAj1Uqxi2up8pmT+GO7iOCKwWnOWimmBmCuYU6fII6bE8eEt7o Y6du4YnRxbe4vRZlwaUfAWNCi5wXXIwRNZoQ4XV5Tno4b4d6c5m80IhgVVMguLMT0uYy Y51xuck/PChsUWj6WbSsadsgpgnE27VvqDFsB88czvXeRRIaJ/0Nor5XslswdY+jyLb1 H2zbyaIDq2PI1N2CNGk1VE2O4c0kaUi0gDx86irK4Uj/TnCJziwqBa3AU1dIdgXMOiWY ks1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=FGHkOk7etA0w/lU3iCaXWIwB55mt0PB/liPLxSbfLGg=; b=kCuPtgZDaIg5xx/oBSdkt6iLbzJbQCTAFq9KK2q7bn294KfhnjPmL15JV7ZSXbaKhV Al7UuzjkrQHhytOtpZSse00qGdt1vX/xOd65cQ/Fb626zf3B0HagUs90JU/eBeECmKCc dDiJndnZUx5QM9MBFYgmxQdLWlfuTlTWRY1xleg1+J5lQiS2x6PHgwls2xhdqh+9Qi8e /NAaOCHFV/dwGmtDBGPgmOjhVVHExiS0P4RyRZQ5Tsh9RUM9s2j9TeDWFAXZiZubAgFJ szTTzkl63X6OIST2IKhRAUebS1Spb7kdpQBjmgVOJ92TTDBwNLynvQSWFc1hxFXlvNLe MBBw== X-Gm-Message-State: APjAAAWUw6Jk5c7qfnVLXkptQbiBSR2zrsHBSgHH4LGVnb5BiHR0LuNg 96SR4awUCFfwQHBkUYNs11kFCw== X-Received: by 2002:a92:3c51:: with SMTP id j78mr3583156ila.210.1582726418925; Wed, 26 Feb 2020 06:13:38 -0800 (PST) Received: from [192.168.1.159] ([65.144.74.34]) by smtp.gmail.com with ESMTPSA id i16sm660223ils.41.2020.02.26.06.13.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Feb 2020 06:13:38 -0800 (PST) Subject: Re: [PATCH v2] mm: Fix use_mm() vs TLB invalidate To: Peter Zijlstra , Andrew Morton Cc: linux-kernel@vger.kernel.org, luto@amacapital.net, keescook@chromium.org, torvalds@linux-foundation.org, jannh@google.com, will@kernel.org References: <20200226132133.GM14946@hirez.programming.kicks-ass.net> From: Jens Axboe Message-ID: <4c6dc38d-1ab1-a48a-f987-f616afd8910b@kernel.dk> Date: Wed, 26 Feb 2020 07:13:37 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <20200226132133.GM14946@hirez.programming.kicks-ass.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/26/20 6:21 AM, Peter Zijlstra wrote: > > For SMP systems using IPI based TLB invalidation, looking at > current->active_mm is entirely reasonable. This then presents the > following race condition: > > > CPU0 CPU1 > > flush_tlb_mm(mm) use_mm(mm) > > tsk->active_mm = mm; > > if (tsk->active_mm == mm) > // flush TLBs > > switch_mm(old_mm,mm,tsk); > > > Where it is possible the IPI flushed the TLBs for @old_mm, not @mm, > because the IPI lands before we actually switched. > > Avoid this by disabling IRQs across changing ->active_mm and > switch_mm(). > > [ There are all sorts of reasons this might be harmless for various > architecture specific reasons, but best not leave the door open at > all. ] Not that I'm worried about it breaking anything, but ran it through the usual testing and might as well report: Tested-by: Jens Axboe -- Jens Axboe