Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2012051ybz; Thu, 30 Apr 2020 09:18:35 -0700 (PDT) X-Google-Smtp-Source: APiQypKpoL8sFggcPL/zG4BeK5SClNzG3JZ5FejgAZW/J7MFKCWjNbkg2xNCKwNWrBGviN1TT6qM X-Received: by 2002:a17:906:809:: with SMTP id e9mr3336560ejd.81.1588263515498; Thu, 30 Apr 2020 09:18:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588263515; cv=none; d=google.com; s=arc-20160816; b=Vnp9Gk7O1nLHj7NSJu6kDuyNgHjm8rggdWFhAUU6RGGdIjEjxRg6SsNsYfQLwLNLye gYn7asmhqXO4jqoQYChWF2sjkOpJ1LGO1SlwcuBdiBGc8dc7+hE87+Y5y+6oizQap6Li RFAFFMZTmSDam6yc+5HE82U7XaENr9CXWDCwt+a9XRLfU+ooBqTHebcH2UuDwtyotxWu kWQ2c3H6yMuigfKY5ZIgdOSrY1mZnMbjLNwQrN4gbqzh5N0Ed/k0GQU0JLKLdeMoxvBS ZqFd0+hth3blMZ9eytQmQuwMO96k2ZiJV5GuNY5ZsXmq6MyhWyqig3GlsCxCrur520DJ CGVg== 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=iuPzcWj0vomCVBMyuITI+zbVWz4XObLYKJpzRci7IUw=; b=cjGLgnaKBjZQLQpNAbc9l01k88rSGW6a+oGKKv8qvRzL4BQuz4qRWWjQwzMXgRwAca 2yKHB0XNenwQgWjni5kIv3mLDo3AW1+6YaDrUp91cfIEFv0SnvCiRQoNE7pat9t5MhRH i14Kf4f2UevoW0+24WF0xFK5yFZzYofMSGrAzTdwpTTSvAD2YVeXjZZTEgtBZJ+bACzO ZGW2u+B2nnK0IOBCLQXwUdfP7VDrAKMWmqEt+k9/VI6AWqfcwA3vZsoowB9ROPkdiszg X9gAqbqocHVkJ3j3k9QnP7r28BMShrBy7SHbbCn6Pps0sOYCoITGhvARTUNJ+ZgLKaDw E2eA== 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 bq5si41867ejb.356.2020.04.30.09.18.10; Thu, 30 Apr 2020 09:18:35 -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 S1727882AbgD3QQb (ORCPT + 99 others); Thu, 30 Apr 2020 12:16:31 -0400 Received: from mail.kernel.org ([198.145.29.99]:57172 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726405AbgD3QQa (ORCPT ); Thu, 30 Apr 2020 12:16:30 -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 1755420661; Thu, 30 Apr 2020 16:16:29 +0000 (UTC) Date: Thu, 30 Apr 2020 12:16:27 -0400 From: Steven Rostedt To: Mathieu Desnoyers Cc: Joerg Roedel , linux-kernel , Ingo Molnar , Thomas Gleixner , Peter Zijlstra , Borislav Petkov , Andrew Morton , Shile Zhang , Andy Lutomirski , "Rafael J. Wysocki" , Dave Hansen , Tzvetomir Stoyanov Subject: Re: [RFC][PATCH] x86/mm: Sync all vmalloc mappings before text_poke() Message-ID: <20200430121627.682061e2@gandalf.local.home> In-Reply-To: <2026887875.77814.1588260015439.JavaMail.zimbra@efficios.com> References: <20200429054857.66e8e333@oasis.local.home> <20200429105941.GQ30814@suse.de> <20200429082854.6e1796b5@oasis.local.home> <20200429100731.201312a9@gandalf.local.home> <20200430141120.GA8135@suse.de> <20200430145057.GB8135@suse.de> <2026887875.77814.1588260015439.JavaMail.zimbra@efficios.com> 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 Thu, 30 Apr 2020 11:20:15 -0400 (EDT) Mathieu Desnoyers wrote: > > The right fix is to call vmalloc_sync_mappings() right after allocating > > tracing or perf buffers via v[zm]alloc(). > > Either right after allocation, or right before making the vmalloc'd data > structure visible to the instrumentation. In the case of the pid filter, > that would be the rcu_assign_pointer() which publishes the new pid filter > table. > > As long as vmalloc_sync_mappings() is performed somewhere *between* allocation > and publishing the pointer for instrumentation, it's fine. > > I'll let Steven decide on which approach works best for him. As stated in the other email, I don't see it having anything to do with vmalloc, but with the per_cpu() allocation. I'll test this theory out by not even allocating the pid masks and touching the per cpu data at every event to see if it crashes. -- Steve