Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1781523imu; Wed, 28 Nov 2018 15:14:12 -0800 (PST) X-Google-Smtp-Source: AFSGD/WxVYTgk/FpVDvS4Q+18NGE2F23H+UfAiUqJVbdabItqm34u0CJYKe/0rXy5Rs8fV4npCi2 X-Received: by 2002:a63:8149:: with SMTP id t70mr29900942pgd.172.1543446852185; Wed, 28 Nov 2018 15:14:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543446852; cv=none; d=google.com; s=arc-20160816; b=rJUNFD95SH4afPx+z567ro3dNCCRsme++dIr8KYbE9Qihowcvu4yO/uPpOjSw+VxoX LHP1QQVIpl/e4h2r/dp5dvVWdO9CqXY6Nu+jEB/t4Ms4RMQ+ysOhZstwi2QiwysC2/cc 1KhLJ3sf72/EIpXY43kULC7Mx0LeC8M0YguDiqld0nLOZmPAgU9TrACGtPlGNuP733Un F2wYCy2HC7JWLJtzxS/ab6ZOysWPRV9ovTCi9NEW75KQfO/CKwYjCi+4og0xQzxvQOwA d+NgBaI8pdwoqa5qQ3DIgIns3sb9yZYjmyNUocK8JqwcnrgDzMXBa77D/401yxnQAeTo Fg8g== 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=svTAilfquhUHNuHe82brDLa2p6jm8vxtaTDOun7kSN0=; b=nZy5NMQ0BnZqshZIvwLqPqSbXOUxYnkpmqKYu7mQldFi2337gfKmlXDTupsp70SNSL ZhmBG0K/2m952c3lvdW57vNZerM5wG+so3FhIcM0Rt9HaLN5vXmqjMmAOgveSGCoCQUt vkxJaholS8njb0Wg6Iuko8jcwHQ2zU6Vs29DUaIML5Qy2C4Wq0cNqeCWbAQfKvGGkeug Izc9CAqdrZHly1LYZT06raLOOV4wXMqk8hqE7IAFZLEATg+Lm7UCYAylHSW1ijAuCUa9 pmqhj39nqZeoZqEkSTN8q7NvU+44ELKft1ez9ZboGSm28Gtqqb5fY8DR066bakx8a2HF H9SA== ARC-Authentication-Results: i=1; mx.google.com; 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 n11-v6si22644plg.87.2018.11.28.15.13.56; Wed, 28 Nov 2018 15:14:12 -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; 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 S1726854AbeK2KPE (ORCPT + 99 others); Thu, 29 Nov 2018 05:15:04 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:37394 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726462AbeK2KPE (ORCPT ); Thu, 29 Nov 2018 05:15:04 -0500 Received: from akpm3.svl.corp.google.com (unknown [104.133.8.65]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id CF9E589F; Wed, 28 Nov 2018 23:11:47 +0000 (UTC) Date: Wed, 28 Nov 2018 15:11:45 -0800 From: Andrew Morton To: Rick Edgecombe Cc: luto@kernel.org, will.deacon@arm.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-hardening@lists.openwall.com, naveen.n.rao@linux.vnet.ibm.com, anil.s.keshavamurthy@intel.com, davem@davemloft.net, mhiramat@kernel.org, rostedt@goodmis.org, mingo@redhat.com, ast@kernel.org, daniel@iogearbox.net, jeyu@kernel.org, netdev@vger.kernel.org, ard.biesheuvel@linaro.org, jannh@google.com, kristen@linux.intel.com, dave.hansen@intel.com, deneen.t.dock@intel.com Subject: Re: [PATCH 2/2] x86/modules: Make x86 allocs to flush when free Message-Id: <20181128151145.78a3d8b1f66f6b8fd66f0629@linux-foundation.org> In-Reply-To: <20181128000754.18056-3-rick.p.edgecombe@intel.com> References: <20181128000754.18056-1-rick.p.edgecombe@intel.com> <20181128000754.18056-3-rick.p.edgecombe@intel.com> X-Mailer: Sylpheed 3.6.0 (GTK+ 2.24.31; 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 Tue, 27 Nov 2018 16:07:54 -0800 Rick Edgecombe wrote: > Change the module allocations to flush before freeing the pages. > > ... > > --- a/arch/x86/kernel/module.c > +++ b/arch/x86/kernel/module.c > @@ -87,8 +87,8 @@ void *module_alloc(unsigned long size) > p = __vmalloc_node_range(size, MODULE_ALIGN, > MODULES_VADDR + get_module_load_offset(), > MODULES_END, GFP_KERNEL, > - PAGE_KERNEL_EXEC, 0, NUMA_NO_NODE, > - __builtin_return_address(0)); > + PAGE_KERNEL_EXEC, VM_IMMEDIATE_UNMAP, > + NUMA_NO_NODE, __builtin_return_address(0)); > if (p && (kasan_module_alloc(p, size) < 0)) { > vfree(p); > return NULL; Should any other architectures do this?