kernel_optimize_test/include/linux
Herbert Xu 3305b80c21 [IP]: Simplify and consolidate MSG_PEEK error handling
When a packet is obtained from skb_recv_datagram with MSG_PEEK enabled
it is left on the socket receive queue.  This means that when we detect
a checksum error we have to be careful when trying to free the packet
as someone could have dequeued it in the time being.

Currently this delicate logic is duplicated three times between UDPv4,
UDPv6 and RAWv6.  This patch moves them into a one place and simplifies
the code somewhat.

This is based on a suggestion by Eric Dumazet.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-03 13:10:41 -08:00
..
byteorder
dvb [PATCH] V4L/DVB: (3086c) Whitespaces cleanups part 4 2005-12-12 08:57:44 -08:00
hdlc
isdn
lockd
mmc [MMC] Fix protocol errors 2005-11-28 21:00:29 +00:00
mtd [PATCH] mtd onenand driver: reduce stack usage 2005-12-18 16:28:24 -08:00
netfilter [NETFILTER] nfnetlink: unconditionally require CAP_NET_ADMIN 2005-11-14 15:24:59 -08:00
netfilter_arp
netfilter_bridge
netfilter_ipv4 [NETFILTER]: Remove ARRAY_SIZE duplicate 2005-11-20 21:11:31 -08:00
netfilter_ipv6
nfsd
raid
sunrpc
tc_act
tc_ematch
8250_pci.h
a.out.h
ac97_codec.h
acct.h [PATCH] acct.h needs jiffies.h 2005-11-13 18:14:17 -08:00
acpi.h
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 [PATCH] aio: don't ref kioctx after decref in put_ioctx 2005-11-13 18:14:16 -08:00
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 [ATM]: deregistration removes device from atm_devs list immediately 2005-11-29 16:16:41 -08:00
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
auto_fs4.h
auto_fs.h
auxvec.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
bit_spinlock.h
bitmap.h
bitops.h [PATCH] x86-64/i386: Intel HT, Multi core detection fixes 2005-11-14 19:55:16 -08:00
blkdev.h [BLOCK] Implement elv_drain_elevator for improved switch error detection 2005-11-12 10:56:06 +01:00
blkpg.h
blockgroup_lock.h
bootmem.h
bpqether.h
buffer_head.h
cache.h [IA64] Add __read_mostly support for IA64 2005-12-16 10:52:46 -08:00
capability.h
capi.h
cciss_ioctl.h [PATCH 1/3] cciss: bug fix for hpacucli 2005-11-18 22:00:17 +01:00
cd1400.h
cdev.h
cdk.h
cdrom.h
chio.h
circ_buf.h
cm4000_cs.h [PATCH] New Omnikey Cardman 4000 driver 2005-11-13 18:14:10 -08:00
cn_proc.h [PATCH] Add timestamp field to process events 2005-12-12 08:57:42 -08:00
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 [DVB]: Add compat ioctl handling. 2005-11-16 00:52:57 -08: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
connector.h
console_struct.h
console.h
consolemap.h
cpu.h [PATCH] clean up lock_cpu_hotplug() in cpufreq 2005-11-28 14:42:23 -08:00
cpufreq.h
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crypto.h
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dccp.h
dcookies.h
debugfs.h
delay.h
devfs_fs_kernel.h
devfs_fs.h
device-mapper.h
device.h
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
ds1742rtc.h Add definitions for the Dallas DS1742 RTC / non-volatile memory. 2005-11-17 16:23:43 +00:00
ds17287rtc.h Add definitions for the Dallas DS17287 RTC. 2005-11-17 16:23:42 +00:00
dtlk.h
edd.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
ethtool.h
eventpoll.h
ext2_fs_sb.h
ext2_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h
ext3_jbd.h
fadvise.h
fb.h [PATCH] fbdev: Fix incorrect unaligned access in little-endian machines 2005-12-12 22:31:17 -08:00
fcdevice.h
fcntl.h
fd1772.h
fd.h
fddidevice.h
fdreg.h
file.h [PATCH] reorder struct files_struct 2005-11-13 18:14:10 -08:00
filter.h
firmware.h
flat.h
font.h Revert "[PATCH] fbcon: Add rl (Roman Large) font" 2005-11-12 10:14:02 -08:00
fs_enet_pd.h
fs_struct.h
fs.h
fsl_devices.h [PATCH] Update email address for Kumar 2005-11-13 18:14:10 -08:00
fsnotify.h
ftape-header-segment.h
ftape-vendors.h
ftape.h
fuse.h
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_serial.h
genetlink.h
genhd.h [BLOCK] Document the READ/WRITE splitup of the disk stats 2005-11-12 10:55:21 +01:00
gfp.h Fix up GFP_ZONEMASK for GFP_DMA32 usage 2005-11-22 19:39:30 -08:00
hardirq.h [PATCH] m68k: thread_info header cleanup 2005-11-13 18:14:13 -08:00
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h [PATCH] ide: remove dead code from flagged_taskfile() 2005-11-19 22:17:55 +01:00
hdsmart.h
hiddev.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h
hpfs_fs.h
hugetlb.h [PATCH] mm: ZAP_BLOCK causes redundant work 2005-11-13 18:14:12 -08:00
hwmon-sysfs.h
hwmon-vid.h
hwmon.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
i2c-id.h [PATCH] V4L/DVB: (3151) I2C ID renamed to I2C_DRIVERID_INFRARED 2005-12-12 08:57:45 -08:00
i2c-isa.h
i2c-pxa.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h [PATCH] ide: cleanup ide_driver_t 2005-12-15 02:20:15 +01: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
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
in6.h
in_route.h
in.h
inet_diag.h
inet.h
inetdevice.h
init_task.h [PATCH] aio: remove kioctx from mm_struct 2005-11-13 18:14:16 -08:00
init.h
initrd.h
inotify.h [PATCH] inotify: add two inotify_add_watch flags 2005-12-12 08:57:43 -08:00
input.h
interrupt.h [PATCH] m68k: thread_info header cleanup 2005-11-13 18:14:13 -08:00
ioc4.h
ioctl32.h
ioctl.h
ioport.h
ioprio.h
ip6_tunnel.h
ip_mp_alg.h
ip.h [IPV6]: Introduce inet6_rsk() 2006-01-03 13:10:37 -08:00
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h [IPV6]: Flag RTF_ANYCAST for anycast routes. 2005-12-21 22:56:42 +09:00
ipv6.h [IPV6]: Introduce inet6_rsk() 2006-01-03 13:10:37 -08:00
ipx.h
irda.h
irq_cpustat.h
irq.h [PATCH] include/linux/irq.h: #include <linux/smp.h> 2005-12-21 14:45:25 -08: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 compat-ioctl.c: fix compile with no CONFIG_JBD 2005-11-22 21:58:37 -08:00
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: increment kprobe missed count for multiprobes 2005-12-12 08:57:45 -08:00
kref.h
kthread.h
lapb.h
lcd.h
libata.h [libata] mark certain hardware (or drivers) with a no-atapi flag 2005-12-13 02:29:45 -05:00
libps2.h
limits.h
linkage.h
linux_logo.h
list.h [PATCH] add hlist_replace_rcu() 2005-12-12 08:57:43 -08:00
llc.h
loop.h
lp.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
memory_hotplug.h
memory.h [PATCH] memory_sysdev_class is static 2005-11-28 14:42:23 -08:00
mempolicy.h
mempool.h
meye.h
mii.h
minix_fs.h
miscdevice.h
mm_inline.h
mm.h Make sure we copy pages inserted with "vm_insert_page()" on fork 2005-12-16 10:21:23 -08:00
mman.h
mmtimer.h
mmzone.h Fix up GFP_ZONEMASK for GFP_DMA32 usage 2005-11-22 19:39:30 -08:00
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
mtio.h
mv643xx.h
n_r3964.h [PATCH] n_r3964: fixed usage of HZ; removed bad include 2005-12-24 15:37:00 -08:00
namei.h
namespace.h
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
netpoll.h
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 NFS: Fix another O_DIRECT race 2005-12-19 23:12:09 -05: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 [PATCH] unpaged: unifdefed PageCompound 2005-11-22 09:13:42 -08:00
pagemap.h [PATCH] mm: gfp_noreclaim cleanup 2005-11-13 18:14:12 -08:00
pagevec.h
param.h
parport_pc.h [PATCH] broken cast in parport_pc 2005-12-12 08:57:45 -08:00
parport.h
parser.h
patchkey.h
pci_ids.h [PATCH] via82cxxx IDE: Add VT8251 ISA bridge 2005-12-15 02:11:55 +01:00
pci_regs.h
pci-acpi.h
pci.h
pcieport_if.h
percpu_counter.h
percpu.h [PATCH] Shut up per_cpu_ptr() on UP 2005-11-13 18:14:15 -08:00
personality.h
pfkeyv2.h [LSM-IPSec]: Security association restriction. 2006-01-03 13:10:24 -08:00
pg.h
phonedev.h
phy.h
pid.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
platform.h
pm_legacy.h [PATCH] move pm_register/etc. to CONFIG_PM_LEGACY, pm_legacy.h 2005-11-13 18:14:10 -08:00
pm.h [PATCH] move pm_register/etc. to CONFIG_PM_LEGACY, pm_legacy.h 2005-11-13 18:14:10 -08: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 [PATCH] fix race with preempt_enable() 2005-12-22 09:17:39 -08:00
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
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h [PATCH] add rcu_barrier() synchronization point 2005-12-12 08:57:42 -08:00
rcuref.h
reboot_fixups.h
reboot.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_fs.h
reiserfs_xattr.h
relayfs_fs.h [PATCH] relayfs: remove warning printk() in relay_switch_subbuf() 2005-12-20 17:33:22 -08:00
resource.h
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h [PATCH] temporarily disable swap token on memory pressure 2005-11-28 14:42:25 -08:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h
rtnetlink.h [RTNETLINK]: Fix RTNLGRP definitions in rtnetlink.h 2005-12-19 13:54:44 -08:00
rwsem-spinlock.h
rwsem.h
sc26198.h
scatterlist.h
scc.h
sched.h [PATCH] clean up lock_cpu_hotplug() in cpufreq 2005-11-28 14:42:23 -08: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
securebits.h
security.h [LSM-IPSec]: Security association restriction. 2006-01-03 13:10:24 -08:00
selection.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h
serial_core.h [ARM] 3181/1: add PORT_ identifier for Hilscher netx uart 2005-11-28 18:09:44 +00:00
serial_ip3106.h
serial_reg.h
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
skbuff.h [IP]: Simplify and consolidate MSG_PEEK error handling 2006-01-03 13:10:41 -08:00
slab.h
smb_fs_i.h
smb_fs_sb.h
smb_fs.h
smb_mount.h
smb.h
smbno.h
smp_lock.h [PATCH] m68k: thread_info header cleanup 2005-11-13 18:14:13 -08:00
smp.h Revert "[NET]: Shut up warnings in net/core/flow.c" 2005-11-23 08:44:05 -08:00
snmp.h
socket.h
sockios.h
som.h
sonet.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
stallion.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h
swap.h [PATCH] temporarily disable swap token on memory pressure 2005-11-28 14:42:25 -08:00
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h [IPV4]: Safer reassembly 2006-01-03 13:10:31 -08:00
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
tcp.h [ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops 2006-01-03 13:10:38 -08:00
telephony.h
termios.h
textsearch_fsm.h
textsearch.h
tfrc.h
thread_info.h [PATCH] m68k: convert thread flags to use bit fields 2005-11-13 18:14:14 -08:00
threads.h
ticable.h
time.h [PATCH] Add getnstimestamp function 2005-12-12 08:57:42 -08:00
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 - add UI_SET_SWBIT ioctl 2005-11-20 00:51:33 -05:00
uio.h
ultrasound.h
umem.h
un.h
unistd.h
usb_cdc.h
usb_ch9.h
usb_gadget.h
usb_gadgetfs.h
usb_input.h
usb_isp116x.h
usb_otg.h
usb_sl811.h
usb.h [PATCH] USB: kernel-doc for linux/usb.h 2005-11-23 23:04:28 -08: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: (943) added secam l video standard 2005-11-13 18:14:18 -08:00
videodev.h
videotext.h
vmalloc.h
vt_buffer.h
vt_kern.h
vt.h
wait.h
wanpipe.h
wanrouter.h
watchdog.h
wavefront.h
wireless.h
workqueue.h
writeback.h
x25.h
x1205.h
xattr.h
xfrm.h [LSM-IPSec]: Security association restriction. 2006-01-03 13:10:24 -08:00
yam.h
zconf.h
zftape.h
zlib.h
zorro_ids.h
zorro.h
zutil.h