kernel_optimize_test/include/linux
Linus Torvalds cc314eef01 Fix nasty ncpfs symlink handling bug.
This bug could cause oopses and page state corruption, because ncpfs
used the generic page-cache symlink handlign functions.  But those
functions only work if the page cache is guaranteed to be "stable", ie a
page that was installed when the symlink walk was started has to still
be installed in the page cache at the end of the walk.

We could have fixed ncpfs to not use the generic helper routines, but it
is in many ways much cleaner to instead improve on the symlink walking
helper routines so that they don't require that absolute stability.

We do this by allowing "follow_link()" to return a error-pointer as a
cookie, which is fed back to the cleanup "put_link()" routine.  This
also simplifies NFS symlink handling.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-19 18:02:56 -07:00
..
byteorder [PATCH] swabb.h warning fixes 2005-06-28 21:20:31 -07:00
dvb
hdlc
isdn
lockd
mmc
mtd [MTD] XIP cleanup 2005-07-07 16:50:16 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4 [NETFILTER]: Fix ip_conntrack_put() prototype. 2005-07-26 15:39:28 -07:00
netfilter_ipv6
nfsd [PATCH] nfsd4: check lock type against openmode. 2005-07-07 18:24:11 -07:00
raid [PATCH] md: make sure md bitmap updates are flushed when array is stopped. 2005-08-04 13:00:54 -07:00
sunrpc [PATCH] NFS: Ensure ACL xdr code doesn't overflow. 2005-08-16 08:52:11 -07:00
tc_act
tc_ematch [PKT_SCHED]: em_meta: Kill TCF_META_ID_{INDEV,SECURITY,TCVERDICT} 2005-07-22 14:43:52 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h /home/lenb/src/to-linus branch 'acpi-2.6.12' 2005-07-29 23:31:17 -04:00
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
affs_fs.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio_abi.h
aio.h
amifd.h
amifdreg.h
amigaffs.h
apm_bios.h
arcdevice.h
arcfb.h
ata.h
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h [SPARC64]: Add syscall auditing support. 2005-07-10 19:29:45 -07:00
auto_fs4.h
auto_fs.h
awe_voice.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h
bitmap.h
bitops.h
blkdev.h [PATCH] blk: fix tag shrinking (revive real_max_size) 2005-08-05 13:43:16 -07:00
blkpg.h
blockgroup_lock.h
bootmem.h
bpqether.h
buffer_head.h [PATCH] page_uptodate locking scalability 2005-07-07 18:23:45 -07:00
cache.h [SPARC64]: Add __read_mostly support. 2005-07-10 15:45:11 -07:00
capability.h
capi.h
cciss_ioctl.h [PATCH] cciss: pci domain info pass 2 2005-06-27 15:11:48 -07:00
cd1400.h
cdev.h
cdk.h
cdrom.h
chio.h
circ_buf.h
cobalt-nvram.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coda.h
coff.h
com20020.h
compat_ioctl.h [SPARC64/COMPAT]: Add some compat ioctl for ppdev 2005-07-04 13:23:45 -07:00
compat.h
compiler-gcc2.h
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
config.h
console_struct.h
console.h
consolemap.h
cpu.h
cpufreq.h [PATCH] pm: fix u32 vs. pm_message_t confusion in cpufreq 2005-07-07 18:23:43 -07:00
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h
crc32.h
crc32c.h
crc-ccitt.h
crypto.h [CRYPTO] Ensure cit_iv is aligned correctly 2005-07-06 13:53:29 -07:00
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dcookies.h [PATCH] include/linux/dcookies.h: dummy functions must be "static inline" 2005-08-01 21:37:59 -07:00
debugfs.h
delay.h
devfs_fs_kernel.h
devfs_fs.h
device-mapper.h
device.h [ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc... 2005-07-12 17:21:56 -04:00
devpts_fs.h
dio.h
dirent.h
divert.h
dm9000.h
dm-ioctl.h
dma-mapping.h
dmapool.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1286.h
dtlk.h
edd.h
eeprom.h
efi.h
efs_dir.h
efs_fs_i.h
efs_fs_sb.h
efs_fs.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf.h
elfcore.h
err.h
errno.h
errqueue.h
etherdevice.h [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
ethtool.h
eventpoll.h
ext2_fs_sb.h
ext2_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h [PATCH] ext3: fix options parsing 2005-07-12 16:01:01 -07:00
ext3_jbd.h
fadvise.h [PATCH] s390: fadvise hint values. 2005-07-13 11:25:24 -07:00
fb.h
fcdevice.h
fcntl.h
fd1772.h
fd.h
fddidevice.h [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
fdreg.h
file.h
filter.h
firmware.h
flat.h
font.h
fs_struct.h
fs.h Fix nasty ncpfs symlink handling bug. 2005-08-19 18:02:56 -07:00
fsl_devices.h
fsnotify.h [PATCH] inotify: add MOVE_SELF event 2005-08-15 09:50:31 -07:00
ftape-header-segment.h
ftape-vendors.h
ftape.h [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_serial.h
genhd.h
gfp.h [PATCH] propagate __nocast annotations 2005-07-07 18:23:46 -07:00
hardirq.h [PATCH] hardirq uses preempt 2005-07-12 16:01:03 -07:00
harrier_defs.h
hash.h
hayesesp.h
hdlc.h [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hiddev.h
highmem.h
highuid.h
hippidevice.h
hpet.h
hpfs_fs.h
hugetlb.h
hwmon-sysfs.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-ite.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-algo-sibyte.h
i2c-dev.h [PATCH] headers: include linux/compiler.h for __user 2005-06-28 21:20:32 -07:00
i2c-id.h
i2c-sensor.h
i2c-vid.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h [PATCH] Fix ide-disk.c oops caused by hwif == NULL 2005-08-09 20:21:31 -07:00
idr.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
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_ltalk.h
if_packet.h
if_plip.h
if_ppp.h
if_pppox.h
if_shaper.h [SHAPER]: Switch to spinlocks. 2005-07-05 15:03:46 -07:00
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
if_wanpipe_common.h
if_wanpipe.h
if.h
igmp.h [IPV4]: multicast API "join" issues 2005-07-08 17:38:07 -07:00
in6.h [IPV6]: remove more unused IPV6_AUTHHDR things. 2005-06-28 15:46:24 -07:00
in_route.h
in.h
inet.h
inetdevice.h
init_task.h
init.h
initrd.h
inotify.h [PATCH] inotify: add MOVE_SELF event 2005-08-15 09:50:31 -07:00
input.h Input: make name, phys and uniq be 'const char *' because once 2005-06-30 00:50:38 -05:00
interrupt.h
ioc4.h
ioctl32.h
ioctl.h
ioport.h
ioprio.h [PATCH] move ioprio syscalls into syscalls.h 2005-07-07 18:23:37 -07:00
ip6_tunnel.h
ip_mp_alg.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irda.h
irq_cpustat.h
irq.h [PATCH] irqpoll 2005-06-28 21:20:35 -07:00
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ite_gpio.h
ixjuser.h
jbd.h
jffs2_fs_i.h
jffs2_fs_sb.h
jffs2.h
jffs.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kd.h
kdev_t.h
kernel_stat.h
kernel.h
kernelcapi.h
kexec.h
key-ui.h
key.h
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject_uevent.h
kobject.h
kprobes.h [PATCH] kprobes: fix namespace problem and sparc64 build 2005-07-05 19:19:00 -07:00
kref.h
kthread.h
lapb.h
lcd.h
libata.h
libps2.h
limits.h
linkage.h
linux_logo.h
list.h
llc.h
loop.h
lp.h
major.h
matroxfb.h
mbcache.h [PATCH] mbcache: Remove unused mb_cache_shrink parameter 2005-07-27 16:26:07 -07:00
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mempolicy.h
mempool.h
meye.h
mii.h
minix_fs.h
miscdevice.h
mm_inline.h
mm.h [PATCH] fix get_user_pages bug 2005-08-03 09:12:05 -07:00
mman.h
mmtimer.h
mmzone.h
mod_devicetable.h [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
module.h
moduleloader.h
moduleparam.h
mount.h [PATCH] name_to_dev_t warning fix 2005-07-12 16:00:58 -07:00
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
mtio.h
mv643xx.h
n_r3964.h
namei.h
namespace.h [PATCH] namespace.c: fix race in mark_mounts_for_expiry() 2005-07-07 18:23:51 -07:00
nbd.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
net.h
netdevice.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_logging.h
netfilter.h
netlink.h [NETLINK]: Allocate and kill some netlink numbers. 2005-08-08 13:48:02 -07:00
netpoll.h [NETPOLL]: fix initialization/NAPI race 2005-08-11 19:27:43 -07:00
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi 2005-08-18 12:53:57 -07:00
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfs.h
nfsacl.h
nfsd_idmap.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nubus.h
numa.h
nvram.h
openprom_fs.h
oprofile.h
page-flags.h
pagemap.h
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
patchkey.h
pci_ids.h [PATCH] serverworks: add support for new southbridge IDE 2005-08-18 22:30:35 +02:00
pci-acpi.h
pci.h [PATCH] PCI: 6700/6702PXH quirk 2005-08-16 21:06:24 -07:00
pcieport_if.h
percpu_counter.h
percpu.h
personality.h
pfkeyv2.h
pg.h
phonedev.h
pid.h
pipe_fs_i.h
pkt_cls.h [NETLINK]: Missing padding fields in dumped structures 2005-06-28 12:56:45 -07:00
pkt_sched.h [NETLINK]: Missing padding fields in dumped structures 2005-06-28 12:56:45 -07:00
pktcdvd.h
platform.h
pm.h [ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc... 2005-07-12 17:21:56 -04:00
pmu.h
pnp.h
pnpbios.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-timers.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h
profile.h
ps2esdi.h
ptrace.h
qic117.h
qnx4_fs.h
qnxtypes.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot_fixups.h
reboot.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
reiserfs_acl.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
reiserfs_fs_i.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
reiserfs_fs_sb.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
reiserfs_fs.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
reiserfs_xattr.h reiserfs: run scripts/Lindent on reiserfs code 2005-07-12 20:21:28 -07:00
resource.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h
rtnetlink.h [NETLINK]: Missing padding fields in dumped structures 2005-06-28 12:56:45 -07:00
rwsem-spinlock.h
rwsem.h
sc26198.h
scatterlist.h
scc.h
sched.h [PATCH] inotify 2005-07-12 20:38:38 -07:00
sctp.h
scx200_gpio.h
scx200.h
sdla_asy.h
sdla_chdlc.h
sdla_fr.h
sdla_ppp.h
sdla_x25.h
sdla.h
sdladrv.h
sdlapci.h
sdlasfm.h
seccomp.h [PATCH] seccomp: tsc disable 2005-06-27 15:11:44 -07:00
securebits.h
security.h
selection.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h
serial_core.h [PATCH] serial_core whitespace fix 2005-07-27 16:26:09 -07:00
serial_reg.h
serial.h [PATCH] Serial: Move deprecation of register_serial forward to September 2005-07-16 09:30:53 +01:00
serialP.h [PATCH] Serial: Remove linux/version.h 2005-07-16 09:59:00 +01:00
serio.h
shm.h
shmem_fs.h
signal.h
skbuff.h [NET]: Make skb->protocol __be16 2005-08-11 16:05:50 -07:00
slab.h [PATCH] Really __nocast-annotate kmalloc_node() 2005-07-27 16:25:47 -07:00
smb_fs_i.h
smb_fs_sb.h
smb_fs.h
smb_mount.h
smb.h
smbno.h
smp_lock.h
smp.h Revert broken "statement with no effect" warning fix 2005-07-28 10:34:47 -07:00
snmp.h
socket.h
sockios.h
som.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
stallion.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h [PATCH] propagate __nocast annotations 2005-07-07 18:23:46 -07:00
stringify.h
superhyway.h
suspend.h
swap.h [PATCH] remove linux/pagemap.h from linux/swap.h 2005-08-07 10:00:38 -07:00
swapops.h
synclink.h
sys.h
syscalls.h [PATCH] move ioprio syscalls into syscalls.h 2005-07-07 18:23:37 -07:00
sysctl.h [PATCH] s390: spin lock retry 2005-07-27 16:26:04 -07:00
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
tcp_diag.h
tcp.h [TCP]: Move to new TSO segmenting scheme. 2005-07-05 15:24:38 -07:00
telephony.h
termios.h
textsearch_fsm.h
textsearch.h
thread_info.h
threads.h
ticable.h
time.h
timer.h
times.h
timex.h
tiocl.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h
types.h
udf_fs_i.h
udf_fs_sb.h
udf_fs.h
udp.h
ufs_fs_i.h
ufs_fs_sb.h
ufs_fs.h
uinput.h Input: uinput - use completions instead of events and manual 2005-06-30 00:48:14 -05:00
uio.h
ultrasound.h
umem.h
un.h
unistd.h
usb_cdc.h [PATCH] USB: another cdc descriptor 2005-07-12 11:52:57 -07:00
usb_ch9.h [PATCH] headers: include linux/types.h for usb_ch9.h 2005-06-28 21:20:32 -07:00
usb_gadget.h [PATCH] USB: Fix kmalloc's flags type in USB 2005-07-12 11:52:56 -07:00
usb_gadgetfs.h
usb_input.h Input: introduce usb_to_input_id() to uniformly produce 2005-06-30 00:49:08 -05:00
usb_isp116x.h
usb_otg.h
usb_sl811.h
usb.h [PATCH] USB: Fix kmalloc's flags type in USB 2005-07-12 11:52:56 -07:00
usbdevice_fs.h
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
videodev2.h [PATCH] V4L: API new webcam formats included 2005-06-28 21:20:36 -07:00
videodev.h
videotext.h
vmalloc.h
vt_buffer.h
vt_kern.h
vt.h
wait.h
wanpipe.h
wanrouter.h [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
watchdog.h [PATCH] consolidate CONFIG_WATCHDOG_NOWAYOUT handling 2005-07-27 16:25:54 -07:00
wavefront.h
wireless.h
workqueue.h
writeback.h [PATCH] rename wakeup_bdflush to wakeup_pdflush 2005-06-28 21:20:31 -07:00
x25.h
xattr.h
xfrm.h
yam.h
zconf.h
zftape.h
zlib.h Add fakey 'deflateBound()' function to the in-kernel zlib routines 2005-08-06 09:39:57 -07:00
zorro_ids.h
zorro.h
zutil.h