kernel-ark/include/linux
James Morris d381d8a9a0 [PATCH] SELinux: canonicalize getxattr()
This patch allows SELinux to canonicalize the value returned from
getxattr() via the security_inode_getsecurity() hook, which is called after
the fs level getxattr() function.

The purpose of this is to allow the in-core security context for an inode
to override the on-disk value.  This could happen in cases such as
upgrading a system to a different labeling form (e.g.  standard SELinux to
MLS) without needing to do a full relabel of the filesystem.

In such cases, we want getxattr() to return the canonical security context
that the kernel is using rather than what is stored on disk.

The implementation hooks into the inode_getsecurity(), adding another
parameter to indicate the result of the preceding fs-level getxattr() call,
so that SELinux knows whether to compare a value obtained from disk with
the kernel value.

We also now allow getxattr() to work for mountpoint labeled filesystems
(i.e.  mount with option context=foo_t), as we are able to return the
kernel value to the user.

Signed-off-by: James Morris <jmorris@namei.org>
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-30 17:37:11 -08:00
..
byteorder
dvb
hdlc
isdn
lockd
mmc [ARM] 3031/1: fix typos in comments of mmc.h 2005-10-28 16:28:04 +01:00
mtd
netfilter [NETFILTER]: Use only 32bit counters for CONNTRACK_ACCT 2005-10-10 21:21:10 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4 [NETFILTER] ctnetlink: allow userspace to change TCP state 2005-10-10 21:23:28 -07:00
netfilter_ipv6
nfsd
raid
sunrpc RPCSEC_GSS: krb5 cleanup 2005-10-18 23:19:47 -07:00
tc_act
tc_ematch [INET]: speedup inet (tcp/dccp) lookups 2005-10-03 14:13:38 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h [PATCH] Fix copy-and-paste error in BSD accounting 2005-10-14 17:10:12 -07:00
acpi.h
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
affs_fs.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio_abi.h
aio.h [PATCH] aio: revert lock_kiocb() 2005-10-17 17:03:57 -07:00
amifd.h
amifdreg.h
amigaffs.h
apm_bios.h
arcdevice.h
arcfb.h
ata.h libata: const-ification bombing run 2005-10-22 14:27:05 -04:00
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h [PATCH] gfp_t: kernel/* 2005-10-28 08:16:49 -07:00
auto_fs4.h
auto_fs.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 endianness annotations 2005-10-04 13:22:01 -07:00
binfmts.h
bio.h [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
bit_spinlock.h
bitmap.h
bitops.h
blkdev.h Merge branch 'elevator-switch' of git://brick.kernel.dk/data/git/linux-2.6-block 2005-10-28 08:56:34 -07:00
blkpg.h
blockgroup_lock.h
bootmem.h [PATCH] swiotlb: make sure initial DMA allocations really are in DMA memory 2005-10-19 23:11:33 -07:00
bpqether.h
buffer_head.h [PATCH] mm: split page table lock 2005-10-29 21:40:42 -07:00
cache.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
chio.h
circ_buf.h
cobalt-nvram.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coda.h
coff.h
com20020.h
compat_ioctl.h
compat.h
compiler-gcc2.h
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
config.h
connector.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
console_struct.h
console.h
consolemap.h
cpu.h
cpufreq.h
cpumask.h [PATCH]: highest_possible_processor_id() has to be a macro 2005-10-16 00:17:33 -07:00
cpuset.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.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
dcookies.h
debugfs.h
delay.h
devfs_fs_kernel.h
devfs_fs.h
device-mapper.h
device.h [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks 2005-10-28 09:52:56 -07:00
devpts_fs.h
dio.h
dirent.h
divert.h
dm9000.h
dm-ioctl.h
dma-mapping.h
dmapool.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
dmi.h [PATCH] CONFIG_IA32 2005-10-30 17:37:10 -08: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_i.h
efs_fs_sb.h
efs_fs.h
efs_vh.h
eisa.h
elevator.h Merge branch 'generic-dispatch' of git://brick.kernel.dk/data/git/linux-2.6-block 2005-10-28 08:53:49 -07:00
elf-fdpic.h
elf.h
elfcore.h
err.h
errno.h
errqueue.h
etherdevice.h [ETH]: ether address compare 2005-10-29 02:23:58 -02:00
ethtool.h [IPv4/IPv6]: UFO Scatter-gather approach 2005-10-28 16:30:00 -02:00
eventpoll.h
ext2_fs_sb.h
ext2_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h
ext3_jbd.h
fadvise.h
fb.h
fcdevice.h
fcntl.h
fd1772.h
fd.h
fddidevice.h
fdreg.h
file.h
filter.h
firmware.h
flat.h
font.h
fs_enet_pd.h Add fs_enet ethernet network driver, for several embedded platforms. 2005-10-28 16:25:58 -04:00
fs_struct.h
fs.h [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
fsl_devices.h
fsnotify.h
ftape-header-segment.h
ftape-vendors.h
ftape.h
fuse.h
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_serial.h
genhd.h Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
gfp.h [PATCH] gfp_t: infrastructure 2005-10-28 08:16:46 -07:00
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
hil_mlc.h [PARISC] Update parisc specific input code from parisc tree 2005-10-21 22:58:51 -04:00
hil.h [PARISC] Update parisc specific input code from parisc tree 2005-10-21 22:58:51 -04:00
hippidevice.h
hp_sdc.h [PARISC] Update parisc specific input code from parisc tree 2005-10-21 22:58:51 -04:00
hpet.h
hpfs_fs.h
hugetlb.h [PATCH] mm: unmap_vmas with inner ptlock 2005-10-29 21:40:41 -07:00
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h [PATCH] i2c: Drop unused per-i2c-algorithm adapter max 2005-10-28 14:02:10 -07:00
i2c-algo-ite.h
i2c-algo-pca.h [PATCH] i2c: Drop unused per-i2c-algorithm adapter max 2005-10-28 14:02:10 -07:00
i2c-algo-pcf.h [PATCH] i2c: Drop unused per-i2c-algorithm adapter max 2005-10-28 14:02:10 -07:00
i2c-algo-sgi.h
i2c-algo-sibyte.h
i2c-dev.h [PATCH] i2c: Drop useless CVS revision IDs 2005-10-28 14:02:09 -07:00
i2c-id.h [PATCH] i2c: Drop unused parport i2c IDs 2005-10-28 14:02:13 -07:00
i2c-isa.h
i2c-pxa.h
i2c.h [PATCH] I2C: add i2c module alias for i2c drivers to use 2005-10-28 14:02:15 -07:00
i2o-dev.h
i2o.h Merge ../bleed-2.6 2005-10-28 10:13:16 -07:00
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h Cleaned up AMD Au1200 IDE driver: 2005-10-29 19:32:20 +01:00
idr.h [PATCH] gfp_t: lib/* 2005-10-28 08:16:47 -07:00
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h [NET]: Fix GCC4 compile error: sysctl in linux/if_ether.h 2005-09-27 15:59:43 -07:00
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
if_wanpipe_common.h
if_wanpipe.h
if.h
igmp.h
in6.h
in_route.h
in.h
inet_diag.h
inet.h
inetdevice.h [IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl 2005-10-03 14:35:55 -07:00
init_task.h
init.h
initrd.h
inotify.h
input.h Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2005-10-28 13:09:47 -07:00
interrupt.h
ioc4.h
ioctl32.h
ioctl.h
ioport.h
ioprio.h
ip6_tunnel.h
ip_mp_alg.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h [INET]: speedup inet (tcp/dccp) lookups 2005-10-03 14:13:38 -07:00
ipx.h
irda.h
irq_cpustat.h
irq.h
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ite_gpio.h
ixjuser.h
jbd.h [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
jffs2_fs_i.h
jffs2_fs_sb.h
jffs2.h
jffs.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kd.h
kdev_t.h
kernel_stat.h
kernel.h
kernelcapi.h
kexec.h
key-ui.h [PATCH] Keys: Split key permissions checking into a .c file 2005-10-08 14:53:31 -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 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject_uevent.h
kobject.h [PATCH] gfp_t: lib/* 2005-10-28 08:16:47 -07:00
kprobes.h
kref.h
kthread.h
lapb.h
lcd.h
libata.h [libata] change ata_qc_complete() to take error mask as second arg 2005-10-30 04:44:42 -05:00
libps2.h
limits.h
linkage.h
linux_logo.h
list.h [PATCH] list: add missing rcu_dereference on first element 2005-10-17 08:59:10 -07:00
llc.h
loop.h [PATCH] gfp_t: remaining bits of drivers/* 2005-10-28 08:16:51 -07:00
lp.h
major.h
matroxfb.h
mbcache.h [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
memory_hotplug.h [PATCH] memory hotplug: sysfs and add/remove functions 2005-10-29 21:40:44 -07:00
memory.h [PATCH] memory hotplug: sysfs and add/remove functions 2005-10-29 21:40:44 -07:00
mempolicy.h [PATCH] mm: update comments to pte lock 2005-10-29 21:40:42 -07:00
mempool.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
meye.h
mii.h
minix_fs.h
miscdevice.h
mm_inline.h
mm.h [PATCH] memory hotplug: sysfs and add/remove functions 2005-10-29 21:40:44 -07:00
mman.h
mmtimer.h
mmzone.h [PATCH] memory hotplug locking: zone span seqlock 2005-10-29 21:40:44 -07:00
mod_devicetable.h [PATCH] I2C: add i2c module alias for i2c drivers to use 2005-10-28 14:02:15 -07: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 VFS: Allow the filesystem to return a full file pointer on open intent 2005-10-18 14:20:16 -07:00
namespace.h
nbd.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
net.h
netdevice.h [IPv4/IPv6]: UFO Scatter-gather approach 2005-10-28 16:30:00 -02:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_logging.h
netfilter.h
netlink.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
netpoll.h [NETPOLL]: wrong return for null netpoll_poll_lock() 2005-10-12 15:12:21 -07:00
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h NFS: Don't let nfs_end_data_update() clobber attribute update information 2005-10-27 22:12:39 -04:00
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h NFSv4: Add post-op attributes to NFSv4 write and commit callbacks. 2005-10-27 22:12:44 -04:00
nfs.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 [PATCH] gfp_t: the rest 2005-10-28 08:16:51 -07:00
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
patchkey.h
pci_ids.h Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2005-10-29 11:25:16 -07:00
pci_regs.h
pci-acpi.h
pci.h [PATCH] PCI: Block config access during BIST 2005-10-28 15:36:58 -07:00
pcieport_if.h
percpu_counter.h
percpu.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
platform.h
pm.h [PATCH] USB: fix pm patches with CONFIG_PM off part 2 2005-10-28 16:47:52 -07:00
pmu.h
pnp.h
pnpbios.h
poll.h
posix_acl_xattr.h
posix_acl.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
posix_types.h
posix-timers.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.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] gfp_t: lib/* 2005-10-28 08:16:47 -07:00
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h [PATCH] rcu: keep rcu callback event counter 2005-10-17 15:27:58 -07:00
rcuref.h
reboot_fixups.h
reboot.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_fs.h [PATCH] gfp_t: fs/* 2005-10-28 08:16:47 -07:00
reiserfs_xattr.h
relayfs_fs.h
resource.h
rmap.h [PATCH] mm: rmap with inner ptlock 2005-10-29 21:40:41 -07:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h
rtnetlink.h
rwsem-spinlock.h [PATCH] add sem_is_read/write_locked() 2005-10-29 21:40:35 -07:00
rwsem.h
sc26198.h
scatterlist.h [PATCH] Introduce sg_set_buf 2005-10-30 11:14:39 +11:00
scc.h
sched.h [PATCH] mm: fix rss and mmlist locking 2005-10-29 21:40:42 -07:00
sctp.h
scx200_gpio.h
scx200.h
sdla_asy.h
sdla_chdlc.h
sdla_fr.h
sdla_ppp.h
sdla_x25.h
sdla.h
sdladrv.h
sdlapci.h
sdlasfm.h
seccomp.h
securebits.h
security.h [PATCH] SELinux: canonicalize getxattr() 2005-10-30 17:37:11 -08:00
selection.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h
serial_core.h Philips PNX8550 support: MIPS32-like core with 2 Trimedias on it. 2005-10-29 19:31:54 +01:00
serial_ip3106.h Philips PNX8550 support: MIPS32-like core with 2 Trimedias on it. 2005-10-29 19:31:54 +01:00
serial_reg.h
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
skbuff.h [IPv4/IPv6]: UFO Scatter-gather approach 2005-10-28 16:30:00 -02:00
slab.h [PATCH] gfp_t: mm/* (easy parts) 2005-10-28 08:16:47 -07:00
smb_fs_i.h
smb_fs_sb.h
smb_fs.h
smb_mount.h
smb.h
smbno.h
smp_lock.h
smp.h
snmp.h
socket.h
sockios.h
som.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
stallion.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
stringify.h
superhyway.h
suspend.h [PATCH] gfp_t: kernel/* 2005-10-28 08:16:49 -07:00
swap.h [PATCH] gfp_t: mm/* (easy parts) 2005-10-28 08:16:47 -07:00
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
tcp.h
telephony.h
termios.h
textsearch_fsm.h
textsearch.h [PATCH] gfp_t: lib/* 2005-10-28 08:16:47 -07:00
tfrc.h
thread_info.h
threads.h
ticable.h
time.h
timer.h
times.h
timex.h
tiocl.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h
types.h [PATCH] gfp_t: infrastructure 2005-10-28 08:16:46 -07:00
udf_fs_i.h
udf_fs_sb.h
udf_fs.h
udp.h
ufs_fs_i.h
ufs_fs_sb.h
ufs_fs.h
uinput.h
uio.h
ultrasound.h
umem.h
un.h
unistd.h
usb_cdc.h
usb_ch9.h
usb_gadget.h [PATCH] gfp_t: drivers/usb 2005-10-28 08:16:49 -07:00
usb_gadgetfs.h
usb_input.h
usb_isp116x.h
usb_otg.h [PATCH] add usb transceiver set_suspend() method 2005-10-28 16:47:45 -07:00
usb_sl811.h
usb.h [PATCH] usbcore: Fix handling of sysfs strings and other attributes 2005-10-28 16:47:51 -07:00
usbdevice_fs.h [PATCH] usb: Patch for USBDEVFS_IOCTL from 32-bit programs 2005-10-28 16:47:46 -07:00
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
videodev2.h
videodev.h
videotext.h
vmalloc.h [PATCH] vmalloc_node 2005-10-29 21:40:35 -07:00
vt_buffer.h
vt_kern.h
vt.h
wait.h
wanpipe.h
wanrouter.h
watchdog.h
wavefront.h
wireless.h
workqueue.h
writeback.h
x25.h
x1205.h [PATCH] i2c: New Xicor X1205 RTC driver 2005-10-28 14:02:12 -07:00
xattr.h
xfrm.h
yam.h
zconf.h
zftape.h
zlib.h
zorro_ids.h
zorro.h
zutil.h