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
..
byteorder
[BYTEORDER]: Document alignment and byteorder macros
2005-09-19 19:57:36 -07:00
dvb
hdlc
isdn
lockd
mmc
[MMC] Ensure correct mmc_priv() behaviour
2005-09-08 22:46:00 +01:00
mtd
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
[NETFILTER]: Fix invalid module autoloading by splitting iptable_nat
2005-09-26 15:25:11 -07:00
netfilter_ipv6
[NETFILTER] ip6tables: remove duplicate code
2005-09-19 15:34:40 -07:00
nfsd
[PATCH] nfsd4: move replay_owner
2005-09-13 08:22:31 -07:00
raid
[PATCH] md: add write-intent-bitmap support to raid5
2005-09-09 16:39:12 -07:00
sunrpc
tc_act
tc_ematch
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
affs_fs.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
apm_bios.h
arcdevice.h
arcfb.h
ata.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
auto_fs.h
auto_fs4.h
auxvec.h
awe_voice.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
[PATCH] bfs: fix endianness, signedness; add trivial bugfix
2005-09-09 13:57:32 -07:00
binfmts.h
bio.h
[PATCH] include/linux/bio.h: "extern inline" -> "static inline"
2005-09-10 10:06:35 -07:00
bit_spinlock.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
bitmap.h
bitops.h
blkdev.h
[PATCH] include/linux/blkdev.h: "extern inline" -> "static inline"
2005-09-10 10:06:34 -07:00
blkpg.h
blockgroup_lock.h
bootmem.h
bpqether.h
buffer_head.h
cache.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
chio.h
[PATCH] __user annotations (scsi/ch)
2005-09-10 10:16:27 -07:00
circ_buf.h
cobalt-nvram.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coff.h
com20020.h
compat.h
compat_ioctl.h
compiler-gcc.h
compiler-gcc2.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
config.h
connector.h
[CONNECTOR]: async connector mode.
2005-09-26 15:06:50 -07:00
console.h
console_struct.h
consolemap.h
cpu.h
cpufreq.h
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc16.h
[PATCH] crc16: remove w1 specific comments.
2005-09-12 08:48:08 -07:00
crc32.h
crc32c.h
crypto.h
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dccp.h
[DCCP]: Introduce CCID getsockopt for the CCIDs
2005-09-18 00:19:32 -07:00
dcookies.h
debugfs.h
delay.h
devfs_fs.h
devfs_fs_kernel.h
device-mapper.h
device.h
[PATCH] driver core: add helper device_is_registered()
2005-09-22 07:58:24 -07:00
devpts_fs.h
dio.h
dirent.h
divert.h
dm-ioctl.h
dm9000.h
dma-mapping.h
dmapool.h
[PATCH] dmapool: Fix "nocast type" warnings
2005-09-10 10:06:29 -07:00
dmi.h
[PATCH] x86-64: Make dmi_find_device for !DMI case inline
2005-09-12 10:50:58 -07:00
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1286.h
dtlk.h
edd.h
eeprom.h
efi.h
efs_dir.h
efs_fs.h
efs_fs_i.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf.h
elfcore.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventpoll.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
fadvise.h
fb.h
[PATCH] fbcon: constify font data
2005-09-13 08:22:32 -07:00
fcdevice.h
fcntl.h
fd.h
fd1772.h
fddidevice.h
fdreg.h
file.h
[PATCH] files: files struct with RCU
2005-09-09 13:57:55 -07:00
filter.h
firmware.h
flat.h
font.h
[PATCH] fbcon: constify font data
2005-09-13 08:22:32 -07:00
fs.h
[PATCH] mm/filemap.c: make two functions static
2005-09-10 10:06:25 -07:00
fs_struct.h
fsl_devices.h
fsnotify.h
ftape-header-segment.h
ftape-vendors.h
ftape.h
fuse.h
[PATCH] FUSE: add fsync operation for directories
2005-09-09 14:03:47 -07:00
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_serial.h
genhd.h
gfp.h
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hiddev.h
highmem.h
highuid.h
hippidevice.h
hpet.h
hpfs_fs.h
hugetlb.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-ite.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-algo-sibyte.h
i2c-dev.h
i2c-id.h
i2c-isa.h
i2c-pxa.h
i2c.h
[PATCH] i2c: kill an unused i2c_adapter struct member
2005-09-17 11:50:02 -07:00
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
idr.h
if.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_ltalk.h
if_packet.h
if_plip.h
if_ppp.h
if_pppox.h
if_shaper.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
[8021Q]: Add endian annotations.
2005-09-19 15:41:28 -07:00
if_wanpipe.h
if_wanpipe_common.h
igmp.h
in.h
in6.h
[IPV6]: Note values allocated for ip6_tables.
2005-09-10 11:32:45 +09:00
in_route.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_task.h
[PATCH] files: files struct with RCU
2005-09-09 13:57:55 -07:00
initrd.h
inotify.h
input.h
Manual merge with Linus
2005-09-09 20:14:47 -05:00
interrupt.h
[PATCH] x86-64: Some cleanup and optimization to the processor data area.
2005-09-12 10:49:58 -07:00
ioc4.h
ioctl.h
ioctl32.h
ioport.h
ioprio.h
ip.h
ip6_tunnel.h
ip_mp_alg.h
ipc.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h
[IPV6]: Bring Type 0 routing header in-line with rfc3542.
2005-09-10 00:15:06 -07:00
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
isapnp.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ite_gpio.h
ixjuser.h
jbd.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
jffs.h
jffs2.h
jffs2_fs_i.h
jffs2_fs_sb.h
jhash.h
jiffies.h
[PATCH] include: update jiffies/{m,u}secs conversion functions
2005-09-10 10:06:36 -07:00
journal-head.h
joystick.h
[PATCH] joystick-vs-x.org fix
2005-09-17 11:50:02 -07:00
kallsyms.h
kbd_diacr.h
kbd_kern.h
kd.h
kdev_t.h
kernel.h
[PATCH] Make BUILD_BUG_ON fail at compile time.
2005-09-13 08:22:28 -07:00
kernel_stat.h
kernelcapi.h
kexec.h
key-ui.h
[PATCH] Keys: Add possessor permissions to keys [try #3 ]
2005-09-28 09:10:47 -07:00
key.h
[PATCH] Keys: Add possessor permissions to keys [try #3 ]
2005-09-28 09:10:47 -07:00
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h
kobject_uevent.h
kprobes.h
kref.h
kthread.h
lapb.h
lcd.h
libata.h
[PATCH] PATCH: remove function for non-PCI as requested
2005-09-16 02:39:01 -04:00
libps2.h
limits.h
linkage.h
linux_logo.h
list.h
llc.h
loop.h
lp.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mempolicy.h
[PATCH] PCI: Run PCI driver initialization on local node
2005-09-08 14:57:23 -07:00
mempool.h
meye.h
mii.h
minix_fs.h
miscdevice.h
mm.h
[PATCH] mm: add a note about partially hardcoded VM_* flags
2005-09-21 10:11:55 -07:00
mm_inline.h
mman.h
mmtimer.h
mmzone.h
mod_devicetable.h
[PATCH] pcmcia: fix cross-platform issues with pcmcia module aliases
2005-09-26 13:13:58 +02:00
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
mtio.h
mv643xx.h
n_r3964.h
namei.h
namespace.h
nbd.h
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
net.h
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_logging.h
netlink.h
[NETLINK]: Reserve a slot for NETLINK_GENERIC.
2005-09-14 20:52:37 -07:00
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nfsd_idmap.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nubus.h
numa.h
nvram.h
openprom_fs.h
oprofile.h
page-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
pci-acpi.h
pci.h
Remove "must_check" attributes in PCI-land
2005-09-09 15:43:46 -07:00
pci_ids.h
[PATCH] yenta: add support for more TI bridges
2005-09-26 13:11:27 +02:00
pci_regs.h
[PATCH] PCI: restore BAR values after D3hot->D0 for devices that need it
2005-09-08 14:57:24 -07:00
pcieport_if.h
percpu.h
percpu_counter.h
personality.h
pfkeyv2.h
pg.h
phonedev.h
phy.h
pid.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
[PATCH] pktcdvd: BUG_ON cleanups
2005-09-13 08:22:31 -07:00
platform.h
pm.h
pmu.h
pnp.h
pnpbios.h
poll.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h
profile.h
ps2esdi.h
ptrace.h
qic117.h
qnx4_fs.h
qnxtypes.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
[PATCH] lib/radix-tree: Fix "nocast type" warnings
2005-09-10 10:06:28 -07:00
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
[PATCH] files: fix rcu initializers
2005-09-09 13:57:54 -07:00
rcuref.h
[PATCH] files: rcuref APIs
2005-09-09 13:57:54 -07:00
reboot.h
[PATCH] reboot: comment and factor the main reboot functions
2005-09-22 22:17:33 -07:00
reboot_fixups.h
reiserfs_acl.h
reiserfs_fs.h
[PATCH] "extern inline" -> "static inline"
2005-09-10 10:06:35 -07:00
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relayfs_fs.h
resource.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h
rtnetlink.h
rwsem-spinlock.h
rwsem.h
sc26198.h
scatterlist.h
scc.h
sched.h
[PATCH] set_current_state() commentary
2005-09-13 08:22:29 -07:00
sctp.h
scx200.h
scx200_gpio.h
sdla.h
sdla_asy.h
sdla_chdlc.h
sdla_fr.h
sdla_ppp.h
sdla_x25.h
sdladrv.h
sdlapci.h
sdlasfm.h
seccomp.h
securebits.h
security.h
Merge master.kernel.org:/pub/scm/linux/kernel/git/chrisw/lsm-2.6
2005-09-13 09:48:54 -07:00
selection.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h
Fix up ARM serial driver compile failure
2005-09-08 14:47:12 -07:00
serial_reg.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
skbuff.h
[NET]: Optimize pskb_trim_rcsum()
2005-09-08 12:32:03 -07:00
slab.h
[PATCH] mm/slab: fix sparse warnings
2005-09-10 10:06:26 -07:00
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smp.h
smp_lock.h
snmp.h
socket.h
sockios.h
som.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
spinlock_api_smp.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
spinlock_api_up.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
spinlock_types.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
spinlock_types_up.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
spinlock_up.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
stallion.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h
swap.h
swapops.h
synclink.h
sys.h
syscalls.h
[PATCH] Adds sys_set_mempolicy() in include/linux/syscalls.h
2005-09-21 10:12:18 -07:00
sysctl.h
[LLC]: Add sysctl support for the LLC timeouts
2005-09-22 04:30:44 -03:00
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
tcp.h
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
[CCID3]: Introduce include/linux/tfrc.h
2005-09-18 00:18:32 -07:00
thread_info.h
threads.h
ticable.h
time.h
[PATCH] time.h: remove ifdefs
2005-09-10 10:06:36 -07:00
timer.h
[PATCH] timer initialization cleanup: DEFINE_TIMER
2005-09-09 14:03:48 -07:00
times.h
timex.h
tiocl.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tty.h
[PATCH] vesafb: Add blanking support
2005-09-09 13:57:58 -07:00
tty_driver.h
tty_flip.h
tty_ldisc.h
types.h
udf_fs.h
udf_fs_i.h
udf_fs_sb.h
udp.h
ufs_fs.h
ufs_fs_i.h
ufs_fs_sb.h
uinput.h
uio.h
ultrasound.h
umem.h
un.h
unistd.h
usb.h
[PATCH] USB: URB_ASYNC_UNLINK flag removed from the kernel
2005-09-08 16:23:04 -07:00
usb_cdc.h
usb_ch9.h
usb_gadget.h
usb_gadgetfs.h
usb_input.h
usb_isp116x.h
[PATCH] USB: isp116x-hcd: remove clock() and reset()
2005-09-08 16:22:48 -07:00
usb_otg.h
usb_sl811.h
usbdevice_fs.h
[PATCH] USB: fix usbdevice_fs header breakage
2005-09-12 12:23:52 -07:00
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
videodev.h
[PATCH] v4l: common part Updates and tuner additions
2005-09-09 13:57:49 -07:00
videodev2.h
[PATCH] v4l: experimental Sliced VBI API support
2005-09-13 08:22:32 -07:00
videotext.h
vmalloc.h
vt.h
vt_buffer.h
vt_kern.h
wait.h
wanpipe.h
wanrouter.h
watchdog.h
wavefront.h
wireless.h
workqueue.h
writeback.h
[PATCH] mm/filemap.c: make two functions static
2005-09-10 10:06:25 -07:00
x25.h
xattr.h
xfrm.h
yam.h
zconf.h
zftape.h
zlib.h
zorro.h
zorro_ids.h
zutil.h