kernel-hacking-2024-linux-s.../include/linux
Neil Horman 7b363e4400 netpoll: fix race on poll_list resulting in garbage entry
A few months back a race was discused between the netpoll napi service
path, and the fast path through net_rx_action:
http://kerneltrap.org/mailarchive/linux-netdev/2007/10/16/345470

A patch was submitted for that bug, but I think we missed a case.

Consider the following scenario:

INITIAL STATE
CPU0 has one napi_struct A on its poll_list
CPU1 is calling netpoll_send_skb and needs to call poll_napi on the same
napi_struct A that CPU0 has on its list



CPU0						CPU1
net_rx_action					poll_napi
!list_empty (returns true)			locks poll_lock for A
						 poll_one_napi
						  napi->poll
						   netif_rx_complete
						    __napi_complete
						    (removes A from poll_list)
list_entry(list->next)


In the above scenario, net_rx_action assumes that the per-cpu poll_list is
exclusive to that cpu.  netpoll of course violates that, and because the netpoll
path can dequeue from the poll list, its possible for CPU0 to detect a non-empty
list at the top of the while loop in net_rx_action, but have it become empty by
the time it calls list_entry.  Since the poll_list isn't surrounded by any other
structure, the returned data from that list_entry call in this situation is
garbage, and any number of crashes can result based on what exactly that garbage
is.

Given that its not fasible for performance reasons to place exclusive locks
arround each cpus poll list to provide that mutal exclusion, I think the best
solution is modify the netpoll path in such a way that we continue to guarantee
that the poll_list for a cpu is in fact exclusive to that cpu.  To do this I've
implemented the patch below.  It adds an additional bit to the state field in
the napi_struct.  When executing napi->poll from the netpoll_path, this bit will
be set. When a driver calls netif_rx_complete, if that bit is set, it will not
remove the napi_struct from the poll_list.  That work will be saved for the next
iteration of net_rx_action.

I've tested this and it seems to work well.  About the biggest drawback I can
see to it is the fact that it might result in an extra loop through
net_rx_action in the event that the device is actually contended for (i.e. the
netpoll path actually preforms all the needed work no the device, and the call
to net_rx_action winds up doing nothing, except removing the napi_struct from
the poll_list.  However I think this is probably a small price to pay, given
that the alternative is a crash.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-12-09 23:22:26 -08:00
..
amba
byteorder byteorder: provide swabb.h generically in asm/byteorder.h 2008-10-20 08:52:40 -07:00
can can: Fix CAN_(EFF|RTR)_FLAG handling in can_filter 2008-12-03 15:52:35 -08:00
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
mfd rtc: rtc-wm8350: add support for WM8350 RTC 2008-11-12 17:17:18 -08:00
mlx4 mlx4_core: Save/restore default port IB capability mask 2008-11-28 21:29:46 -08:00
mmc mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-08 21:37:46 +01:00
mtd [MTD] [NOR] Fix cfi_send_gen_cmd handling of x16 devices in x8 mode (v4) 2008-11-05 14:40:25 +01:00
netfilter netfilter: xtables: add missing const qualifier to xt_tgchk_param 2008-11-24 16:06:17 -08:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
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 ssb: Fix DMA-API compilation for non-PCI systems 2008-11-10 13:50:19 -08:00
sunrpc Merge branch 'next' 2008-10-15 15:54:56 -04:00
tc_act
tc_ematch
unaligned
usb Merge branch 'master' into for-upstream 2008-10-20 16:07:19 +01: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 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
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 Allow recursion in binfmt_script and binfmt_misc 2008-10-16 11:21:38 -07:00
bio.h bio: define __BIOVEC_PHYS_MERGEABLE 2008-11-06 08:41:55 +01: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
c2port.h Add c2 port support 2008-11-12 17:17:18 -08:00
cache.h
can.h
capability.h
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
clocksource.h
cm4000_cs.h
cn_proc.h
cnt32_to_63.h clarify usage expectations for cnt32_to_63() 2008-11-09 11:17:33 -08:00
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 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
cpufreq.h
cpuidle.h
cpumask.h cpumask: introduce new API, without changing anything, v3 2008-11-09 21:09:54 +01:00
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 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
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
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
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
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
fddidevice.h
fdreg.h
fdtable.h
fib_rules.h
fiemap.h
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 fs: remove prepare_write/commit_write 2008-10-30 11:38:45 -07: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 block: make add_partition() return pointer to hd_struct 2008-11-18 15:08:56 +01:00
getcpu.h
gfp.h
gfs2_ondisk.h
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 Allow architectures to override copy_user_highpage() 2008-11-27 23:39:48 +00:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h hrtimer: clean up unused callback modes 2008-11-12 09:54:40 +01: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 amd74xx: workaround unreliable AltStatus register for nVidia controllers 2008-12-02 20:40:03 +01:00
idr.h lib/idr.c: fix rcu related race with idr_find 2008-12-01 19:55:25 -08:00
ieee80211.h
if.h
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
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 net: fix packet socket delivery in rx irq handler 2008-11-04 14:49:57 -08:00
igmp.h net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
ihex.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h adjust init section definitions 2008-10-29 22:02:09 +01:00
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h Fix inotify watch removal/umount races 2008-11-15 12:26:44 -08:00
input-polldev.h
input.h HID: map macbook keys for "Expose" and "Dashboard" 2008-11-13 10:31:36 +01:00
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 irq.h: fix missing/extra kernel-doc 2008-11-23 10:52:45 +01: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
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 Add 'pr_fmt()' format modifier to pr_xyz macros. 2008-11-15 11:43:37 -08: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-ui.h
key.h add key_revoke() dummy for KEYS=n 2008-10-12 11:44:37 -07:00
keyboard.h
keyctl.h
kfifo.h
kgdb.h
klist.h
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
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: blacklist Seagate drives which time out FLUSH_CACHE when used with NCQ 2008-12-01 13:49: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 lockdep: include/linux/lockdep.h - fix warning in net/bluetooth/af_bluetooth.c 2008-11-13 23:19:10 -08:00
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
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 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 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 fat: Cleanup FAT attribute stuff 2008-11-06 15:41:21 -08:00
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
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 reintroduce accept4 2008-11-19 18:49:57 -08:00
netdevice.h netpoll: fix race on poll_list resulting in garbage entry 2008-12-09 23:22:26 -08:00
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
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_idmap.h
nfs_iostat.h
nfs_mount.h
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
nls.h
nmi.h
node.h
nodemask.h
notifier.h
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 meminit section warnings 2008-11-30 10:03:35 -08: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: annotate return value of pci_ioremap_bar with __iomem 2008-11-03 14:31:18 -08: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
percpu_counter.h
personality.h
pfkeyv2.h
pfn.h
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
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
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
posix-timers.h
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 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
random.h
ratelimit.h remove ratelimt() 2008-11-12 17:17:17 -08:00
raw.h
rbtree.h
rcuclassic.h
rculist.h
rcupdate.h
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
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: buffer record on/off switch 2008-11-11 15:02:04 -05: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
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h epoll: introduce resource usage limits 2008-12-01 19:55:24 -08:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h nfsd: fix vm overcommit crash fix #2 2008-12-02 15:50:40 -08: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: sh-sci: fix cannot work SH7723 SCIFA 2008-11-12 12:29:56 +09: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
slab.h slab: document SLAB_DESTROY_BY_RCU 2008-11-13 20:49:02 +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 smc911x: Add IRQ polarity configuration 2008-10-22 07:00:38 -04:00
smp.h cpumask: introduce new API, without changing anything 2008-11-06 09:05:33 +01:00
smp_lock.h
snmp.h
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
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
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 reintroduce accept4 2008-11-19 18:49:57 -08:00
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
telephony.h telephony: trivial: fix up email address 2008-11-11 09:30:23 -08: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
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 Add round_jiffies_up and related routines 2008-11-06 08:42:48 +01:00
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h sched: fine-tune SD_SIBLING_INIT 2008-11-07 16:09:23 +01:00
toshiba.h
tracehook.h
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: 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
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 (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
wm97xx.h
wm97xx_batt.h
workqueue.h cpumask: introduce new API, without changing anything 2008-11-06 09:05:33 +01: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
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h