lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 6 Nov 2014 13:58:19 -0800
From:	josh@...htriplett.org
To:	Aristeu Rozanski <aris@...hat.com>
Cc:	linux-kernel@...r.kernel.org,
	Aristeu Rozanski <arozansk@...hat.com>,
	Changli Gao <xiaosuo@...il.com>,
	Dave Hansen <dave@...ux.vnet.ibm.com>,
	David Rientjes <rientjes@...gle.com>,
	Eric Paris <eparis@...hat.com>,
	Hannes Frederic Sowa <hannes@...essinduktion.org>,
	Jesse Gross <jesse@...ira.com>,
	Jonathan Corbet <corbet@....net>,
	Paul Gortmaker <paul.gortmaker@...driver.com>,
	Pravin Shelar <pshelar@...ira.com>,
	Alexander Viro <viro@...iv.linux.org.uk>
Subject: Re: [PATCH] lib/flex_array: make build optional

On Thu, Nov 06, 2014 at 04:27:21PM -0500, Aristeu Rozanski wrote:
> From: Aristeu Rozanski <arozansk@...hat.com>
> 
> flex_array currently is built unconditionally:
> 	text    data     bss     dec     hex filename
> 	2294    1008    1568    4870    1306 lib/flex_array.o
> 	2294    1008    1568    4870    1306 (TOTALS)
> 
> and it's used by procfs, selinux and openvswitch. This patch is
> useful for situations in which memory footprint is a concern and
> those features aren't used.
> 
> Cc: Changli Gao <xiaosuo@...il.com>
> Cc: Dave Hansen <dave@...ux.vnet.ibm.com>
> Cc: David Rientjes <rientjes@...gle.com>
> Cc: Eric Paris <eparis@...hat.com>
> Cc: Hannes Frederic Sowa <hannes@...essinduktion.org>
> Cc: Jesse Gross <jesse@...ira.com>
> Cc: Jonathan Corbet <corbet@....net>
> Cc: Paul Gortmaker <paul.gortmaker@...driver.com>
> Cc: Pravin Shelar <pshelar@...ira.com>
> Cc: Alexander Viro <viro@...iv.linux.org.uk>
> Cc: Josh Triplett <josh@...htriplett.org>
> Signed-off-by: Aristeu Rozanski <arozansk@...hat.com>

I already have a patch for this sitting in the tiny tree (branch
tiny/unflex-array) for the next merge window, and that patch hides the
symbol from the user, just selecting it internally.

I've updated the tinification project list to mark that and several
other projects as "done" or "in progress".

- Josh Triplett

>  fs/proc/Kconfig          |  1 +
>  lib/Kconfig              | 10 ++++++++++
>  lib/Makefile             |  3 ++-
>  net/openvswitch/Kconfig  |  1 +
>  security/selinux/Kconfig |  1 +
>  5 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/proc/Kconfig b/fs/proc/Kconfig
> index 2183fcf..2d624b7 100644
> --- a/fs/proc/Kconfig
> +++ b/fs/proc/Kconfig
> @@ -1,6 +1,7 @@
>  config PROC_FS
>  	bool "/proc file system support" if EXPERT
>  	default y
> +	select FLEX_ARRAY
>  	help
>  	  This is a virtual file system providing information about the status
>  	  of the system. "Virtual" means that it doesn't take up any space on
> diff --git a/lib/Kconfig b/lib/Kconfig
> index 54cf309..675920b 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -432,6 +432,16 @@ config GLOB_SELFTEST
>  	  module load) by a small amount, so you're welcome to play with
>  	  it, but you probably don't need it.
>  
> +config FLEX_ARRAY
> +	bool "Flexible array"
> +	default n
> +	help
> +	  This option enables an implementation of flexible arrays which
> +	  allows creating arrays of fixed size elements with an arbritrary
> +	  size without requiring the single allocation of a contiguous area.
> +
> +	  See Documentation/flexible-arrays.txt
> +
>  #
>  # Netlink attribute parsing support is select'ed if needed
>  #
> diff --git a/lib/Makefile b/lib/Makefile
> index 7512dc9..9c12cbc 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -24,7 +24,7 @@ obj-y	+= lockref.o
>  
>  obj-y += bcd.o div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
>  	 bust_spinlocks.o hexdump.o kasprintf.o bitmap.o scatterlist.o \
> -	 gcd.o lcm.o list_sort.o uuid.o flex_array.o iovec.o clz_ctz.o \
> +	 gcd.o lcm.o list_sort.o uuid.o iovec.o clz_ctz.o \
>  	 bsearch.o find_last_bit.o find_next_bit.o llist.o memweight.o kfifo.o \
>  	 percpu-refcount.o percpu_ida.o hash.o rhashtable.o
>  obj-y += string_helpers.o
> @@ -35,6 +35,7 @@ obj-$(CONFIG_TEST_LKM) += test_module.o
>  obj-$(CONFIG_TEST_USER_COPY) += test_user_copy.o
>  obj-$(CONFIG_TEST_BPF) += test_bpf.o
>  obj-$(CONFIG_TEST_FIRMWARE) += test_firmware.o
> +obj-$(CONFIG_FLEX_ARRAY) += flex_array.o
>  
>  ifeq ($(CONFIG_DEBUG_KOBJECT),y)
>  CFLAGS_kobject.o += -DDEBUG
> diff --git a/net/openvswitch/Kconfig b/net/openvswitch/Kconfig
> index ba3bb82..1d979ce 100644
> --- a/net/openvswitch/Kconfig
> +++ b/net/openvswitch/Kconfig
> @@ -5,6 +5,7 @@
>  config OPENVSWITCH
>  	tristate "Open vSwitch"
>  	select LIBCRC32C
> +	select FLEX_ARRAY
>  	---help---
>  	  Open vSwitch is a multilayer Ethernet switch targeted at virtualized
>  	  environments.  In addition to supporting a variety of features
> diff --git a/security/selinux/Kconfig b/security/selinux/Kconfig
> index bca1b74..cfcc7c1 100644
> --- a/security/selinux/Kconfig
> +++ b/security/selinux/Kconfig
> @@ -2,6 +2,7 @@ config SECURITY_SELINUX
>  	bool "NSA SELinux Support"
>  	depends on SECURITY_NETWORK && AUDIT && NET && INET
>  	select NETWORK_SECMARK
> +	select FLEX_ARRAY
>  	default n
>  	help
>  	  This selects NSA Security-Enhanced Linux (SELinux).
> -- 
> 1.8.3.1
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ