From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755006AbbLAASP (ORCPT ); Mon, 30 Nov 2015 19:18:15 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:36361 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751710AbbLAASN (ORCPT ); Mon, 30 Nov 2015 19:18:13 -0500 Date: Mon, 30 Nov 2015 16:18:11 -0800 From: Andrew Morton To: Kees Cook Cc: Daniel Cashman , LKML , Russell King - ARM Linux , Ingo Molnar , "linux-arm-kernel@lists.infradead.org" , Jonathan Corbet , Don Zickus , "Eric W. Biederman" , Heinrich Schuchardt , jpoimboe@redhat.com, "Kirill A. Shutemov" , n-horiguchi@ah.jp.nec.com, Andrea Arcangeli , Mel Gorman , Thomas Gleixner , David Rientjes , Linux-MM , "linux-doc@vger.kernel.org" , Mark Salyzyn , Jeffrey Vander Stoep , Nick Kralevich , Catalin Marinas , Will Deacon , "H. Peter Anvin" , "x86@kernel.org" , Hector Marco , Borislav Petkov , Daniel Cashman Subject: Re: [PATCH v4 1/4] mm: mmap: Add new /proc tunable for mmap_base ASLR. Message-Id: <20151130161811.592c205d8dc7b00f44066a37@linux-foundation.org> In-Reply-To: References: <1448578785-17656-1-git-send-email-dcashman@android.com> <1448578785-17656-2-git-send-email-dcashman@android.com> <20151130155412.b1a087f4f6f4d4180ab4472d@linux-foundation.org> <20151130160118.e43a2e53a59e347a95a94d5c@linux-foundation.org> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; 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 List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 30 Nov 2015 16:04:36 -0800 Kees Cook wrote: > >> > +#ifdef CONFIG_HAVE_ARCH_MMAP_RND_BITS > >> > + { > >> > + .procname = "mmap_rnd_bits", > >> > + .data = &mmap_rnd_bits, > >> > + .maxlen = sizeof(mmap_rnd_bits), > >> > + .mode = 0600, > >> > + .proc_handler = proc_dointvec_minmax, > >> > + .extra1 = (void *) &mmap_rnd_bits_min, > >> > + .extra2 = (void *) &mmap_rnd_bits_max, > >> > >> hm, why the typecasts? They're unneeded and are omitted everywhere(?) > >> else in kernel/sysctl.c. > > > > Oh. Casting away constness. > > > > What's the thinking here? They can change at any time so they aren't > > const so we shouldn't declare them to be const? > > The _min and _max values shouldn't be changing: they're decided based > on the various CONFIG options that calculate the valid min/maxes. Only > mmap_rnd_bits itself should be changing. hmpf. From: Andrew Morton Subject: include/linux/sysctl.h: make ctl_table.extra1/2 const Nothing should be altering these values. Declare the pointed-to values to be const so we can actually use const values. Cc: Kees Cook Cc: Daniel Cashman Signed-off-by: Andrew Morton --- include/linux/sysctl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN include/linux/sysctl.h~a include/linux/sysctl.h --- a/include/linux/sysctl.h~a +++ a/include/linux/sysctl.h @@ -111,8 +111,8 @@ struct ctl_table struct ctl_table *child; /* Deprecated */ proc_handler *proc_handler; /* Callback for text formatting */ struct ctl_table_poll *poll; - void *extra1; - void *extra2; + const void *extra1; + const void *extra2; }; struct ctl_node { diff -puN kernel/sysctl.c~a kernel/sysctl.c _ From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f51.google.com (mail-wm0-f51.google.com [74.125.82.51]) by kanga.kvack.org (Postfix) with ESMTP id 7347E6B0038 for ; Mon, 30 Nov 2015 19:18:15 -0500 (EST) Received: by wmww144 with SMTP id w144so152095921wmw.1 for ; Mon, 30 Nov 2015 16:18:15 -0800 (PST) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org. [140.211.169.12]) by mx.google.com with ESMTPS id o204si32413285wma.118.2015.11.30.16.18.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Nov 2015 16:18:14 -0800 (PST) Date: Mon, 30 Nov 2015 16:18:11 -0800 From: Andrew Morton Subject: Re: [PATCH v4 1/4] mm: mmap: Add new /proc tunable for mmap_base ASLR. Message-Id: <20151130161811.592c205d8dc7b00f44066a37@linux-foundation.org> In-Reply-To: References: <1448578785-17656-1-git-send-email-dcashman@android.com> <1448578785-17656-2-git-send-email-dcashman@android.com> <20151130155412.b1a087f4f6f4d4180ab4472d@linux-foundation.org> <20151130160118.e43a2e53a59e347a95a94d5c@linux-foundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Kees Cook Cc: Daniel Cashman , LKML , Russell King - ARM Linux , Ingo Molnar , "linux-arm-kernel@lists.infradead.org" , Jonathan Corbet , Don Zickus , "Eric W. Biederman" , Heinrich Schuchardt , jpoimboe@redhat.com, "Kirill A. Shutemov" , n-horiguchi@ah.jp.nec.com, Andrea Arcangeli , Mel Gorman , Thomas Gleixner , David Rientjes , Linux-MM , "linux-doc@vger.kernel.org" , Mark Salyzyn , Jeffrey Vander Stoep , Nick Kralevich , Catalin Marinas , Will Deacon , "H. Peter Anvin" , "x86@kernel.org" , Hector Marco , Borislav Petkov , Daniel Cashman On Mon, 30 Nov 2015 16:04:36 -0800 Kees Cook wrote: > >> > +#ifdef CONFIG_HAVE_ARCH_MMAP_RND_BITS > >> > + { > >> > + .procname = "mmap_rnd_bits", > >> > + .data = &mmap_rnd_bits, > >> > + .maxlen = sizeof(mmap_rnd_bits), > >> > + .mode = 0600, > >> > + .proc_handler = proc_dointvec_minmax, > >> > + .extra1 = (void *) &mmap_rnd_bits_min, > >> > + .extra2 = (void *) &mmap_rnd_bits_max, > >> > >> hm, why the typecasts? They're unneeded and are omitted everywhere(?) > >> else in kernel/sysctl.c. > > > > Oh. Casting away constness. > > > > What's the thinking here? They can change at any time so they aren't > > const so we shouldn't declare them to be const? > > The _min and _max values shouldn't be changing: they're decided based > on the various CONFIG options that calculate the valid min/maxes. Only > mmap_rnd_bits itself should be changing. hmpf. From: Andrew Morton Subject: include/linux/sysctl.h: make ctl_table.extra1/2 const Nothing should be altering these values. Declare the pointed-to values to be const so we can actually use const values. Cc: Kees Cook Cc: Daniel Cashman Signed-off-by: Andrew Morton --- include/linux/sysctl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN include/linux/sysctl.h~a include/linux/sysctl.h --- a/include/linux/sysctl.h~a +++ a/include/linux/sysctl.h @@ -111,8 +111,8 @@ struct ctl_table struct ctl_table *child; /* Deprecated */ proc_handler *proc_handler; /* Callback for text formatting */ struct ctl_table_poll *poll; - void *extra1; - void *extra2; + const void *extra1; + const void *extra2; }; struct ctl_node { diff -puN kernel/sysctl.c~a kernel/sysctl.c _ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: akpm@linux-foundation.org (Andrew Morton) Date: Mon, 30 Nov 2015 16:18:11 -0800 Subject: [PATCH v4 1/4] mm: mmap: Add new /proc tunable for mmap_base ASLR. In-Reply-To: References: <1448578785-17656-1-git-send-email-dcashman@android.com> <1448578785-17656-2-git-send-email-dcashman@android.com> <20151130155412.b1a087f4f6f4d4180ab4472d@linux-foundation.org> <20151130160118.e43a2e53a59e347a95a94d5c@linux-foundation.org> Message-ID: <20151130161811.592c205d8dc7b00f44066a37@linux-foundation.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, 30 Nov 2015 16:04:36 -0800 Kees Cook wrote: > >> > +#ifdef CONFIG_HAVE_ARCH_MMAP_RND_BITS > >> > + { > >> > + .procname = "mmap_rnd_bits", > >> > + .data = &mmap_rnd_bits, > >> > + .maxlen = sizeof(mmap_rnd_bits), > >> > + .mode = 0600, > >> > + .proc_handler = proc_dointvec_minmax, > >> > + .extra1 = (void *) &mmap_rnd_bits_min, > >> > + .extra2 = (void *) &mmap_rnd_bits_max, > >> > >> hm, why the typecasts? They're unneeded and are omitted everywhere(?) > >> else in kernel/sysctl.c. > > > > Oh. Casting away constness. > > > > What's the thinking here? They can change at any time so they aren't > > const so we shouldn't declare them to be const? > > The _min and _max values shouldn't be changing: they're decided based > on the various CONFIG options that calculate the valid min/maxes. Only > mmap_rnd_bits itself should be changing. hmpf. From: Andrew Morton Subject: include/linux/sysctl.h: make ctl_table.extra1/2 const Nothing should be altering these values. Declare the pointed-to values to be const so we can actually use const values. Cc: Kees Cook Cc: Daniel Cashman Signed-off-by: Andrew Morton --- include/linux/sysctl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN include/linux/sysctl.h~a include/linux/sysctl.h --- a/include/linux/sysctl.h~a +++ a/include/linux/sysctl.h @@ -111,8 +111,8 @@ struct ctl_table struct ctl_table *child; /* Deprecated */ proc_handler *proc_handler; /* Callback for text formatting */ struct ctl_table_poll *poll; - void *extra1; - void *extra2; + const void *extra1; + const void *extra2; }; struct ctl_node { diff -puN kernel/sysctl.c~a kernel/sysctl.c _