android_kernel_motorola_sm6225/arch/powerpc/platforms
David Howells 1dce27c5aa Wrap accesses to the fd_sets in struct fdtable
Wrap accesses to the fd_sets in struct fdtable (for recording open files and
close-on-exec flags) so that we can move away from using fd_sets since we
abuse the fd_set structs by not allocating the full-sized structure under
normal circumstances and by non-core code looking at the internals of the
fd_sets.

The first abuse means that use of FD_ZERO() on these fd_sets is not permitted,
since that cannot be told about their abnormal lengths.

This introduces six wrapper functions for setting, clearing and testing
close-on-exec flags and fd-is-open flags:

	void __set_close_on_exec(int fd, struct fdtable *fdt);
	void __clear_close_on_exec(int fd, struct fdtable *fdt);
	bool close_on_exec(int fd, const struct fdtable *fdt);
	void __set_open_fd(int fd, struct fdtable *fdt);
	void __clear_open_fd(int fd, struct fdtable *fdt);
	bool fd_is_open(int fd, const struct fdtable *fdt);

Note that I've prepended '__' to the names of the set/clear functions because
they require the caller to hold a lock to use them.

Note also that I haven't added wrappers for looking behind the scenes at the
the array.  Possibly that should exist too.

Signed-off-by: David Howells <dhowells@redhat.com>
Link: http://lkml.kernel.org/r/20120216174942.23314.1364.stgit@warthog.procyon.org.uk
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
2012-02-19 10:30:52 -08:00
..
8xx powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
40x Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
44x Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-01-08 13:21:22 -08:00
52xx Merge remote-tracking branch 'agust/next' into merge 2011-11-08 14:53:55 +11:00
82xx powerpc/82xx: updates for mgcoge 2011-10-11 16:18:41 -05:00
83xx sbc834x: put full compat string in board match check 2012-01-04 15:27:59 -06:00
85xx powerpc: fix compile error with 85xx/p1022_ds.c 2012-01-17 13:08:08 -06:00
86xx powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
512x powerpc/mpc5121: drop "select MPC5121_ADS_CPLD" 2011-11-13 20:57:45 +01:00
amigaone pcspkr: Cleanup Kconfig dependencies 2011-06-09 15:01:41 +02:00
cell Wrap accesses to the fd_sets in struct fdtable 2012-02-19 10:30:52 -08:00
chrp powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
embedded6xx Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-01-06 17:58:22 -08:00
iseries Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2012-01-07 12:03:30 -08:00
maple powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
pasemi powerpc/mpic: Invert the meaning of MPIC_PRIMARY 2011-12-07 13:43:08 +11:00
powermac Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2012-01-07 12:03:30 -08:00
powernv powerpc/powernv: Fix PCI resource handling 2012-01-25 13:32:00 +11:00
prep powerpc: drop unused Kconfig symbols 2011-10-31 23:39:52 +01:00
ps3 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-01-06 17:58:22 -08:00
pseries powerpc/cpuidle: Make it a bool, not a tristate 2012-01-25 09:43:06 +11:00
wsp powerpc/wsp: Mark opb cascade handler IRQF_NO_THREAD 2011-11-25 14:11:29 +11:00
fsl_uli1575.c PCI: add pci_bus_for_each_resource(), remove direct bus->resource[] refs 2010-02-23 09:43:31 -08:00
Kconfig lib: use generic pci_iomap on all architectures 2012-01-10 18:04:27 -08:00
Kconfig.cputype powerpc: Kconfig updates for FSL BookE HUGETLB 64-bit 2011-12-07 16:26:23 +11:00
Makefile powerpc: Add skeleton PowerNV platform 2011-09-20 15:53:25 +10:00