alistair23-linux/include/linux
David Howells 14eaddc967 CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]
Fix a regression in cap_capable() due to:

	commit 5ff7711e635b32f0a1e558227d030c7e45b4a465
	Author: David Howells <dhowells@redhat.com>
	Date:   Wed Dec 31 02:52:28 2008 +0000

	    CRED: Differentiate objective and effective subjective credentials on a task

The problem is that the above patch allows a process to have two sets of
credentials, and for the most part uses the subjective credentials when
accessing current's creds.

There is, however, one exception: cap_capable(), and thus capable(), uses the
real/objective credentials of the target task, whether or not it is the current
task.

Ordinarily this doesn't matter, since usually the two cred pointers in current
point to the same set of creds.  However, sys_faccessat() makes use of this
facility to override the credentials of the calling process to make its test,
without affecting the creds as seen from other processes.

One of the things sys_faccessat() does is to make an adjustment to the
effective capabilities mask, which cap_capable(), as it stands, then ignores.

The affected capability check is in generic_permission():

	if (!(mask & MAY_EXEC) || execute_ok(inode))
		if (capable(CAP_DAC_OVERRIDE))
			return 0;

This change splits capable() from has_capability() down into the commoncap and
SELinux code.  The capable() security op now only deals with the current
process, and uses the current process's subjective creds.  A new security op -
task_capable() - is introduced that can check any task's objective creds.

strictly the capable() security op is superfluous with the presence of the
task_capable() op, however it should be faster to call the capable() op since
two fewer arguments need be passed down through the various layers.

This can be tested by compiling the following program from the XFS testsuite:

/*
 *  t_access_root.c - trivial test program to show permission bug.
 *
 *  Written by Michael Kerrisk - copyright ownership not pursued.
 *  Sourced from: http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-10/6030.html
 */
#include <limits.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/stat.h>

#define UID 500
#define GID 100
#define PERM 0
#define TESTPATH "/tmp/t_access"

static void
errExit(char *msg)
{
    perror(msg);
    exit(EXIT_FAILURE);
} /* errExit */

static void
accessTest(char *file, int mask, char *mstr)
{
    printf("access(%s, %s) returns %d\n", file, mstr, access(file, mask));
} /* accessTest */

int
main(int argc, char *argv[])
{
    int fd, perm, uid, gid;
    char *testpath;
    char cmd[PATH_MAX + 20];

    testpath = (argc > 1) ? argv[1] : TESTPATH;
    perm = (argc > 2) ? strtoul(argv[2], NULL, 8) : PERM;
    uid = (argc > 3) ? atoi(argv[3]) : UID;
    gid = (argc > 4) ? atoi(argv[4]) : GID;

    unlink(testpath);

    fd = open(testpath, O_RDWR | O_CREAT, 0);
    if (fd == -1) errExit("open");

    if (fchown(fd, uid, gid) == -1) errExit("fchown");
    if (fchmod(fd, perm) == -1) errExit("fchmod");
    close(fd);

    snprintf(cmd, sizeof(cmd), "ls -l %s", testpath);
    system(cmd);

    if (seteuid(uid) == -1) errExit("seteuid");

    accessTest(testpath, 0, "0");
    accessTest(testpath, R_OK, "R_OK");
    accessTest(testpath, W_OK, "W_OK");
    accessTest(testpath, X_OK, "X_OK");
    accessTest(testpath, R_OK | W_OK, "R_OK | W_OK");
    accessTest(testpath, R_OK | X_OK, "R_OK | X_OK");
    accessTest(testpath, W_OK | X_OK, "W_OK | X_OK");
    accessTest(testpath, R_OK | W_OK | X_OK, "R_OK | W_OK | X_OK");

    exit(EXIT_SUCCESS);
} /* main */

This can be run against an Ext3 filesystem as well as against an XFS
filesystem.  If successful, it will show:

	[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043
	---------- 1 dhowells dhowells 0 2008-12-31 03:00 /tmp/xxx
	access(/tmp/xxx, 0) returns 0
	access(/tmp/xxx, R_OK) returns 0
	access(/tmp/xxx, W_OK) returns 0
	access(/tmp/xxx, X_OK) returns -1
	access(/tmp/xxx, R_OK | W_OK) returns 0
	access(/tmp/xxx, R_OK | X_OK) returns -1
	access(/tmp/xxx, W_OK | X_OK) returns -1
	access(/tmp/xxx, R_OK | W_OK | X_OK) returns -1

If unsuccessful, it will show:

	[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043
	---------- 1 dhowells dhowells 0 2008-12-31 02:56 /tmp/xxx
	access(/tmp/xxx, 0) returns 0
	access(/tmp/xxx, R_OK) returns -1
	access(/tmp/xxx, W_OK) returns -1
	access(/tmp/xxx, X_OK) returns -1
	access(/tmp/xxx, R_OK | W_OK) returns -1
	access(/tmp/xxx, R_OK | X_OK) returns -1
	access(/tmp/xxx, W_OK | X_OK) returns -1
	access(/tmp/xxx, R_OK | W_OK | X_OK) returns -1

I've also tested the fix with the SELinux and syscalls LTP testsuites.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
2009-01-05 11:17:04 +11:00
..
amba
byteorder
can can: Fix CAN_(EFF|RTR)_FLAG handling in can_filter 2008-12-03 15:52:35 -08:00
dvb
hdlc
i2c
isdn
lockd NLM: allow lockd requests from an unprivileged port 2008-12-23 15:21:38 -05:00
mfd ASoC: Add WM8350 AudioPlus codec driver 2008-12-18 17:21:07 +00:00
mlx4 mlx4_core: Add support for multiple completion event vectors 2008-12-22 07:15:03 -08:00
mmc
mtd
netfilter netfilter: ctnetlink: fix missing CTA_NAT_SEQ_UNSPEC 2008-12-16 01:19:41 -08:00
netfilter_arp
netfilter_bridge
netfilter_ipv4 netfilter: ip{,6}t_policy.h should include xp_policy.h 2008-11-20 15:59:56 +01:00
netfilter_ipv6 netfilter: ip{,6}t_policy.h should include xp_policy.h 2008-11-20 15:59:56 +01:00
nfsd nfsd: support callbacks with gss flavors 2008-12-23 16:19:00 -05:00
raid
regulator
rtc
spi
ssb ssb: Fix DMA-API compilation for non-PCI systems 2008-11-10 13:50:19 -08:00
sunrpc Merge branch 'devel' into next 2008-12-30 16:51:43 -05:00
tc_act
tc_ematch
unaligned
usb USB: fix comment about endianness of descriptors 2008-12-17 10:49:14 -08:00
uwb
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h Merge branch 'video' into release 2008-11-11 21:15:50 -05:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h aio: make the lookup_ioctx() lockless 2008-12-29 08:29:50 +01:00
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async_tx.h
ata.h
ata_platform.h
atalk.h
atm.h atm: 32-bit ioctl compatibility 2008-12-03 22:12:38 -08:00
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 atm: 32-bit ioctl compatibility 2008-12-03 22:12:38 -08:00
atmel-pwm-bl.h
atmel-ssc.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h Merge branch 'next' into for-linus 2008-12-25 11:40:09 +11:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h CRED: Make execve() take advantage of copy-on-write credentials 2008-11-14 10:39:24 +11:00
bio.h bio: add support for inlining a number of bio_vecs inside the bio 2008-12-29 08:29:50 +01:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h block: get rid of elevator_t typedef 2008-12-29 08:29:50 +01:00
blkpg.h
blktrace_api.h blktrace: port to tracepoints 2008-11-26 12:13:34 +01:00
blockgroup_lock.h
bootmem.h
bottom_half.h softirq: remove useless function __local_bh_enable 2008-11-28 12:38:38 +01:00
bpqether.h
brcmphy.h
bsg.h
buffer_head.h block: Supress Buffer I/O errors when SCSI REQ_QUIET flag set 2008-12-29 08:28:44 +01:00
bug.h
byteorder.h
c2port.h Add c2 port support 2008-11-12 17:17:18 -08:00
cache.h
can.h
capability.h CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2] 2009-01-05 11:17:04 +11:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h
cgroup_subsys.h
cgroupstats.h
chio.h
circ_buf.h
clk.h
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coff.h
com20020.h
compat.h remove __ARCH_WANT_COMPAT_SYS_PTRACE 2008-11-30 11:00:15 -08:00
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h trace: profile all if conditionals 2008-11-23 11:41:01 +01:00
completion.h
comstats.h
concap.h
configfs.h
connector.h
console.h DRM: add mode setting support 2008-12-29 17:47:23 +10:00
console_struct.h
consolemap.h
const.h
cpu.h
cpufreq.h
cpuidle.h
cpumask.h
cpuset.h cpuset: update top cpuset's mems after adding a node 2008-11-19 18:49:58 -08:00
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc16.h
crc32.h
crc32c.h libcrc32c: Add crc32c_le macro 2008-12-25 11:01:43 +11:00
cred.h User namespaces: set of cleanups (v2) 2008-11-24 18:57:41 -05:00
crypto.h crypto: hash - Export shash through hash 2008-12-25 11:01:33 +11:00
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dca.h
dcache.h
dcbnl.h net: add DCNA attribute to the BCN interface for DCB 2008-12-21 20:10:29 -08:00
dccp.h dccp ccid-2: Phase out the use of boolean Ack Vector sysctl 2008-12-08 01:19:06 -08:00
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
device-mapper.h
device.h
device_cgroup.h
devpts_fs.h
dio.h
dirent.h
display.h
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-dirty-log.h
dm-io.h
dm-ioctl.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-mapping.h
dma_remapping.h
dmaengine.h
dmapool.h
dmar.h
dmi.h DMI: add dmi_match 2008-12-29 07:39:34 -05:00
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
dw_dmac.h
dynamic_printk.h
edac.h
edd.h
eeprom_93cx6.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h block: get rid of elevator_t typedef 2008-12-29 08:29:50 +01:00
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h eth: Declare an optimized compare_ether_addr_64bits() function 2008-11-23 23:24:32 -08:00
ethtool.h ethtool: Add GGRO and SGRO ops 2008-12-15 23:44:31 -08:00
eventfd.h
eventpoll.h
exportfs.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fault-inject.h SLUB: failslab support 2008-12-29 11:27:46 +02:00
fb.h fb: SH-5 uses __raw I/O accessors now also, drop the special casing. 2008-12-22 18:44:05 +09:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h fddi: convert to new network device ops 2008-11-20 20:29:48 -08:00
fdreg.h
fdtable.h
fib_rules.h
fiemap.h
file.h
filter.h filter: add SKF_AD_NLATTR_NEST to look for nested attributes 2008-11-20 00:49:27 -08:00
firewire-cdev.h
firewire-constants.h
firmware-map.h
firmware.h
flat.h
font.h
freezer.h
fs.h [XFS] Fix merge failures 2008-12-29 16:47:18 +11:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fsl_devices.h gianfar: Convert gianfar to an of_platform_driver 2008-12-16 15:29:15 -08:00
fsnotify.h
ftrace.h ftrace: enable format arguments checking 2008-12-21 09:46:45 +01:00
ftrace_irq.h tracing/function-return-tracer: change the name into function-graph-tracer 2008-11-26 01:59:45 +01:00
fuse.h
futex.h futex: make clock selectable for FUTEX_WAIT_BITSET 2008-11-24 20:00:40 +01:00
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h block: add one-hit cache for disk partition lookup 2008-12-29 08:29:51 +01:00
getcpu.h
gfp.h
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gpio_keys.h
gpio_mouse.h
hardirq.h Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:10:19 -08:00
hash.h
hayesesp.h
hdlc.h netdevice: Kill netdev->priv 2008-12-08 01:14:16 -08:00
hdlcdrv.h
hdpu_features.h
hdreg.h
hid-debug.h
hid.h
hiddev.h
hidraw.h
highmem.h Allow architectures to override copy_user_highpage() 2008-11-27 23:39:48 +00:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h hippi: convert driver to net_device_ops 2008-11-20 20:32:15 -08:00
hp_sdc.h
hpet.h
hrtimer.h hrtimer: removing all ur callback modes 2008-11-25 15:45:46 +01:00
htirq.h
hugetlb.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h
i2c-ocores.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: move Power Management support to ide-pm.c 2008-12-29 20:27:37 +01:00
idr.h lib/idr.c: fix rcu related race with idr_find 2008-12-01 19:55:25 -08:00
ieee80211.h wireless: Incorrect LEAP authentication algorithm identifier. 2008-12-12 13:48:20 -05:00
if.h
if_addr.h
if_addrlabel.h
if_arcnet.h
if_arp.h Phonet: allocate separate ARP type for GPRS over a Phonet pipe 2008-12-17 15:47:48 -08:00
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_link.h
if_ltalk.h
if_macvlan.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
in.h TPROXY: implemented IP_RECVORIGDSTADDR socket option 2008-11-16 19:32:39 -08:00
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h User namespaces: set of cleanups (v2) 2008-11-24 18:57:41 -05:00
initrd.h
inotify.h Fix inotify watch removal/umount races 2008-11-15 12:26:44 -08:00
input-polldev.h
input.h Merge branch 'topic/jack-mechanical' into to-push 2008-12-25 11:40:29 +01:00
intel-iommu.h
interrupt.h Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:20:19 -08:00
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
ioport.h
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h ipv6: Add IPV6_PKTINFO sticky option support to setsockopt() 2008-12-16 02:06:23 -08:00
ipv6_route.h
ipx.h
irda.h
irq.h Merge branches 'irq/sparseirq', 'irq/genirq' and 'irq/urgent'; commit 'v2.6.28' into irq/core 2008-12-25 16:27:54 +01:00
irq_cpustat.h
irqflags.h
irqnr.h sparse irqs: handle !GENIRQ platforms 2008-12-12 12:28:50 +01:00
irqreturn.h
isa.h
isapnp.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd2.h
jffs2.h
jhash.h
jiffies.h optimize attribute timeouts for "noac" and "actimeo=0" 2008-12-23 15:21:56 -05:00
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild sparse irqs: add irqnr.h to the user headers list 2008-12-12 12:29:10 +01:00
kbuild.h
kd.h
kdebug.h
kdev_t.h
kernel.h Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:10:19 -08:00
kernel_stat.h sparse irq_desc[] array: core kernel and x86 changes 2008-12-08 14:31:51 +01:00
kernelcapi.h
kexec.h
key-type.h
key.h CRED: Make execve() take advantage of copy-on-write credentials 2008-11-14 10:39:24 +11:00
keyboard.h
keyctl.h KEYS: Alter use of key instantiation link-to-keyring argument 2008-11-14 10:39:14 +11:00
kfifo.h
kgdb.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h
kprobes.h
kref.h
ks0108.h
kthread.h
ktime.h
kvm.h
kvm_host.h
kvm_para.h
kvm_types.h
lapb.h
latencytop.h
lcd.h
leds-pca9532.h
leds.h
lguest.h
lguest_launcher.h lguest: move the initial guest page table creation code to the host 2008-12-30 09:26:11 +10:30
libata.h libata: perform port detach in EH 2008-12-28 22:43:21 -05:00
libps2.h
license.h
limits.h
linkage.h i386: get rid of the use of KPROBE_ENTRY / KPROBE_END 2008-11-27 12:37:54 +01:00
linux_logo.h
list.h
list_nulls.h rcu: Introduce hlist_nulls variant of hlist 2008-11-16 19:37:55 -08:00
llc.h
lm_interface.h
lmb.h
lockdep.h Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:20:19 -08:00
log2.h
loop.h
lp.h
lzo.h
m48t86.h
magic.h
major.h
map_to_7segment.h
maple.h
marker.h markers: comment marker_synchronize_unregister() on data dependency 2008-11-28 16:47:41 +01:00
math64.h
matroxfb.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.h phylib: make mdio-gpio work without OF (v4) 2008-11-16 18:59:45 -08:00
memcontrol.h
memory.h hotplug_memory_notifier section annotation 2008-11-30 10:03:38 -08:00
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
meye.h
migrate.h
mii.h net: Refactor full duplex flow control resolution 2008-12-16 02:00:48 -08:00
minix_fs.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-28 12:21:10 -08:00
mm_inline.h
mm_types.h aio: make the lookup_ioctx() lockless 2008-12-29 08:29:50 +01:00
mman.h
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_notifier.h
mmzone.h
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
mroute6.h netns: ip6mr: enable namespace support in ipv6 multicast forwarding code 2008-12-10 16:30:15 -08:00
msdos_fs.h
msg.h
msi.h x86, MSI: pass irq_cfg and irq_desc 2008-12-08 14:31:59 +01:00
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h reintroduce accept4 2008-11-19 18:49:57 -08:00
netdevice.h net: Remove unused netdev arg from some NAPI interfaces. 2008-12-22 20:43:12 -08:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h netlink: avoid memset of 0 bytes sparse warning 2008-11-20 04:08:29 -08:00
netpoll.h net: Add Generic Receive Offload infrastructure 2008-12-15 23:38:52 -08:00
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h optimize attribute timeouts for "noac" and "actimeo=0" 2008-12-23 15:21:56 -05:00
nfs_fs_i.h
nfs_fs_sb.h NFSv4: Remove nfs_client->cl_sem 2008-12-23 15:21:45 -05:00
nfs_idmap.h
nfs_iostat.h
nfs_mount.h NFS: add "[no]resvport" mount option 2008-12-23 15:21:37 -05:00
nfs_page.h
nfs_xdr.h NFSv4: Convert the open and close ops to use fmode 2008-12-23 15:21:56 -05:00
nfsacl.h
nfsd_idmap.h
nl80211.h mac80211: Fix HT channel selection 2008-12-19 15:22:54 -05:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h User namespaces: set of cleanups (v2) 2008-11-24 18:57:41 -05:00
nubus.h
numa.h
nvram.h
of.h of: Add helpers for finding device nodes which have a given property 2008-11-19 16:05:00 +11:00
of_device.h
of_gpio.h of/gpio: Implement of_gpio_count() 2008-12-21 14:21:14 +11:00
of_i2c.h
of_platform.h of: Fix comment, sparc no longer uses of_device objects on special busses. 2008-12-04 09:16:45 -08:00
of_spi.h
oom.h
oprofile.h oprofile: update comment for oprofile_add_sample() 2008-12-10 14:20:03 +01:00
page-flags.h
page-isolation.h
page_cgroup.h meminit section warnings 2008-11-30 10:03:35 -08:00
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
path.h
pci-acpi.h
pci-aspm.h
pci.h Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core 2008-12-23 16:27:23 +01:00
pci_hotplug.h
pci_ids.h
pci_regs.h
pcieport_if.h
pda_power.h
percpu.h
percpu_counter.h revert "percpu_counter: new function percpu_counter_sum_and_set" 2008-12-10 08:01:52 -08:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy.h phy: power management support 2008-11-28 16:24:56 -08:00
phy_fixed.h
pid.h pid: fix the do_each_pid_task() macro 2008-12-04 09:09:37 +01:00
pid_namespace.h
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h pkt_sched: add DRR scheduler 2008-11-20 04:10:00 -08:00
pktcdvd.h
platform_device.h
plist.h
pm.h
pm_qos_params.h
pm_wakeup.h
pmu.h
pnp.h
poison.h
poll.h
posix-timers.h posix-timers: use "struct pid*" instead of "struct task_struct*" 2008-12-12 17:00:07 +01:00
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
prctl.h
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h
profile.h
proportions.h
ptrace.h x86, bts: add fork and exit handling 2008-12-20 09:15:46 +01:00
pwm.h
pwm_backlight.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h sparse irqs: handle !GENIRQ platforms 2008-12-12 12:28:50 +01:00
ratelimit.h remove ratelimt() 2008-11-12 17:17:17 -08:00
raw.h
rbtree.h
rcuclassic.h
rculist.h udp: Use hlist_nulls in UDP RCU code 2008-11-16 19:39:21 -08:00
rculist_nulls.h rcu: Introduce hlist_nulls variant of hlist 2008-11-16 19:37:55 -08:00
rcupdate.h Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:10:19 -08:00
rcupreempt.h
rcupreempt_trace.h
rcutree.h "Tree RCU": scalable classic RCU implementation 2008-12-18 21:56:04 +01:00
reboot.h
reciprocal_div.h
regset.h
reiserfs_acl.h
reiserfs_fs.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
res_counter.h
resource.h
resume-trace.h
rfkill.h rfkill: strip pointless notifier chain 2008-12-12 14:45:25 -05:00
ring_buffer.h Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 17:31:25 -08:00
rio.h
rio_drv.h rapidio: struct device - replace bus_id with dev_name(), dev_set_name() 2008-12-16 15:53:41 +11:00
rio_ids.h
rio_regs.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h ixgbe: this patch adds support for DCB to the kernel and ixgbe driver 2008-11-20 20:52:10 -08:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-28 12:27:58 -08:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h CRED: Wrap current->cred and a few other accessors 2008-11-14 10:39:18 +11:00
security.h CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2] 2009-01-05 11:17:04 +11:00
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h vfs, seqfile: make mangle_path() global 2008-11-23 09:45:39 +01:00
seq_file_net.h
seqlock.h
serial.h
serial167.h
serial_8250.h
serial_core.h [ARM] S3C6400: serial support for S3C6400 and S3C6410 SoCs 2008-12-15 21:58:11 +00:00
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serialP.h
serio.h
sh_intc.h
shm.h
shmem_fs.h
signal.h
signalfd.h
skbuff.h net: Add skb_gro_receive 2008-12-15 23:42:33 -08:00
slab.h Merge branches 'topic/fixes', 'topic/cleanups' and 'topic/documentation' into for-linus 2008-12-29 11:45:47 +02:00
slab_def.h
slob_def.h
slub_def.h
sm501-regs.h
sm501.h
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smc91x.h
smc911x.h
smp.h Define smp_call_function_many for UP 2008-12-15 16:28:57 -08:00
smp_lock.h
smsc911x.h smsc911x: add dynamic bus configuration 2008-12-10 15:12:45 -08:00
snmp.h tcp: add some mibs to track collapsing 2008-11-24 21:27:22 -08:00
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
srcu.h
stacktrace.h tracing/stack-tracer: introduce CONFIG_USER_STACKTRACE_SUPPORT 2008-11-23 11:53:50 +01:00
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
string_helpers.h
stringify.h
superhyway.h
suspend.h
suspend_ioctls.h
svga.h
swab.h
swap.h
swapops.h
swiotlb.h swiotlb: add arch hook to force mapping 2008-12-17 18:58:13 +01:00
synclink.h
sys.h
syscalls.h reintroduce accept4 2008-11-19 18:49:57 -08:00
sysctl.h
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tc.h
tcp.h
telephony.h telephony: trivial: fix up email address 2008-11-11 09:30:23 -08:00
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
tick.h
tifm.h
time.h
timer.h
timerfd.h
times.h
timex.h linux/timex.h: cleanup for userspace 2008-12-12 17:01:38 +01:00
tiocl.h
tipc.h
tipc_config.h
topology.h sched: let arch_update_cpu_topology indicate if topology changed 2008-12-12 13:47:21 +01:00
toshiba.h
tracehook.h
tracepoint.h tracepoints: add DECLARE_TRACE() and DEFINE_TRACE() 2008-11-16 09:01:36 +01:00
transport_class.h
trdevice.h
tsacct_kern.h
tty.h Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-28 12:21:10 -08:00
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h Get rid of CONFIG_LSF 2008-12-29 08:29:51 +01:00
uaccess.h
ucb1400.h
udf_fs_i.h
udp.h
uinput.h
uio.h
uio_driver.h
ultrasound.h
un.h
unistd.h
unwind.h
usb.h USB: don't register endpoints for interfaces that are going away 2008-11-13 14:45:00 -08:00
usb_usual.h
usbdevice_fs.h
user.h
user_namespace.h User namespaces: set of cleanups (v2) 2008-11-24 18:57:41 -05:00
utime.h
uts.h
utsname.h
uwb.h
vermagic.h
veth.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev.h
videodev2.h V4L/DVB (10078): video: add NV16 and NV61 pixel formats 2008-12-30 09:40:20 -02:00
videotext.h
virtio.h
virtio_9p.h
virtio_balloon.h virtio: avoid implicit use of Linux page size in balloon interface 2008-12-30 09:26:04 +10:30
virtio_blk.h
virtio_config.h
virtio_console.h virtio_console: support console resizing 2008-12-30 09:26:10 +10:30
virtio_net.h virtio_net: VIRTIO_NET_F_MSG_RXBUF (imprive rcv buffer allocation) 2008-11-16 22:41:34 -08:00
virtio_pci.h virtio: Don't use PAGE_SIZE for vring alignment in virtio_pci. 2008-12-30 09:25:58 +10:30
virtio_ring.h virtio: hand virtio ring alignment as argument to vring_new_virtqueue 2008-12-30 09:26:03 +10:30
virtio_rng.h
vmalloc.h
vmstat.h
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wireless.h
wlp.h
wm97xx.h
wm97xx_batt.h
workqueue.h
writeback.h
x25.h
xattr.h
xfrm.h
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h