twx-linux/include/linux
Al Viro 02125a8264 fix apparmor dereferencing potentially freed dentry, sanitize __d_path() API
__d_path() API is asking for trouble and in case of apparmor d_namespace_path()
getting just that.  The root cause is that when __d_path() misses the root
it had been told to look for, it stores the location of the most remote ancestor
in *root.  Without grabbing references.  Sure, at the moment of call it had
been pinned down by what we have in *path.  And if we raced with umount -l, we
could have very well stopped at vfsmount/dentry that got freed as soon as
prepend_path() dropped vfsmount_lock.

It is safe to compare these pointers with pre-existing (and known to be still
alive) vfsmount and dentry, as long as all we are asking is "is it the same
address?".  Dereferencing is not safe and apparmor ended up stepping into
that.  d_namespace_path() really wants to examine the place where we stopped,
even if it's not connected to our namespace.  As the result, it looked
at ->d_sb->s_magic of a dentry that might've been already freed by that point.
All other callers had been careful enough to avoid that, but it's really
a bad interface - it invites that kind of trouble.

The fix is fairly straightforward, even though it's bigger than I'd like:
	* prepend_path() root argument becomes const.
	* __d_path() is never called with NULL/NULL root.  It was a kludge
to start with.  Instead, we have an explicit function - d_absolute_root().
Same as __d_path(), except that it doesn't get root passed and stops where
it stops.  apparmor and tomoyo are using it.
	* __d_path() returns NULL on path outside of root.  The main
caller is show_mountinfo() and that's precisely what we pass root for - to
skip those outside chroot jail.  Those who don't want that can (and do)
use d_path().
	* __d_path() root argument becomes const.  Everyone agrees, I hope.
	* apparmor does *NOT* try to use __d_path() or any of its variants
when it sees that path->mnt is an internal vfsmount.  In that case it's
definitely not mounted anywhere and dentry_path() is exactly what we want
there.  Handling of sysctl()-triggered weirdness is moved to that place.
	* if apparmor is asked to do pathname relative to chroot jail
and __d_path() tells it we it's not in that jail, the sucker just calls
d_absolute_path() instead.  That's the other remaining caller of __d_path(),
BTW.
        * seq_path_root() does _NOT_ return -ENAMETOOLONG (it's stupid anyway -
the normal seq_file logics will take care of growing the buffer and redoing
the call of ->show() just fine).  However, if it gets path not reachable
from root, it returns SEQ_SKIP.  The only caller adjusted (i.e. stopped
ignoring the return value as it used to do).

Reviewed-by: John Johansen <john.johansen@canonical.com>
ACKed-by: John Johansen <john.johansen@canonical.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: stable@vger.kernel.org
2011-12-06 23:57:18 -05:00
..
amba Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2011-11-04 18:02:25 -07:00
bcma include: convert various register fcns to macros to avoid include chaining 2011-10-31 19:32:32 -04:00
byteorder
caif
can can: remove references to berlios mailinglist 2011-10-17 19:22:46 -04:00
ceph libceph: Allocate larger oid buffer in request msgs 2011-11-11 09:50:19 -08:00
crush
decompress
dvb
hdlc
i2c Merge branch 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6 2011-11-03 09:40:51 -07:00
input Input: adp5589-keys - add support for the ADP5585 derivatives 2011-10-18 21:26:55 -07:00
isdn
lockd
mfd regulator: TPS65910: Fix VDD1/2 voltage selector count 2011-11-23 14:03:52 +00:00
mlx4 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2011-11-01 10:51:38 -07:00
mmc mmc: fix compile error when CONFIG_BLOCK is not enabled 2011-10-27 09:11:34 -04:00
mtd Merge git://git.infradead.org/mtd-2.6 2011-11-07 09:11:16 -08:00
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4 netfilter: export NAT definitions through linux/netfilter_ipv4/nf_nat.h 2011-11-01 09:19:52 +01:00
netfilter_ipv6
nfc
nfsd NFSD: Remove the ex_pathname field from struct svc_export 2011-09-13 22:44:10 -04:00
pinctrl pinctrl: fix "warning: 'struct pinctrl_dev' declared inside parameter list" 2011-11-09 15:07:40 +01:00
platform_data drivers/leds/leds-renesas-tpu.c: move Renesas TPU LED driver platform data 2011-10-31 17:30:55 -07:00
power
raid
regulator Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
rtc
spi backlight: fix broken regulator API usage in l4f00242t03 2011-10-31 17:30:54 -07:00
ssb include: convert various register fcns to macros to avoid include chaining 2011-10-31 19:32:32 -04:00
sunrpc Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
tc_act
tc_ematch
unaligned
usb Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2011-10-31 15:42:54 -07:00
uwb include: convert various register fcns to macros to avoid include chaining 2011-10-31 19:32:32 -04:00
wimax
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi_io.h
acpi_pmtmr.h
acpi.h
adb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
ahci_platform.h
aio_abi.h
aio.h aio: allocate kiocbs in batches 2011-11-02 16:07:03 -07:00
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm_bios.h
apm-emulation.h
arcdevice.h
arcfb.h
async_tx.h
async.h
ata_platform.h
ata.h
atalk.h
ath9k_platform.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
atmel_pdc.h mmc: atmel-mci: use ATMEL_PDC_SCND_BUF_OFF instead of a literal value 2011-10-26 15:43:26 -04:00
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmel-mci.h mmc: atmel-mci: change namespace 2011-10-26 15:43:25 -04:00
atmel-pwm-bl.h
atmel-ssc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
atomic.h
attribute_container.h
audit.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
auto_dev-ioctl.h
auto_fs4.h
auto_fs.h
auxvec.h
average.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h writeback: Add a 'reason' to wb_writeback_work 2011-10-31 00:33:36 +08:00
backlight.h
basic_mmio_gpio.h drivers/gpio/gpio-generic.c: fix build errors 2011-09-14 18:09:38 -07:00
baycom.h
bcd.h
bch.h
bfin_mac.h
bfs_fs.h
binfmts.h
bio.h bio: change some signed vars to unsigned 2011-11-16 09:21:50 +01:00
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blk_types.h block: Remove the control of complete cpu from bio. 2011-10-24 16:11:30 +02:00
blk-iopoll.h
blkdev.h Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
blkpg.h
blktrace_api.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
blockgroup_lock.h
bma150.h
bootmem.h
bottom_half.h
bpqether.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h
bug.h
c2port.h
cache.h
can.h can: remove references to berlios mailinglist 2011-10-17 19:22:46 -04:00
capability.h net: allow CAP_NET_RAW to set socket options IP{,V6}_TRANSPARENT 2011-10-20 18:21:36 -04:00
capi.h
cb710.h
cciss_defs.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup_subsys.h
cgroup.h memcg: replace ss->id_lock with a rwlock 2011-11-02 16:07:03 -07:00
cgroupstats.h
chio.h
circ_buf.h
cleancache.h
clk.h clk: provide prepare/unprepare functions 2011-09-27 09:25:02 +01:00
clkdev.h ARM: 7131/1: clkdev: Add Common Macro for clk_lookup 2011-10-13 14:36:58 +01:00
clksrc-dbx500-prcmu.h clocksource: fixup ux500 build problems 2011-10-03 09:34:16 +02:00
clockchips.h
clocksource.h clocksource: Avoid selecting mult values that might overflow when adjusted 2011-11-10 11:27:08 -08:00
cm4000_cs.h
cn_proc.h connector: add comm change event report to proc connector 2011-09-28 13:41:50 -04:00
cnt32_to_63.h
coda_psdev.h
coda.h
coff.h
com20020.h
compaction.h mm: compaction: make compact_zone_order() static 2011-10-31 17:30:49 -07:00
compat.h Cross Memory Attach 2011-10-31 17:30:44 -07:00
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
const.h
cordic.h
coredump.h
cper.h
cpu_pm.h cpu_pm: Add cpu power management notifiers 2011-09-23 12:05:29 +05:30
cpu_rmap.h
cpu.h PM / Sleep: Remove unused symbol 'suspend_cpu_hotplug' 2011-11-04 22:28:09 +01:00
cpufreq.h
cpuidle.h Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2011-11-07 10:13:52 -08:00
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h [S390] kdump: Add size to elfcorehdr kernel parameter 2011-10-30 15:16:41 +01:00
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
cred.h
crypto.h Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
cryptohash.h
cryptouser.h crypto: Add userspace report for cipher type algorithms 2011-10-21 14:24:07 +02:00
cs5535.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h fix apparmor dereferencing potentially freed dentry, sanitize __d_path() API 2011-12-06 23:57:18 -05:00
dcbnl.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
devfreq.h PM / devfreq: fix private_data 2011-11-07 23:54:53 +01:00
device_cgroup.h device_cgroup.h: delete needless include <linux/module.h> 2011-10-31 19:32:26 -04:00
device-mapper.h dm table: add immutable feature 2011-10-31 20:19:04 +00:00
device.h Merge branch 'driver-core-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2011-11-21 20:36:26 -08:00
devpts_fs.h
dio.h
dirent.h
display.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm9000.h
dm-dirty-log.h
dm-io.h
dm-ioctl.h dm table: add immutable feature 2011-10-31 20:19:04 +00:00
dm-kcopyd.h dm kcopyd: add dm_kcopyd_zero to zero an area 2011-10-31 20:18:58 +00:00
dm-log-userspace.h dm log userspace: add log device dependency 2011-10-31 20:21:24 +00:00
dm-region-hash.h
dma_remapping.h iommu: Rename the DMAR and INTR_REMAP config options 2011-09-21 10:22:03 +02:00
dma-attrs.h
dma-debug.h
dma-direction.h
dma-mapping.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-11-06 17:12:03 -08:00
dmaengine.h Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
dmapool.h
dmar.h include/linux/dmar.h: forward-declare struct acpi_dmar_header 2011-10-31 17:30:44 -07:00
dmi.h
dn.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
drbd_limits.h
drbd_nl.h
drbd_tag_magic.h drbd: Use angle brackets for system includes 2011-09-15 14:02:57 +02:00
drbd.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h dw_apb_timer: constify clocksource name 2011-10-04 13:08:18 -07:00
dw_dmac.h
dynamic_debug.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
ecryptfs.h
edac.h edac: Move edac main structs to include/linux/edac.h 2011-10-31 15:10:04 -02:00
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h block: drop @tsk from attempt_plug_merge() and explain sync rules 2011-10-19 14:33:08 +02:00
elf-em.h
elf-fdpic.h
elf.h [S390] signal race with restarting system calls 2011-10-30 15:16:43 +01:00
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h bonding: comparing a u8 with -1 is always false 2011-11-04 18:37:23 -04:00
eventfd.h
eventpoll.h
evm.h evm: posix acls modify i_mode 2011-09-14 15:24:51 -04:00
export.h module.h: split out the EXPORT_SYMBOL into export.h 2011-10-31 09:20:11 -04:00
exportfs.h
ext2_fs_sb.h
ext2_fs.h
ext3_fs_i.h
ext3_fs_sb.h ext3: Remove the obsolete broken EXT3_IOC32_WAIT_FOR_READONLY. 2011-10-10 18:25:59 +02:00
ext3_fs.h Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 2011-11-02 10:06:20 -07:00
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fec.h
fib_rules.h
fiemap.h
file.h
filter.h filter: use unsigned int to silence static checker warning 2011-10-19 19:35:51 -04:00
fips.h
firewire-cdev.h
firewire-constants.h
firewire.h
firmware-map.h
firmware.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
flat.h
flex_array.h
font.h
freezer.h PM / Freezer: Reimplement wait_event_freezekillable using freezer_do_not_count/freezer_count 2011-11-04 22:28:15 +01:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h fix apparmor dereferencing potentially freed dentry, sanitize __d_path() API 2011-12-06 23:57:18 -05:00
fscache-cache.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
fscache.h
fsl_devices.h
fsl_hypervisor.h
fsl-diu-fb.h drivers/video: fsl-diu-fb: only DIU modes 0 and 1 are supported 2011-10-05 01:10:12 +00:00
fsnotify_backend.h
fsnotify.h
ftrace_event.h
ftrace_irq.h
ftrace.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
fuse.h
futex.h
gameport.h Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
gcd.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h block: Revert "[SCSI] genhd: add a new attribute "alias" in gendisk" 2011-11-10 09:03:55 +01:00
getcpu.h
gfp.h
gfs2_ondisk.h
gigaset_dev.h
gpio_keys.h
gpio_mouse.h
gpio-fan.h
gpio-i2cmux.h
gpio.h gpiolib: Ensure struct gpio is always defined 2011-10-24 16:04:06 +02:00
gsmmux.h
hardirq.h
hash.h
hdlc.h
hdlcdrv.h
hdreg.h
hid-debug.h
hid-roccat.h
hid.h include: convert various register fcns to macros to avoid include chaining 2011-10-31 19:32:32 -04:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h thp: mremap support and TLB optimization 2011-10-31 17:30:48 -07:00
hugetlb_inline.h
hugetlb.h hugetlb: remove dummy definitions of HPAGE_MASK and HPAGE_SIZE 2011-11-19 06:15:59 -05:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h hwspinlock: Don't return a value in __hwspin_unlock 2011-11-08 09:28:27 +02:00
hyperv.h hv: remove struct hv_device_info from hyperv.h 2011-10-11 09:51:22 -06:00
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h I2C: OMAP: remove unused function pointers from pdata 2011-10-29 09:37:09 +01:00
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-tegra.h
i2c-xiic.h
i2c.h i2c: Delete ANY_I2C_BUS 2011-11-23 11:33:07 +01:00
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
i8253.h
i82593.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h mac80211: handle TDLS high-level commands and frames 2011-09-30 15:57:07 -04:00
if_addr.h
if_addrlabel.h
if_alg.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 Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem 2011-10-11 15:35:42 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h if_link: Add additional parameter to IFLA_VF_INFO for spoof checking 2011-10-16 13:15:38 -07:00
if_ltalk.h
if_macvlan.h macvtap: Fix the minor device number allocation 2011-10-21 02:53:07 -04:00
if_packet.h Repair wrong named definition aligned_u64 2011-10-03 14:03:48 -04:00
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 vlan: allow nested vlan_do_receive() 2011-10-30 04:43:30 -04:00
if_x25.h
if.h
igmp.h
ihex.h
ima.h
in6.h
in_route.h
in.h
inet_diag.h net-netlink: Add a new attribute to expose TCLASS values via netlink 2011-11-14 01:08:49 -05:00
inet_lro.h
inet.h
inetdevice.h
init_ohci1394_dma.h
init_task.h writeback: remove vm_dirties and task->dirties 2011-11-17 20:49:06 +08:00
init.h
initrd.h
inotify.h
input-polldev.h
input.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2011-10-28 14:25:01 -07:00
integrity.h evm: permit mode bits to be updated 2011-09-14 15:24:52 -04:00
intel_mid_dma.h
intel_pmic_gpio.h
intel-iommu.h Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
interrupt.h genirq: Add IRQF_RESUME_EARLY and resume such IRQs earlier 2011-10-17 11:42:49 +02:00
io-mapping.h Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux 2011-10-28 05:54:23 -07:00
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
iommu.h Merge branches 'amd/fixes', 'debug/dma-api', 'arm/omap', 'arm/msm', 'core', 'iommu/fault-reporting' and 'api/iommu-ops-per-bus' into next 2011-10-21 14:38:55 +02:00
ioport.h
ioprio.h
iova.h
ip6_tunnel.h ip6_tunnel: add optional fwmark inherit 2011-09-20 14:50:00 -04:00
ip_vs.h
ip.h
ipc_namespace.h
ipc.h
ipmi_msgdefs.h
ipmi_smi.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
ipmi.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irda.h
irq_cpustat.h
irq_work.h irq_work: Use llist in the struct irq_work logic 2011-10-04 12:43:49 +02:00
irq.h irq: don't put module.h into irq.h for tracking irqgen modules. 2011-10-31 19:32:35 -04:00
irqdesc.h irq: don't put module.h into irq.h for tracking irqgen modules. 2011-10-31 19:32:35 -04:00
irqdomain.h irq: support domains with non-zero hwirq base 2011-10-31 14:03:23 +01:00
irqflags.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn_divertif.h
isdn_ppp.h
isdn.h doc: fix broken references 2011-09-27 18:08:04 +02:00
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd2.h jdb/jbd2: factor out common functions from the jbd[2] header files 2011-10-27 04:38:18 -04:00
jbd_common.h jdb/jbd2: factor out common functions from the jbd[2] header files 2011-10-27 04:38:18 -04:00
jbd.h jdb/jbd2: factor out common functions from the jbd[2] header files 2011-10-27 04:38:18 -04:00
jffs2.h
jhash.h
jiffies.h time: Change jiffies_to_clock_t() argument type to unsigned long 2011-09-21 10:28:51 +02:00
journal-head.h
joystick.h
jump_label.h jump-label: initialize jump-label subsystem much earlier 2011-10-25 11:55:15 -07:00
jz4740-adc.h
kallsyms.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
kbd_diacr.h
kbd_kern.h
Kbuild
kbuild.h
kconfig.h
kd.h
kdb.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
kdebug.h
kdev_t.h
kernel_stat.h
kernel-page-flags.h
kernel.h module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree 2011-11-07 07:54:42 +10:30
kernelcapi.h
kexec.h Merge branch 'akpm' (Andrew's incoming) 2011-10-31 17:46:07 -07:00
key-type.h
key.h
keyboard.h
keyctl.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmod.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
kmsg_dump.h
kobj_map.h
kobject_ns.h
kobject.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
kprobes.h
kref.h
ks0108.h
ks8842.h
ksm.h
kthread.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
ktime.h
kvm_host.h KVM: Fix simultaneous NMIs 2011-09-25 19:52:59 +03:00
kvm_para.h
kvm_types.h
kvm.h Revert "KVM: PPC: Add support for explicit HIOR setting" 2011-11-17 16:30:25 +02:00
l2tp.h
lapb.h wan: make LAPB callbacks const 2011-09-16 19:20:20 -04:00
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds_pwm.h
leds-bd2802.h
leds-lp3944.h
leds-lp5521.h
leds-lp5523.h
leds-pca9532.h
leds-regulator.h
leds.h
lglock.h
lguest_launcher.h
lguest.h
libata.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
lis3lv02d.h lis3lv02d: make regulator API usage unconditional 2011-10-31 17:30:52 -07:00
list_bl.h
list_nulls.h
list_sort.h
list.h
llc.h
llist.h llist-return-whether-list-is-empty-before-adding-in-llist_add-fix 2011-10-31 17:30:57 -07:00
lockdep.h rcu: Restore checks for blocking in RCU read-side critical sections 2011-09-28 21:36:37 -07:00
log2.h
loop.h Merge branch 'for-3.2/drivers' of git://git.kernel.dk/linux-block 2011-11-04 17:22:14 -07:00
lp.h
lru_cache.h
lsm_audit.h
lzo.h
m48t86.h
magic.h minix: describe usage of different magic numbers 2011-11-02 16:06:59 -07:00
major.h
map_to_7segment.h
maple.h
marvell_phy.h
math64.h
matroxfb.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
mdio-gpio.h
mdio.h
media.h
memblock.h memblock: add memblock_start_of_DRAM() 2011-10-31 17:30:47 -07:00
memcontrol.h memcg: skip scanning active lists based on individual size 2011-11-02 16:07:00 -07:00
memory_hotplug.h
memory.h
mempolicy.h
mempool.h
memstick.h
meye.h
mg_disk.h
micrel_phy.h
migrate.h
mii.h mii: Remove references to DP83840 PHY in mii.h 2011-09-15 15:36:34 -04:00
minix_fs.h
miscdevice.h miscdevice.h: fix up implicit use of lists and types 2011-10-31 19:32:29 -04:00
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm_inline.h
mm_types.h mm: thp: tail page refcounting fix 2011-11-02 16:06:57 -07:00
mm.h thp: share get_huge_page_tail() 2011-11-02 16:06:58 -07:00
mman.h
mmdebug.h
mmiotrace.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
mmtimer.h
mmu_context.h
mmu_notifier.h
mmzone.h mm: vmscan: immediately reclaim end-of-LRU dirty pages when writeback completes 2011-10-31 17:30:47 -07:00
mnt_namespace.h
mod_devicetable.h
module.h module.h: relocate MODULE_PARM_DESC into moduleparam.h 2011-10-31 09:20:11 -04:00
moduleloader.h
moduleparam.h module.h: relocate MODULE_PARM_DESC into moduleparam.h 2011-10-31 09:20:11 -04:00
mount.h
mpage.h
mqueue.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mtio.h
mutex-debug.h
mutex.h
mv643xx_eth.h
mv643xx_i2c.h
mv643xx.h
mxm-wmi.h
n_r3964.h
namei.h readlinkat: ensure we return ENOENT for the empty pathname for normal lookups 2011-11-02 12:53:42 +01:00
nbd.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h
net_dropmon.h
net_tstamp.h net: validate HWTSTAMP ioctl parameters 2011-10-19 17:00:35 -04:00
net.h
netdevice.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h Merge git://github.com/herbertx/crypto 2011-11-01 09:24:41 -07:00
netpoll.h
netrom.h
nfc.h NFC: Add dev_up and dev_down control operations 2011-09-20 14:43:49 -04:00
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h nfsd4: implement new 4.1 open reclaim types 2011-10-19 11:52:12 -04:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h nfs: when attempting to open a directory, fall back on normal lookup (try #5) 2011-11-04 16:39:04 -04:00
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h NFS: Don't rely on PageError in nfs_readpage_release_partial 2011-10-19 13:58:38 -07:00
nfs_xdr.h nfs: when attempting to open a directory, fall back on normal lookup (try #5) 2011-11-04 16:39:04 -04:00
nfs.h
nfsacl.h
nilfs2_fs.h
nl80211.h nl80211: Add sta_flags to the station info 2011-10-14 14:48:23 -04:00
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
nwpserial.h
of_address.h
of_device.h
of_fdt.h
of_gpio.h
of_i2c.h
of_irq.h of/irq: introduce of_irq_init 2011-10-31 14:03:22 +01:00
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h of_platform.h: delete needless include <linux/module.h> 2011-10-31 19:32:27 -04:00
of_spi.h
of.h Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
omap3isp.h
omapfb.h
oom.h oom: fix race while temporarily setting current's oom_score_adj 2011-10-31 17:30:45 -07:00
opp.h PM / OPP: Fix build when CONFIG_PM_OPP is not set 2011-11-04 22:28:13 +01:00
oprofile.h
oxu210hp.h
padata.h
page_cgroup.h
page-debug-flags.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci_hotplug.h include: convert various register fcns to macros to avoid include chaining 2011-10-31 19:32:32 -04:00
pci_ids.h [libata] ahci: Add ASMedia ASM1061 support 2011-11-09 01:47:36 -05:00
pci_regs.h PCI: Add support for PASID capability 2011-10-14 09:05:35 -07:00
pci-acpi.h
pci-aspm.h
pci-ats.h PCI: Fix compile errors with PCI_ATS and !PCI_IOV 2011-10-31 10:23:57 -07:00
pci-dma.h
pci.h PCI: Fix compile errors with PCI_ATS and !PCI_IOV 2011-10-31 10:23:57 -07:00
pcieport_if.h
pda_power.h
percpu_counter.h
percpu-defs.h
percpu.h
perf_event.h perf, core: Introduce attrs to count in either host or guest mode 2011-10-06 13:00:28 +02:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy_fixed.h
phy.h net: hold sock reference while processing tx timestamps 2011-10-24 02:54:50 -04:00
pid_namespace.h
pid.h
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6 2011-10-29 07:28:36 -07:00
plist.h
pm_clock.h
pm_domain.h PM / Domains: Split device PM domain data into base and need_restore 2011-09-26 20:22:02 +02:00
pm_qos.h PM / QoS: Add function dev_pm_qos_read_value() (v3) 2011-10-04 21:54:26 +02:00
pm_runtime.h PM Sleep: Do not extend wakeup paths to devices with ignore_children set 2011-11-17 21:39:33 +01:00
pm_wakeup.h
pm.h PM: Update comments describing device power management callbacks 2011-11-28 22:14:55 +01:00
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-clock.h
posix-timers.h
power_supply.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
pps_kernel.h
pps-gpio.h pps: new client driver using GPIO 2011-11-02 16:07:02 -07:00
pps.h
prctl.h
preempt.h
prefetch.h
printk.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
prio_heap.h
prio_tree.h
proc_fs.h
profile.h
proportions.h
pstore.h pstore: pass allocated memory region back to caller 2011-11-17 12:58:07 -08:00
pti.h
ptp_classify.h ptp: fix L2 event message recognition 2011-09-29 00:32:03 -04:00
ptp_clock_kernel.h
ptp_clock.h
ptrace.h
pwm_backlight.h
pwm.h
pxa2xx_ssp.h
pxa168_eth.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaops.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
ramoops.h
random.h Merge branch 'x86-rdrand-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-28 05:29:07 -07:00
range.h
rar_register.h
ratelimit.h
rational.h
raw.h
rbtree.h
rculist_bl.h
rculist_nulls.h
rculist.h
rcupdate.h rcu: Move __rcu_read_unlock()'s barrier() within if-statement 2011-09-28 21:38:35 -07:00
rcutiny.h rcu: Make TINY_RCU also use softirq for RCU_BOOST=n 2011-09-28 21:38:20 -07:00
rcutree.h rcu: Abstract common code for RCU grace-period-wait primitives 2011-09-28 21:36:42 -07:00
rds.h
reboot.h
reciprocal_div.h
regmap.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
regset.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_fs.h
reiserfs_xattr.h
relay.h
res_counter.h
resource.h
resume-trace.h
rfkill-gpio.h net:rfkill: add a gpio setup function into GPIO rfkill 2011-10-03 15:19:19 -04:00
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio_drv.h
rio_ids.h RapidIO: add mport driver for Tsi721 bridge 2011-11-02 16:07:01 -07:00
rio_regs.h
rio.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
rotary_encoder.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
rwlock_api_smp.h
rwlock_types.h
rwlock.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sc26198.h
scatterlist.h
scc.h
sched.h writeback: remove vm_dirties and task->dirties 2011-11-17 20:49:06 +08:00
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux_netlink.h
selinux.h
sem.h include/linux/sem.h: make sysv_sem empty if SYSVIPC is disabled 2011-11-02 16:07:01 -07:00
semaphore.h
seq_file_net.h
seq_file.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
seqlock.h
serial167.h
serial_8250.h
serial_core.h serial: Support the EFR-register of XR1715x uarts. 2011-09-22 15:50:38 -07:00
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_reg.h serial: Support the EFR-register of XR1715x uarts. 2011-09-22 15:50:38 -07:00
serial_sci.h Merge branches 'sh/pm-runtime' and 'common/clkfwk' into sh-fixes-for-linus 2011-11-11 16:16:25 +09:00
serial.h RS485: fix inconsistencies in the meaning of some variables 2011-11-15 12:13:44 -08:00
serialP.h
serio.h include: convert various register fcns to macros to avoid include chaining 2011-10-31 19:32:32 -04:00
sfi_acpi.h
sfi.h
sh_clk.h sh: clkfwk: Kill off remaining debugfs cruft. 2011-11-11 16:11:41 +09:00
sh_dma.h
sh_eth.h net: sh_eth: move the asm/sh_eth.h to include/linux/ 2011-09-28 13:41:51 -04:00
sh_intc.h
sh_pfc.h ARM: mach-shmobile: move helper macro PORTCR to sh_pfc.h 2011-11-11 16:45:35 +09:00
sh_timer.h
shm.h
shmem_fs.h
shrinker.h vmscan: fix shrinker callback bug in fs/super.c 2011-10-31 17:30:49 -07:00
sht15.h
sigma.h
signal.h
signalfd.h
skbuff.h include: linux: skbuf.h: Fix parameter documentation 2011-11-01 00:55:48 -04:00
slab_def.h
slab.h
slob_def.h
slub_def.h slub: correct comments error for per cpu partial 2011-09-27 23:03:30 +03:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smsc911x.h
snmp.h tcp: Change possible SYN flooding messages 2011-09-15 14:49:43 -04:00
socket.h
sockios.h
som.h
sonet.h
sony-laptop.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
splice.h
srcu.h
stackprotector.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stmmac.h
stop_machine.h stop_machine.h: fix implicit use of smp.h for smp_processor_id 2011-10-31 19:32:28 -04:00
string_helpers.h
string.h lib/string.c: introduce memchr_inv() 2011-10-31 17:30:47 -07:00
stringify.h
sungem_phy.h
superhyway.h
suspend_ioctls.h
suspend.h PM / VT: Cleanup #if defined uglyness and fix compile error 2011-10-16 23:28:51 +02:00
svga.h
swab.h
swap.h mm: change isolate mode from #define to bitwise type 2011-10-31 17:30:44 -07:00
swapops.h
swiotlb.h
synclink.h
sys.h
syscalls.h Cross Memory Attach 2011-10-31 17:30:44 -07:00
syscore_ops.h
sysctl.h sysctl: add support for poll() 2011-11-02 16:07:02 -07:00
sysdev.h sysdev.h: dont include <linux/module.h> for no reason 2011-10-31 19:32:24 -04:00
sysfs.h sysfs: Implement support for tagged files in sysfs. 2011-10-19 19:24:14 -04:00
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
taskstats_kern.h
taskstats.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: report ECN_SEEN in tcp_info 2011-10-03 14:01:21 -04:00
telephony.h
termios.h
textsearch_fsm.h
textsearch.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
tfrc.h
thermal.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
timecompare.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc.h
topology.h sched: Allow SD_NODES_PER_DOMAIN to be overridden 2011-09-20 15:53:21 +10:00
toshiba.h
tpm_command.h
tpm.h
trace_clock.h tracing: Add a counter clock for those that do not trust clocks 2011-09-19 11:35:58 -04:00
trace_seq.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
tracehook.h
tracepoint.h
transport_class.h
trdevice.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-10-26 15:11:09 +02:00
typecheck.h
types.h rcu: Move rcu_head definition to types.h 2011-09-28 21:36:38 -07:00
u64_stats_sync.h
uaccess.h
ucb1400.h
udf_fs_i.h
udp.h
uinput.h Input: force feedback - potential integer wrap in input_ff_create() 2011-10-12 21:13:11 -07:00
uio_driver.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
uio.h
ultrasound.h
un.h
unistd.h
usb_usual.h
usb.h include: convert various register fcns to macros to avoid include chaining 2011-10-31 19:32:32 -04:00
usbdevice_fs.h
user_namespace.h
user-return-notifier.h
user.h
utime.h
uts.h
utsname.h sysctl: add support for poll() 2011-11-02 16:07:02 -07:00
uuid.h
uvcvideo.h
uwb.h uwb.h: fix implicit use of asm/page.h for PAGE_SIZE 2011-10-31 19:32:31 -04:00
v4l2-mediabus.h
v4l2-subdev.h
vermagic.h vermagic: delete unused include of <linux/module.h> 2011-10-31 19:32:23 -04:00
veth.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost.h
via_i2c.h
via-core.h
via-gpio.h
via.h
video_output.h
videodev2.h [media] v4l: Add AUTO option for the V4L2_CID_POWER_LINE_FREQUENCY control 2011-11-03 18:29:09 -02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h
virtio_config.h virtio-pci: make reset operation safer 2011-11-24 13:04:48 +10:30
virtio_console.h
virtio_ids.h
virtio_mmio.h virtio-mmio: Correct the name of the guest features selector 2011-11-24 13:04:47 +10:30
virtio_net.h
virtio_pci.h
virtio_ring.h virtio: modify vring_init and vring_size to take account of the layout containing *_event_idx 2011-11-02 11:40:59 +10:30
virtio_rng.h
virtio.h virtio.h: correct comment for struct virtio_driver 2011-11-02 11:40:59 +10:30
vlynq.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
vm_event_item.h
vmalloc.h xen: map foreign pages for shared rings by updating the PTEs directly 2011-11-16 12:13:08 -05:00
vmstat.h
vt_buffer.h
vt_kern.h
vt.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h writeback: Add a 'reason' to wb_writeback_work 2011-10-31 00:33:36 +08:00
x25.h
xattr.h evm: posix acls modify i_mode 2011-09-14 15:24:51 -04:00
xfrm.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h