kernel-ark/include
David Howells 664cceb009 [PATCH] Keys: Add possessor permissions to keys [try #3]
The attached patch adds extra permission grants to keys for the possessor of a
key in addition to the owner, group and other permissions bits. This makes
SUID binaries easier to support without going as far as labelling keys and key
targets using the LSM facilities.

This patch adds a second "pointer type" to key structures (struct key_ref *)
that can have the bottom bit of the address set to indicate the possession of
a key. This is propagated through searches from the keyring to the discovered
key. It has been made a separate type so that the compiler can spot attempts
to dereference a potentially incorrect pointer.

The "possession" attribute can't be attached to a key structure directly as
it's not an intrinsic property of a key.

Pointers to keys have been replaced with struct key_ref *'s wherever
possession information needs to be passed through.

This does assume that the bottom bit of the pointer will always be zero on
return from kmem_cache_alloc().

The key reference type has been made into a typedef so that at least it can be
located in the sources, even though it's basically a pointer to an undefined
type. I've also renamed the accessor functions to be more useful, and all
reference variables should now end in "_ref".

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-28 09:10:47 -07:00
..
acpi
asm-alpha [PATCH] slab: alpha inlining fix 2005-09-22 22:17:34 -07:00
asm-arm [ARM] Remove SA_IRQNOMASK 2005-09-26 15:30:20 +01:00
asm-arm26 [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-cris [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-frv [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-generic [PATCH] mm: move_pte to remap ZERO_PAGE 2005-09-28 07:46:40 -07:00
asm-h8300 [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-i386 [PATCH] uml: adapt asm/futex.h to our arch 2005-09-21 16:16:29 -07:00
asm-ia64 [IA64] Wire in the MCA/INIT handler stacks 2005-09-22 13:24:19 -07:00
asm-m32r [PATCH] m32r: more basic __user annotations 2005-09-26 18:29:50 -07:00
asm-m68k [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-m68knommu [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-mips [PATCH] mm: move_pte to remap ZERO_PAGE 2005-09-28 07:46:40 -07:00
asm-parisc [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-powerpc
asm-ppc [PATCH] ppc64: SMU driver update & i2c support 2005-09-22 22:17:35 -07:00
asm-ppc64 [PATCH] ppc64: More hugepage fixes 2005-09-28 07:46:42 -07:00
asm-s390 [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-sh [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-sh64 [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-sparc [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-sparc64 [SPARC64]: Probe D/I/E-cache config and use. 2005-09-26 00:32:17 -07:00
asm-um [PATCH] uml: don't redundantly mark pte as newpage in pte_modify 2005-09-22 22:17:36 -07:00
asm-v850 [PATCH] Remove unused var from asm/futex.h 2005-09-21 16:16:29 -07:00
asm-x86_64
asm-xtensa [PATCH] xtensa: remove io_remap_page_range and minor clean-ups 2005-09-22 22:17:37 -07:00
linux [PATCH] Keys: Add possessor permissions to keys [try #3] 2005-09-28 09:10:47 -07:00
math-emu
media
mtd
net [LLC]: fix llc_ui_recvmsg, making it behave like tcp_recvmsg 2005-09-22 08:29:08 -03:00
pcmcia [PATCH] yenta: auto-tune EnE bridges for CardBus cards 2005-09-26 13:09:20 +02:00
rdma [IB] uverbs: Close some exploitable races 2005-09-26 13:01:03 -07:00
rxrpc
scsi [SCSI] Fix thread termination for the SCSI error handle 2005-09-19 09:50:04 -05:00
sound
video