From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753909AbYI2Vii (ORCPT ); Mon, 29 Sep 2008 17:38:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751602AbYI2Via (ORCPT ); Mon, 29 Sep 2008 17:38:30 -0400 Received: from mga02.intel.com ([134.134.136.20]:51303 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750991AbYI2Via (ORCPT ); Mon, 29 Sep 2008 17:38:30 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.33,334,1220252400"; d="scan'208";a="341919538" From: Jesse Brandeburg Subject: [PATCH] x86: export set_memory_ro and set_memory_rw To: mingo@elte.hu, davem@davemloft.net Cc: =netdev@vger.kernel.org, linux-kernel@vger.kernel.org, jesse.brandeburg@intel.com, bruce.w.allan@intel.com Date: Mon, 29 Sep 2008 14:38:24 -0700 Message-ID: <20080929213824.20346.49328.stgit@jbrandeb-bw.jf.intel.com> User-Agent: StGIT/0.14.3.163.g06f9.dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Bruce Allan Export set_memory_ro() and set_memory_rw() calls for use by drivers that need to have more debug information about who might be writing to memory space. this was initially developed for use while debugging a memory corruption problem with e1000e. Ingo Molnar said: >> +EXPORT_SYMBOL(set_memory_rw); > that's fine, as long as you make it kernel-internal EXPORT_SYMBOL_GPL() patch was modified with this suggestion. Signed-off-by: Bruce Allan Signed-off-by: Jesse Brandeburg Acked-by: Ingo Molnar --- arch/x86/mm/pageattr.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 43e2f84..62c1eef 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -906,11 +906,13 @@ int set_memory_ro(unsigned long addr, int numpages) { return change_page_attr_clear(addr, numpages, __pgprot(_PAGE_RW)); } +EXPORT_SYMBOL_GPL(set_memory_ro); int set_memory_rw(unsigned long addr, int numpages) { return change_page_attr_set(addr, numpages, __pgprot(_PAGE_RW)); } +EXPORT_SYMBOL_GPL(set_memory_rw); int set_memory_np(unsigned long addr, int numpages) {