linux-stable/include/linux
David Howells a6f76f23d2 CRED: Make execve() take advantage of copy-on-write credentials
Make execve() take advantage of copy-on-write credentials, allowing it to set
up the credentials in advance, and then commit the whole lot after the point
of no return.

This patch and the preceding patches have been tested with the LTP SELinux
testsuite.

This patch makes several logical sets of alteration:

 (1) execve().

     The credential bits from struct linux_binprm are, for the most part,
     replaced with a single credentials pointer (bprm->cred).  This means that
     all the creds can be calculated in advance and then applied at the point
     of no return with no possibility of failure.

     I would like to replace bprm->cap_effective with:

	cap_isclear(bprm->cap_effective)

     but this seems impossible due to special behaviour for processes of pid 1
     (they always retain their parent's capability masks where normally they'd
     be changed - see cap_bprm_set_creds()).

     The following sequence of events now happens:

     (a) At the start of do_execve, the current task's cred_exec_mutex is
     	 locked to prevent PTRACE_ATTACH from obsoleting the calculation of
     	 creds that we make.

     (a) prepare_exec_creds() is then called to make a copy of the current
     	 task's credentials and prepare it.  This copy is then assigned to
     	 bprm->cred.

  	 This renders security_bprm_alloc() and security_bprm_free()
     	 unnecessary, and so they've been removed.

     (b) The determination of unsafe execution is now performed immediately
     	 after (a) rather than later on in the code.  The result is stored in
     	 bprm->unsafe for future reference.

     (c) prepare_binprm() is called, possibly multiple times.

     	 (i) This applies the result of set[ug]id binaries to the new creds
     	     attached to bprm->cred.  Personality bit clearance is recorded,
     	     but now deferred on the basis that the exec procedure may yet
     	     fail.

         (ii) This then calls the new security_bprm_set_creds().  This should
	     calculate the new LSM and capability credentials into *bprm->cred.

	     This folds together security_bprm_set() and parts of
	     security_bprm_apply_creds() (these two have been removed).
	     Anything that might fail must be done at this point.

         (iii) bprm->cred_prepared is set to 1.

	     bprm->cred_prepared is 0 on the first pass of the security
	     calculations, and 1 on all subsequent passes.  This allows SELinux
	     in (ii) to base its calculations only on the initial script and
	     not on the interpreter.

     (d) flush_old_exec() is called to commit the task to execution.  This
     	 performs the following steps with regard to credentials:

	 (i) Clear pdeath_signal and set dumpable on certain circumstances that
	     may not be covered by commit_creds().

         (ii) Clear any bits in current->personality that were deferred from
             (c.i).

     (e) install_exec_creds() [compute_creds() as was] is called to install the
     	 new credentials.  This performs the following steps with regard to
     	 credentials:

         (i) Calls security_bprm_committing_creds() to apply any security
             requirements, such as flushing unauthorised files in SELinux, that
             must be done before the credentials are changed.

	     This is made up of bits of security_bprm_apply_creds() and
	     security_bprm_post_apply_creds(), both of which have been removed.
	     This function is not allowed to fail; anything that might fail
	     must have been done in (c.ii).

         (ii) Calls commit_creds() to apply the new credentials in a single
             assignment (more or less).  Possibly pdeath_signal and dumpable
             should be part of struct creds.

	 (iii) Unlocks the task's cred_replace_mutex, thus allowing
	     PTRACE_ATTACH to take place.

         (iv) Clears The bprm->cred pointer as the credentials it was holding
             are now immutable.

         (v) Calls security_bprm_committed_creds() to apply any security
             alterations that must be done after the creds have been changed.
             SELinux uses this to flush signals and signal handlers.

     (f) If an error occurs before (d.i), bprm_free() will call abort_creds()
     	 to destroy the proposed new credentials and will then unlock
     	 cred_replace_mutex.  No changes to the credentials will have been
     	 made.

 (2) LSM interface.

     A number of functions have been changed, added or removed:

     (*) security_bprm_alloc(), ->bprm_alloc_security()
     (*) security_bprm_free(), ->bprm_free_security()

     	 Removed in favour of preparing new credentials and modifying those.

     (*) security_bprm_apply_creds(), ->bprm_apply_creds()
     (*) security_bprm_post_apply_creds(), ->bprm_post_apply_creds()

     	 Removed; split between security_bprm_set_creds(),
     	 security_bprm_committing_creds() and security_bprm_committed_creds().

     (*) security_bprm_set(), ->bprm_set_security()

     	 Removed; folded into security_bprm_set_creds().

     (*) security_bprm_set_creds(), ->bprm_set_creds()

     	 New.  The new credentials in bprm->creds should be checked and set up
     	 as appropriate.  bprm->cred_prepared is 0 on the first call, 1 on the
     	 second and subsequent calls.

     (*) security_bprm_committing_creds(), ->bprm_committing_creds()
     (*) security_bprm_committed_creds(), ->bprm_committed_creds()

     	 New.  Apply the security effects of the new credentials.  This
     	 includes closing unauthorised files in SELinux.  This function may not
     	 fail.  When the former is called, the creds haven't yet been applied
     	 to the process; when the latter is called, they have.

 	 The former may access bprm->cred, the latter may not.

 (3) SELinux.

     SELinux has a number of changes, in addition to those to support the LSM
     interface changes mentioned above:

     (a) The bprm_security_struct struct has been removed in favour of using
     	 the credentials-under-construction approach.

     (c) flush_unauthorized_files() now takes a cred pointer and passes it on
     	 to inode_has_perm(), file_has_perm() and dentry_open().

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: James Morris <jmorris@namei.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: James Morris <jmorris@namei.org>
2008-11-14 10:39:24 +11:00
..
amba
byteorder byteorder: provide swabb.h generically in asm/byteorder.h 2008-10-20 08:52:40 -07:00
can
dvb V4L/DVB (9196): Add support for DSS delivery 2008-10-17 17:15:43 -03:00
hdlc
i2c mfd: twl4030 IRQ handling update 2008-10-22 01:19:37 +02:00
isdn
lockd NLM: Remove "proto" argument from lockd_up() 2008-10-04 17:12:27 -04:00
mfd mfd: update TMIO drivers to use the clock API 2008-10-19 22:54:12 +02:00
mlx4 mlx4_core: Multiple port type support 2008-10-22 15:38:42 -07:00
mmc Fix comment in include/linux/mmc/host.h 2008-10-12 11:04:34 +02:00
mtd Merge git://git.infradead.org/mtd-2.6 2008-10-20 09:03:12 -07:00
netfilter netfilter: ctnetlink: remove bogus module dependency between ctnetlink and nf_nat 2008-10-14 11:58:31 -07:00
netfilter_arp
netfilter_bridge netfilter: xtables: move extension arguments into compound structure (5/6) 2008-10-08 11:35:19 +02:00
netfilter_ipv4 netfilter: rename ipt_recent to xt_recent 2008-10-08 11:35:00 +02:00
netfilter_ipv6
nfsd nfsd: permit unauthenticated stat of export root 2008-09-29 17:56:56 -04:00
raid md: use sysfs_notify_dirent to notify changes to md/dev-xxx/state 2008-10-21 13:25:28 +11:00
regulator regulator: Fix typo 2008-10-13 21:51:51 +01:00
rtc
spi spi: fix compile error 2008-10-30 11:38:47 -07:00
ssb
sunrpc Merge branch 'next' 2008-10-15 15:54:56 -04:00
tc_act pkt_action: add new action skbedit 2008-09-12 16:30:20 -07:00
tc_ematch
unaligned
usb Merge branch 'master' into for-upstream 2008-10-20 16:07:19 +01:00
uwb uwb: add the driver to enumerate WHCI capabilities 2008-09-17 16:54:26 +01:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h ACPI: remove unused have_arch_parse_srat 2008-10-10 23:50:21 -04:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
aer.h PCI: fix AER capability check 2008-10-20 11:01:52 -07:00
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h Configure out AIO support 2008-10-16 11:21:51 -07: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 ide: lba_capacity_is_ok() -> ata_id_is_lba_capacity_ok() 2008-10-10 22:39:31 +02:00
ata_platform.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
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 CRED: Make execve() take advantage of copy-on-write credentials 2008-11-14 10:39:24 +11:00
auto_dev-ioctl.h autofs4: add miscellaneous device for ioctls 2008-10-16 11:21:39 -07:00
auto_fs.h
auto_fs4.h autofs4: add miscellaneous device for ioctls 2008-10-16 11:21:39 -07:00
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h vmscan: split LRU lists into anon & file sets 2008-10-20 08:50:25 -07:00
backlight.h
baycom.h
bcd.h include/linux/bcd.h: remove comments 2008-10-20 08:52:42 -07:00
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 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2008-10-17 09:29:55 -07:00
bit_spinlock.h
bitmap.h Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb 2008-10-23 08:20:34 -07:00
bitops.h
bitrev.h
blkdev.h [PATCH] end of methods switch: remove the old ones 2008-10-21 07:48:52 -04:00
blkpg.h
blktrace_api.h blktrace: add support for driver data 2008-10-17 08:46:57 +02:00
blockgroup_lock.h
bootmem.h
bottom_half.h
bpqether.h
brcmphy.h
bsg.h
buffer_head.h fs: buffer lock use lock bitops 2008-10-20 08:52:32 -07:00
bug.h
byteorder.h
cache.h
can.h
capability.h CRED: Inaugurate COW credentials 2008-11-14 10:39:23 +11:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h [PATCH] switch cdrom_{open,release,ioctl} to sane APIs 2008-10-21 07:47:22 -04:00
cfag12864b.h
cgroup.h cgroups: tiny cleanups 2008-10-30 11:38:45 -07:00
cgroup_subsys.h container freezer: implement freezer cgroup subsystem 2008-10-20 08:52:34 -07:00
cgroupstats.h
chio.h
circ_buf.h
clk.h include/linux/clk.h: fix comment 2008-10-16 11:21:32 -07:00
clockchips.h clockevents: prevent clockevent event_handler ending up handler_noop 2008-09-05 11:11:51 +02:00
clocksource.h
cm4000_cs.h
cn_proc.h
cnt32_to_63.h MN10300: Move asm-arm/cnt32_to_63.h to include/linux/ 2008-09-24 16:38:17 -07:00
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coff.h
com20020.h
compat.h compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h ftrace: move notrace to compiler.h 2008-10-14 10:35:08 +02:00
completion.h
comstats.h
concap.h
configfs.h
connector.h
console.h
console_struct.h Revert "vt: fix background color on line feed" 2008-10-14 12:12:02 -07:00
consolemap.h
const.h
cpu.h kernel/cpu.c: create a CPU_STARTING cpu_chain notifier 2008-09-08 19:25:24 +02:00
cpufreq.h [CPUFREQ][1/6] cpufreq: Add cpu number parameter to __cpufreq_driver_getavg() 2008-10-09 13:52:43 -04:00
cpuidle.h
cpumask.h
cpuset.h sched: arch_reinit_sched_domains() must destroy domains to force rebuild 2008-09-06 19:22:15 +02:00
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h proc: move /proc/vmcore creation to fs/proc/vmcore.c 2008-10-23 18:51:22 +04:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc16.h
crc32.h
crc32c.h
cred.h CRED: Make execve() take advantage of copy-on-write credentials 2008-11-14 10:39:24 +11:00
crypto.h
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dca.h
dcache.h [PATCH vfs-2.6 2/6] vfs: add d_ancestor() 2008-10-23 05:13:16 -04:00
dccp.h This reverts "Merge branch 'dccp' of git://eden-feed.erg.abdn.ac.uk/dccp_exp" 2008-09-09 13:27:22 +02:00
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
device-mapper.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev 2008-10-23 10:23:07 -07:00
device.h i2c: Constify i2c_get_clientdata's parameter 2008-10-22 20:21:31 +02:00
device_cgroup.h
devpts_fs.h Add an instance parameter devpts interfaces 2008-10-13 09:51:43 -07:00
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 dm raid1: separate region_hash interface part1 2008-10-21 17:45:06 +01:00
dm9000.h
dma-attrs.h
dma-mapping.h convert swiotlb to use dma_get_mask 2008-09-19 10:20:41 +02:00
dma_remapping.h intel-iommu: IA64 support 2008-10-18 14:29:15 +01:00
dmaengine.h
dmapool.h
dmar.h dmar: fix using early fixmap mapping for DMAR table parsing 2008-10-16 16:53:04 +02:00
dmi.h Automatic MODULE_ALIAS() for DMI match tables. 2008-10-13 16:05:06 +01:00
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h MIPS: IP22/28: Switch over to RTC class driver 2008-10-15 12:46:51 +01:00
ds17287rtc.h
dtlk.h
dw_dmac.h
dynamic_printk.h driver core: basic infrastructure for per-module dynamic debug messages 2008-10-16 09:24:47 -07:00
edac.h
edd.h
eeprom_93cx6.h
efi.h x86: Add UV EFI table entry v4 2008-10-16 16:53:13 +02:00
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h block: Add interface to abort queued requests 2008-10-09 08:56:13 +02:00
elf-em.h
elf-fdpic.h
elf.h x86: ioperm user_regset 2008-10-12 12:05:55 +02:00
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventfd.h
eventpoll.h
exportfs.h
ext2_fs.h include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
ext2_fs_sb.h
ext3_fs.h ext3: add an option to control error handling on file data 2008-10-20 08:52:37 -07:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
f75375s.h
fadvise.h
falloc.h
fault-inject.h
fb.h fb: convert lock/unlock_kernel() into local fb mutex 2008-10-20 08:52:36 -07:00
fcdevice.h
fcntl.h
fd.h floppy: support arbitrary first-sector numbers 2008-10-09 08:56:19 +02:00
fddidevice.h
fdreg.h
fdtable.h
fib_rules.h
fiemap.h vfs: vfs-level fiemap interface 2008-10-08 19:44:18 -04:00
file.h [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
filter.h
firewire-cdev.h firewire: Add more documentation to firewire-cdev.h 2008-10-15 22:21:11 +02:00
firewire-constants.h
firmware-map.h
firmware.h
flat.h
font.h
freezer.h freezer_cg: use thaw_process() in unfreeze_cgroup() 2008-10-30 11:38:45 -07:00
fs.h CRED: Pass credentials through dentry_open() 2008-11-14 10:39:22 +11:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fsl_devices.h gianfar: Fix race in TBI/SerDes configuration 2008-10-31 00:59:46 -04:00
fsnotify.h [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
ftrace.h ftrace: remove ftrace hash 2008-10-23 16:00:24 +02:00
fuse.h fuse: implement nonseekable open 2008-10-16 16:08:57 +02:00
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h proc: move /proc/diskstats boilerplate to block/genhd.c 2008-10-23 17:57:37 +04:00
getcpu.h
gfp.h
gfs2_ondisk.h GFS2: Add UUID to GFS2 sb 2008-09-22 07:29:31 +01:00
gigaset_dev.h
gpio.h gpio_free might sleep, generic part 2008-10-16 11:21:40 -07:00
gpio_keys.h
gpio_mouse.h
hardirq.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hid-debug.h
hid.h HID: fix oops during suspend of unbound HID devices 2008-10-27 15:06:01 +01:00
hiddev.h HID: hiddev.h: Fix example code. 2008-10-14 23:51:02 +02:00
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h Merge branch 'timers/range-hrtimers' into v28-range-hrtimers-for-linus-v2 2008-10-22 09:48:06 +02:00
htirq.h
hugetlb.h proc: switch /proc/meminfo to seq_file 2008-10-23 13:52:40 +04:00
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-pcf: Add adapter hooks around xfer begin and end 2008-10-22 20:21:30 +02:00
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h V4L/DVB (9240): saa7127: Fix two typos 2008-10-17 17:25:11 -03:00
i2c-ocores.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c.h i2c: Add info->archdata field 2008-10-22 20:21:33 +02:00
i2o-dev.h
i2o.h i2o: Fix 32/64bit DMA locking 2008-10-16 11:21:38 -07:00
i8k.h
i7300_idle.h i7300_idle: Disable ioat channel only on platforms where ile driver can load 2008-10-24 12:54:18 -04:00
i8042.h
ibmtr.h
icmp.h
icmpv6.h IPV6: Fix default gateway criteria wrt. HIGH/LOW preference radv option 2008-10-15 16:03:01 -07:00
ide.h [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
idr.h
ieee80211.h mac80211: mesh portal functionality support 2008-09-24 16:18:02 -04:00
if.h net: network device name ifalias support 2008-09-22 21:28:11 -07:00
if_addr.h
if_addrlabel.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 net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
if_fc.h
if_fddi.h net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
if_frad.h
if_hippi.h net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
if_infiniband.h
if_link.h net: network device name ifalias support 2008-09-22 21:28:11 -07:00
if_ltalk.h
if_macvlan.h
if_packet.h
if_phonet.h phonet: Protect if_phonet.h against multiple inclusions. 2008-10-01 01:30:19 -07:00
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 gre: Add netlink interface 2008-10-09 11:59:55 -07:00
if_vlan.h
igmp.h net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
ihex.h
in.h ipv4: Implement IP_TRANSPARENT socket option 2008-10-01 07:30:02 -07:00
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h ipv4: add mc_count to in_device. 2008-10-07 15:34:37 -07:00
init.h adjust init section definitions 2008-10-29 22:02:09 +01:00
init_ohci1394_dma.h
init_task.h CRED: Inaugurate COW credentials 2008-11-14 10:39:23 +11:00
initrd.h
inotify.h
input-polldev.h
input.h
intel-iommu.h intel-iommu: IA64 support 2008-10-18 14:29:15 +01:00
interrupt.h Merge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-20 13:23:01 -07:00
io-mapping.h io mapping: clean up #ifdefs 2008-11-03 18:21:45 +01:00
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h introduce generic iommu_num_pages function 2008-10-16 11:21:33 -07:00
ioport.h Merge branch 'core-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-16 15:17:40 -07:00
ioprio.h
iova.h VT-d: Changes to support KVM 2008-10-15 14:24:08 +02:00
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_route.h
ipx.h
irda.h
irq.h genirq: improve include files 2008-10-18 14:05:18 +02:00
irq_cpustat.h
irqflags.h
irqnr.h genirq: fix off by one and coding style 2008-10-21 15:54:40 +02:00
irqreturn.h
isa.h
isapnp.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h isdn: isdn_ppp: Use SKB list facilities instead of home-grown implementation. 2008-09-22 01:15:02 -07:00
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h V4L/DVB (8959): include <linux/videodev2.h> into linux/ivtv.h 2008-10-12 09:37:01 -02:00
ivtvfb.h
ixjuser.h
jbd.h jbd: fix error handling for checkpoint io 2008-10-23 08:55:01 -07:00
jbd2.h ext4: Replace hackish ext4_mb_poll_new_transaction with commit callback 2008-10-16 20:00:24 -04:00
jffs2.h
jhash.h
jiffies.h
journal-head.h Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
joystick.h
kallsyms.h vsprintf: use new vsprintf symbolic function pointer format 2008-10-16 11:21:31 -07:00
kbd_diacr.h
kbd_kern.h
Kbuild byteorder: add new headers for make headers-install 2008-10-20 08:52:40 -07:00
kbuild.h
kd.h
kdebug.h
kdev_t.h
kernel.h kernel.h: fix might_sleep kernel-doc 2008-10-30 11:38:47 -07:00
kernel_stat.h Merge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-20 13:23:01 -07: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 klist: don't iterate over deleted entries 2008-10-09 08:56:04 +02:00
kmalloc_sizes.h
kmod.h pm: rework disabling of user mode helpers during suspend/hibernation 2008-10-16 11:21:29 -07:00
kobj_map.h
kobject.h
kprobes.h ftrace: ignore functions that cannot be kprobe-ed 2008-10-14 10:34:22 +02:00
kref.h
ks0108.h
kthread.h
ktime.h
kvm.h KVM: Future-proof device assignment ABI 2008-10-28 14:22:15 +02:00
kvm_host.h KVM: Fix guest shared interrupt with in-kernel irqchip 2008-10-28 14:21:34 +02:00
kvm_para.h
kvm_types.h
lapb.h
latencytop.h
lcd.h lcd: allow lcd device to handle mode change events 2008-09-23 22:01:33 +01:00
leds-pca9532.h
leds.h leds: Make default trigger fields const 2008-10-20 22:34:12 +01:00
lguest.h
lguest_launcher.h
libata.h libata: implement ATA_HORKAGE_ATAPI_MOD16_DMA and apply it 2008-11-04 01:08:27 -05:00
libps2.h
license.h
limits.h
linkage.h ftrace: move notrace to compiler.h 2008-10-14 10:35:08 +02:00
linux_logo.h
list.h
llc.h
lm_interface.h
lmb.h
lockdep.h
log2.h
loop.h
lp.h
lzo.h
m48t86.h
magic.h integrity: special fs magic 2008-10-13 09:47:43 +11:00
major.h block: implement extended dev numbers 2008-10-09 08:56:06 +02:00
map_to_7segment.h Input: move map_to_7segment.h to include/linux 2008-10-10 23:16:16 -04:00
maple.h
marker.h markers: fix synchronize marker unregister static inline 2008-10-14 10:39:28 +02:00
math64.h
matroxfb.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
memcontrol.h memcg: allocate all page_cgroup at boot 2008-10-20 08:52:39 -07:00
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h memstick: fix MSProHG 8-bit interface mode support 2008-09-13 14:41:52 -07:00
meye.h
migrate.h vmscan: move isolate_lru_page() to vmscan.c 2008-10-20 08:50:25 -07:00
mii.h
minix_fs.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm.h mlock: mlocked pages are unevictable 2008-10-20 08:52:30 -07:00
mm_inline.h vmscan: kill unused lru functions 2008-10-20 08:52:31 -07:00
mm_types.h memcg: allocate all page_cgroup at boot 2008-10-20 08:52:39 -07:00
mman.h
mmdebug.h
mmiotrace.h mmiotrace: remove left-over marker cruft 2008-10-14 10:37:17 +02:00
mmtimer.h
mmu_notifier.h
mmzone.h memcg: allocate all page_cgroup at boot 2008-10-20 08:52:39 -07:00
mnt_namespace.h
mod_devicetable.h HID: fix hid_device_id for cross compiling 2008-10-29 00:51:25 +01:00
module.h param: Fix duplicate module prefixes 2008-10-22 10:00:23 +11:00
moduleloader.h
moduleparam.h core_param() for genuinely core kernel parameters 2008-10-22 10:00:23 +11:00
mount.h include/linux/mount.h: remove CVS keyword 2008-10-16 11:21:30 -07:00
mpage.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h mv643xx_eth: remove force_phy_addr field 2008-09-05 06:33:59 +02:00
mv643xx_i2c.h
n_r3964.h
namei.h [PATCH vfs-2.6 6/6] vfs: add LOOKUP_RENAME_TARGET intent 2008-10-23 05:13:20 -04:00
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
netdevice.h net: delete excess kernel-doc notation 2008-10-30 23:54:35 -07:00
netfilter.h netfilter: netns: remove nf_*_net() wrappers 2008-10-08 11:35:01 +02:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h ipsec: Put dumpers on the dump list 2008-10-01 07:03:24 -07:00
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h Make nfs_file_cred more robust. 2008-10-17 13:06:45 -04:00
nfs_fs_i.h
nfs_fs_sb.h NFS: Clean up nfs_sb_active/nfs_sb_deactive 2008-10-06 20:08:26 -04:00
nfs_idmap.h
nfs_iostat.h
nfs_mount.h NFS: Add options for finer control of the lookup cache 2008-10-07 17:22:20 -04:00
nfs_page.h
nfs_xdr.h NFS: Fix the resolution problem with nfs_inode_attrs_need_update() 2008-10-14 19:23:17 -04:00
nfsacl.h
nfsd_idmap.h
nl80211.h cfg80211: Add new wireless regulatory infrastructure 2008-09-15 16:48:19 -04:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h kernel/cpu.c: create a CPU_STARTING cpu_chain notifier 2008-09-08 19:25:24 +02:00
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
of.h of: Add new helper of_parse_phandles_with_args() 2008-10-13 10:55:47 +11:00
of_device.h
of_gpio.h
of_i2c.h
of_platform.h
of_spi.h
oom.h
oprofile.h powerpc/oprofile: Fix mutex locking for cell spu-oprofile 2008-10-21 15:17:48 +11:00
page-flags.h mlock: mlocked pages are unevictable 2008-10-20 08:52:30 -07:00
page-isolation.h
page_cgroup.h memcg: fix page_cgroup allocation 2008-10-23 08:55:02 -07:00
pageblock-flags.h
pagemap.h mm: page lock use lock bitops 2008-10-20 08:52:32 -07:00
pagevec.h Unevictable LRU Infrastructure 2008-10-20 08:50:26 -07:00
param.h
parport.h parport: remove CVS keywords 2008-10-16 11:21:49 -07:00
parport_pc.h
parser.h vfs: Use const for kernel parser table 2008-10-13 10:10:37 -07:00
patchkey.h
path.h
pci-acpi.h
pci-aspm.h
pci.h PCI: add routines for debugging and handling lost interrupts 2008-10-23 14:54:18 -07:00
pci_hotplug.h PCI: Hotplug core: remove 'name' 2008-10-22 16:42:43 -07:00
pci_ids.h Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-10-23 10:20:36 -07:00
pci_regs.h PCI: add support for function level reset 2008-10-22 16:42:35 -07:00
pcieport_if.h
pda_power.h
percpu.h Merge commit '63cc8c75156462d4b42cbdd76c293b7eee7ddbfe': 2008-09-05 09:24:30 +02:00
percpu_counter.h percpu counter: clean up percpu_counter_sum_and_set() 2008-10-09 12:50:59 -04:00
personality.h
pfkeyv2.h xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate) 2008-10-05 13:33:42 -07:00
pfn.h generic: make PFN_PHYS explicitly return phys_addr_t 2008-09-14 17:24:26 +02:00
pg.h
phantom.h
phonedev.h
phonet.h Phonet: do not reply to indication reset packets 2008-10-26 23:07:25 -07:00
phy.h phylib: add mdiobus_{read,write} 2008-10-08 16:38:41 -07:00
phy_fixed.h
pid.h
pid_namespace.h pid_ns: kill the now unused task_child_reaper() 2008-10-16 11:21:48 -07:00
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h pkt_sched: Add multiqueue scheduler support 2008-09-12 16:29:34 -07:00
pktcdvd.h
platform_device.h platform: add new device registration helper 2008-10-16 09:24:51 -07:00
plist.h
pm.h include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
pm_qos_params.h
pm_wakeup.h
pmu.h
pnp.h Merge branch 'linus' into test 2008-10-23 00:11:07 -04:00
poison.h
poll.h select: switch select() and poll() over to hrtimers 2008-09-05 21:35:03 -07:00
posix-timers.h posix-timers: kill ->it_sigev_signo and ->it_sigev_value 2008-09-24 15:45:48 +02: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 hrtimer: create a "timer_slack" field in the task struct 2008-09-05 21:35:30 -07:00
preempt.h
prefetch.h
prio_heap.h
prio_tree.h
proc_fs.h proc: remove fs/proc/proc_misc.c 2008-10-23 18:54:05 +04:00
profile.h profiling: fix up CONFIG_PROC_FS=n build 2008-10-23 08:55:01 -07:00
proportions.h
ptrace.h make ptrace_untrace() static 2008-10-20 08:52:39 -07:00
pwm.h
pwm_backlight.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h quota: remove CVS keywords 2008-10-16 11:21:46 -07:00
quotaio_v1.h
quotaio_v2.h
quotaops.h quota: remove CVS keywords 2008-10-16 11:21:46 -07:00
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h mm: tiny-shmem nommu fix 2008-10-02 15:53:13 -07:00
random.h
ratelimit.h
raw.h
rbtree.h
rcuclassic.h rcu: RCU-based detection of stalled CPUs for Classic RCU 2008-10-03 10:36:08 +02:00
rculist.h
rcupdate.h rcu: add rcu_read_lock_sched() / rcu_read_unlock_sched() 2008-09-30 12:08:41 +02:00
rcupreempt.h
rcupreempt_trace.h
reboot.h
reciprocal_div.h
regset.h
reiserfs_acl.h
reiserfs_fs.h include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
reiserfs_fs_i.h
reiserfs_fs_sb.h [PATCH] remember mode of reiserfs journal 2008-10-21 07:49:04 -04:00
reiserfs_xattr.h
relay.h
res_counter.h res_counter: fix off-by-one bug in setting limit 2008-09-05 14:39:37 -07:00
resource.h mm: increase the default mlock limit from 32k to 64k 2008-10-30 11:38:45 -07:00
resume-trace.h
rfkill.h
ring_buffer.h ring_buffer: implement new locking 2008-10-14 10:39:05 +02:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h make mm/rmap.c:anon_vma_cachep static 2008-10-20 08:52:40 -07:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h include: replace __FUNCTION__ with __func__ 2008-10-16 11:21:30 -07:00
rtnetlink.h Phonet: global definitions 2008-09-22 19:51:15 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h CRED: Inaugurate COW credentials 2008-11-14 10:39:23 +11: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: Make execve() take advantage of copy-on-write credentials 2008-11-14 10:39:24 +11:00
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h seq_file: add seq_cpumask_list(), seq_nodemask_list() 2008-10-20 08:52:39 -07:00
seq_file_net.h
seqlock.h
serial.h tty: Cris has a nice RS485 ioctl so we should steal it 2008-10-13 09:51:40 -07:00
serial167.h
serial_8250.h
serial_core.h serial: Make uart_port's ioport "unsigned long". 2008-10-13 09:51:39 -07:00
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serialP.h
serio.h
sh_intc.h sh: Move the shared INTC code out to drivers/sh/ 2008-10-01 16:13:54 +09:00
shm.h
shmem_fs.h
signal.h
signalfd.h
skbuff.h net: packet split receive api 2008-10-07 14:22:33 -07:00
slab.h proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c 2008-10-23 15:20:06 +04:00
slab_def.h
slob_def.h
slub_def.h
sm501-regs.h
sm501.h
smb.h smb.h: do not include linux/time.h in userspace 2008-09-23 08:09:13 -07:00
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smc91x.h Export smc91x led definitions 2008-09-09 17:41:42 +02:00
smc911x.h smc911x: Add IRQ polarity configuration 2008-10-22 07:00:38 -04:00
smp.h softirq: Add support for triggering softirq work on softirqs. 2008-10-17 08:46:56 +02:00
smp_lock.h
snmp.h
socket.h Phonet: implement GPRS virtual interface over PEP socket 2008-10-05 11:16:16 -07:00
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 include/linux/stacktrace.h: declare struct task_struct 2008-10-03 18:22:18 -07:00
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h linux/string.h: fix comment typo 2008-11-02 10:15:07 -08:00
string_helpers.h [SCSI] lib: add generic helper to print sizes rounded to the correct SI range 2008-10-03 11:46:14 -05:00
stringify.h
superhyway.h
suspend.h
suspend_ioctls.h
svga.h
swab.h byteorder: use generic C version for value byteswapping 2008-10-20 08:52:40 -07:00
swap.h vmscan: unevictable LRU scan sysctl 2008-10-20 08:52:31 -07:00
swapops.h
swiotlb.h introduce generic header file for the software IO/TLB 2008-10-16 11:21:28 -07:00
synclink.h
sys.h
syscalls.h
sysctl.h sysctl: simplify ->strategy 2008-10-16 11:21:47 -07:00
sysdev.h
sysfs.h x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
sysrq.h
sysv_fs.h
task_io_accounting.h Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tc.h
tcp.h tcp: kill pointless urg_mode 2008-10-07 14:43:06 -07:00
telephony.h telephony: remove CVS keywords 2008-10-16 11:21:45 -07:00
termios.h tty: Add termiox 2008-10-13 09:51:40 -07:00
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h select: add a poll specific struct to the restart_block union 2008-09-05 21:35:01 -07:00
threads.h
tick.h NOHZ: unify the nohz function calls in irq_enter() 2008-10-17 18:13:38 +02:00
tifm.h
time.h Merge branch 'timers/range-hrtimers' into v28-range-hrtimers-for-linus-v2 2008-10-22 09:48:06 +02:00
timer.h
timerfd.h
times.h
timex.h ntp: improve adjtimex frequency rounding 2008-09-24 17:33:13 +02:00
tiocl.h
tipc.h
tipc_config.h
topology.h
toshiba.h
tracehook.h tracehook: comment pasto fixes 2008-09-05 14:39:38 -07:00
tracepoint.h tracepoints: synchronize unregister static inline 2008-10-14 10:39:31 +02:00
transport_class.h
trdevice.h
tsacct_kern.h
tty.h tty: some ICANON magic is in the wrong places 2008-10-13 09:51:44 -07:00
tty_driver.h Add an instance parameter devpts interfaces 2008-10-13 09:51:43 -07:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04: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: anchor API changes needed for btusb 2008-10-17 14:41:02 -07:00
usb_usual.h
usbdevice_fs.h
user.h
user_namespace.h
utime.h
uts.h
utsname.h
uwb.h uwb: add symlinks in sysfs between radio controllers and PALs 2008-09-17 16:54:35 +01:00
vermagic.h
veth.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev.h
videodev2.h V4L/DVB (9320): v4l2: Add 10-bit RAW Bayer formats 2008-10-21 14:31:15 -02:00
videotext.h
virtio.h
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h
virtio_console.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
vmalloc.h proc: move /proc/vmallocinfo to mm/vmalloc.c 2008-10-23 15:48:28 +04:00
vmstat.h proc: move /proc/zoneinfo boilerplate to mm/vmstat.c 2008-10-23 17:35:04 +04:00
vt.h
vt_buffer.h
vt_kern.h tty: Remove more special casing and out of place code 2008-10-13 09:51:42 -07:00
w1-gpio.h
wait.h wait: kill is_sync_wait() 2008-10-16 11:21:31 -07:00
wanrouter.h
watchdog.h
wireless.h
wlp.h uwb: add the uwb include files 2008-09-17 16:54:23 +01:00
wm97xx.h
wm97xx_batt.h [ARM] 5248/1: wm97xx generic battery driver 2008-10-02 22:48:34 +01:00
workqueue.h workqueue: introduce create_rt_workqueue 2008-10-22 10:00:25 +11:00
writeback.h vfs: Add no_nrwrite_index_update writeback control flag 2008-10-16 10:09:17 -04:00
x25.h
xattr.h
xfrm.h xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate) 2008-10-05 13:33:42 -07:00
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h