Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp657713ybz; Wed, 29 Apr 2020 07:09:42 -0700 (PDT) X-Google-Smtp-Source: APiQypJTYa49bGHnKh5wSSrTSKbSKt/x8WheUCBk1t/XGkmupIsUW224bONay3xZIhpYVPcqfXZR X-Received: by 2002:a50:874b:: with SMTP id 11mr2536621edv.384.1588169382586; Wed, 29 Apr 2020 07:09:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588169382; cv=none; d=google.com; s=arc-20160816; b=WLoniObQiqCwUeaew8tsCgpczE1yi8VIx/AisBd2A8WqG6vIZqdDuceOZXpwakQ8LA 2aPzeCDb0jcAJlxGmH3ym6YqJROtfWND0aEvHYST4882HPUi3Ww4SYbh4z3RYiaLcGMN rk1Y5D0EpF7u7yIeL8+ro5lPXRmyCGDwv1jH+P1+T31qD2FLa93bvgIBOGjsCLVYFJ6I 4xijIYcBaEzeQcQbXA/oGkgZDQqn89kuCrwQuViekyaZF0ed1eNTjCm+DAlObKPUJyBo hDuhDHDjTOsCx/ccP04Yzku5mee6OnXuRnmt+UDUoKMI76FjMLnWJlMPLMgM8d3o21z+ FuQw== 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:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=qVNYsrnRR4Z+neD1gAZMeRVSHN5ir39pCXHmUOMcRw4=; b=y9stOueOY0/BgMgg/LsfSua8F3Tu4B2NqAuT9sMSfvghN7mYgZyTgclQSwdKYwZnHs K3G7hrOgeWgaG3gEEiesAM9NaI2Zkh0mGzgDd/R/BX5h8UDxyYtGE3a/iDL1ryJH9aAm 3oSNjFcfHJCIsTwKyi7ai3UCuCPqe+G0cebNKnEZue7S437pPanqYZfiSW2Dn5ZhPjKI p6gM3KeGgpn42qHkscXArPNh7UGVQd4BTZt7cLOoqT4HOrfwlDW5mT98/OQNKaWu47o1 wxtyzsedizI51dJDoaKrn+OTRlXYfERDzXNkLEr9/LzOj3Cmb6c+TfnAOfjDhk35zMtz Ow7Q== 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 gz10si3539324ejb.167.2020.04.29.07.09.13; Wed, 29 Apr 2020 07:09:42 -0700 (PDT) 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 S1727856AbgD2OHe (ORCPT + 99 others); Wed, 29 Apr 2020 10:07:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:39846 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726950AbgD2OHe (ORCPT ); Wed, 29 Apr 2020 10:07:34 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 907E22082E; Wed, 29 Apr 2020 14:07:32 +0000 (UTC) Date: Wed, 29 Apr 2020 10:07:31 -0400 From: Steven Rostedt To: Joerg Roedel Cc: LKML , Ingo Molnar , Thomas Gleixner , Peter Zijlstra , Borislav Petkov , Andrew Morton , Shile Zhang , Andy Lutomirski , "Rafael J. Wysocki" , Dave Hansen , Tzvetomir Stoyanov , Mathieu Desnoyers Subject: Re: [RFC][PATCH] x86/mm: Sync all vmalloc mappings before text_poke() Message-ID: <20200429100731.201312a9@gandalf.local.home> In-Reply-To: <20200429082854.6e1796b5@oasis.local.home> References: <20200429054857.66e8e333@oasis.local.home> <20200429105941.GQ30814@suse.de> <20200429082854.6e1796b5@oasis.local.home> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 29 Apr 2020 08:28:54 -0400 Steven Rostedt wrote: > On Wed, 29 Apr 2020 12:59:41 +0200 > Joerg Roedel wrote: > > > > use_temporary_mm() { > > > switch_mm_irqs_off() { > > > load_new_mm_cr3() { > > > write_cr3() <<--- Lock up! > > > > I don't see how it could lock up in write_cr3(), at least on bare-metal. > > What is the environment this happens, 32 or 64 bit, in a VM or > > bare-metal? > > 64 bit bare-metal. In fact, it wasn't reproducible on a VM (according > to Tzvetomir, who was just using a Fedora kernel). I only tried it on > bare-metal. > > > > > I think it is more likely that your lockup is actually a page-fault > > loop, where the #PF handler does not map the faulting address correctly. > > Sounds reasonable. > > > > > But I have to look closer into how text_poke() works before I can say > > more. > > > > Btw, in case it happens on x86-64, does it also happen without > > vmalloc-stacks? > > Just tried it out with !CONFIG_VMAP_STACKS and it still locks up :-/ Talking with Mathieu about this on IRC, he pointed out that my code does have a vzalloc() that is called: in trace_pid_write() pid_list->pids = vzalloc((pid_list->pid_max + 7) >> 3); This is done when -P1,2 is on the trace-cmd command line. -- Steve