kernel-ark/include/linux
Harald Welte 46113830a1 [PATCH] Fix signal sending in usbdevio on async URB completion
If a process issues an URB from userspace and (starts to) terminate
before the URB comes back, we run into the issue described above.  This
is because the urb saves a pointer to "current" when it is posted to the
device, but there's no guarantee that this pointer is still valid
afterwards.

In fact, there are three separate issues:

1) the pointer to "current" can become invalid, since the task could be
   completely gone when the URB completion comes back from the device.

2) Even if the saved task pointer is still pointing to a valid task_struct,
   task_struct->sighand could have gone meanwhile.

3) Even if the process is perfectly fine, permissions may have changed,
   and we can no longer send it a signal.

So what we do instead, is to save the PID and uid's of the process, and
introduce a new kill_proc_info_as_uid() function.

Signed-off-by: Harald Welte <laforge@gnumonks.org>
[ Fixed up types and added symbol exports ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-10 16:16:33 -07:00
..
byteorder [BYTEORDER]: Document alignment and byteorder macros 2005-09-19 19:57:36 -07:00
dvb
hdlc
isdn
lockd
mmc
mtd
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4 [NETFILTER]: Fix invalid module autoloading by splitting iptable_nat 2005-09-26 15:25:11 -07:00
netfilter_ipv6 [NETFILTER] ip6tables: remove duplicate code 2005-09-19 15:34:40 -07:00
nfsd [PATCH] nfsd4: move replay_owner 2005-09-13 08:22:31 -07:00
raid [PATCH] md: add write-intent-bitmap support to raid5 2005-09-09 16:39:12 -07:00
sunrpc
tc_act
tc_ematch [INET]: speedup inet (tcp/dccp) lookups 2005-10-03 14:13:38 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
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: remove unlocked task_list test and resulting race 2005-09-30 12:41:17 -07: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 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07: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 [PATCH] bfs endianness annotations 2005-10-04 13:22:01 -07:00
binfmts.h
bio.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
bit_spinlock.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
bitmap.h
bitops.h
blkdev.h [PATCH] include/linux/blkdev.h: "extern inline" -> "static inline" 2005-09-10 10:06:34 -07:00
blkpg.h
blockgroup_lock.h
bootmem.h
bpqether.h
buffer_head.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
cache.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
chio.h [PATCH] __user annotations (scsi/ch) 2005-09-10 10:16:27 -07:00
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
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 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
console_struct.h
console.h
consolemap.h
cpu.h
cpufreq.h
cpumask.h
cpuset.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h
crc16.h [PATCH] crc16: remove w1 specific comments. 2005-09-12 08:48:08 -07:00
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 [DCCP]: Introduce CCID getsockopt for the CCIDs 2005-09-18 00:19:32 -07:00
dcookies.h
debugfs.h
delay.h
devfs_fs_kernel.h
devfs_fs.h
device-mapper.h
device.h [PATCH] driver core: add helper device_is_registered() 2005-09-22 07:58:24 -07:00
devpts_fs.h
dio.h
dirent.h
divert.h
dm9000.h
dm-ioctl.h
dma-mapping.h
dmapool.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
dmi.h [PATCH] x86-64: Make dmi_find_device for !DMI case inline 2005-09-12 10:50:58 -07:00
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
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] fbcon: constify font data 2005-09-13 08:22:32 -07:00
fcdevice.h
fcntl.h
fd1772.h
fd.h
fddidevice.h
fdreg.h
file.h
filter.h
firmware.h
flat.h
font.h [PATCH] fbcon: constify font data 2005-09-13 08:22:32 -07:00
fs_struct.h
fs.h [PATCH] mm/filemap.c: make two functions static 2005-09-10 10:06:25 -07:00
fsl_devices.h
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
genhd.h
gfp.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
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
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
i2c-isa.h
i2c-pxa.h
i2c.h [PATCH] i2c: kill an unused i2c_adapter struct member 2005-09-17 11:50:02 -07:00
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
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 [NET]: Fix GCC4 compile error: sysctl in linux/if_ether.h 2005-09-27 15:59:43 -07:00
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 [8021Q]: Add endian annotations. 2005-09-19 15:41:28 -07:00
if_wanpipe_common.h
if_wanpipe.h
if.h
igmp.h
in6.h [IPV6]: Note values allocated for ip6_tables. 2005-09-10 11:32:45 +09:00
in_route.h
in.h
inet_diag.h
inet.h
inetdevice.h [IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl 2005-10-03 14:35:55 -07:00
init_task.h
init.h
initrd.h
inotify.h
input.h Manual merge with Linus 2005-09-09 20:14:47 -05:00
interrupt.h [PATCH] x86-64: Some cleanup and optimization to the processor data area. 2005-09-12 10:49:58 -07:00
ioc4.h
ioctl32.h
ioctl.h
ioport.h
ioprio.h
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 [INET]: speedup inet (tcp/dccp) lookups 2005-10-03 14:13:38 -07:00
ipx.h
irda.h
irq_cpustat.h
irq.h
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 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
jffs2_fs_i.h
jffs2_fs_sb.h
jffs2.h
jffs.h
jhash.h
jiffies.h [PATCH] include: update jiffies/{m,u}secs conversion functions 2005-09-10 10:06:36 -07:00
journal-head.h
joystick.h [PATCH] joystick-vs-x.org fix 2005-09-17 11:50:02 -07:00
kallsyms.h
kbd_diacr.h
kbd_kern.h
kd.h
kdev_t.h
kernel_stat.h
kernel.h [PATCH] Make BUILD_BUG_ON fail at compile time. 2005-09-13 08:22:28 -07:00
kernelcapi.h
kexec.h
key-ui.h [PATCH] Keys: Split key permissions checking into a .c file 2005-10-08 14:53:31 -07:00
key.h [PATCH] Keys: Add possessor permissions to keys [try #3] 2005-09-28 09:10:47 -07:00
keyboard.h
keyctl.h
kfifo.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject_uevent.h
kobject.h
kprobes.h
kref.h
kthread.h
lapb.h
lcd.h
libata.h [PATCH] PATCH: remove function for non-PCI as requested 2005-09-16 02:39:01 -04:00
libps2.h
limits.h
linkage.h
linux_logo.h
list.h
llc.h
loop.h
lp.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mempolicy.h
mempool.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
meye.h
mii.h
minix_fs.h
miscdevice.h
mm_inline.h
mm.h [PATCH] mm: add a note about partially hardcoded VM_* flags 2005-09-21 10:11:55 -07:00
mman.h
mmtimer.h
mmzone.h
mod_devicetable.h [PATCH] trivial #if -> #ifdef 2005-10-01 10:54:47 -07:00
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
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 [NET]: Reorder some hot fields of struct net_device 2005-09-27 15:23:16 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_logging.h
netfilter.h
netlink.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
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_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 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
patchkey.h
pci_ids.h Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6 2005-10-03 08:07:10 -07:00
pci_regs.h
pci-acpi.h
pci.h
pcieport_if.h
percpu_counter.h
percpu.h
personality.h
pfkeyv2.h
pg.h
phonedev.h
phy.h
pid.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h [PATCH] pktcdvd: BUG_ON cleanups 2005-09-13 08:22:31 -07:00
platform.h
pm.h
pmu.h
pnp.h
pnpbios.h
poll.h
posix_acl_xattr.h
posix_acl.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
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 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
rcuref.h
reboot_fixups.h
reboot.h [PATCH] reboot: comment and factor the main reboot functions 2005-09-22 22:17:33 -07:00
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_fs.h [PATCH] "extern inline" -> "static inline" 2005-09-10 10:06:35 -07:00
reiserfs_xattr.h
relayfs_fs.h
resource.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h
rtnetlink.h
rwsem-spinlock.h
rwsem.h
sc26198.h
scatterlist.h
scc.h
sched.h [PATCH] Fix signal sending in usbdevio on async URB completion 2005-10-10 16:16:33 -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
securebits.h
security.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
selection.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h
serial_core.h
serial_reg.h
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
skbuff.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
slab.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -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
snmp.h
socket.h
sockios.h
som.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock_api_up.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock_types_up.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock_types.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock_up.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spinlock.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
stallion.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
stringify.h
superhyway.h
suspend.h [PATCH] x86_64: Set up safe page tables during resume 2005-10-10 08:36:46 -07:00
swap.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
swapops.h
synclink.h
sys.h
syscalls.h [PATCH] Adds sys_set_mempolicy() in include/linux/syscalls.h 2005-09-21 10:12:18 -07:00
sysctl.h [LLC]: Add sysctl support for the LLC timeouts 2005-09-22 04:30:44 -03:00
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
tcp.h
telephony.h
termios.h
textsearch_fsm.h
textsearch.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
tfrc.h [CCID3]: Introduce include/linux/tfrc.h 2005-09-18 00:18:32 -07:00
thread_info.h
threads.h
ticable.h
time.h [PATCH] time.h: remove ifdefs 2005-09-10 10:06:36 -07: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 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
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
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
usbdevice_fs.h [PATCH] USB: fix usbdevice_fs header breakage 2005-09-12 12:23:52 -07:00
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
videodev2.h [PATCH] v4l: experimental Sliced VBI API support 2005-09-13 08:22:32 -07:00
videodev.h
videotext.h
vmalloc.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
vt_buffer.h
vt_kern.h
vt.h
wait.h
wanpipe.h
wanrouter.h
watchdog.h
wavefront.h
wireless.h
workqueue.h
writeback.h [PATCH] mm/filemap.c: make two functions static 2005-09-10 10:06:25 -07:00
x25.h
xattr.h
xfrm.h
yam.h
zconf.h
zftape.h
zlib.h
zorro_ids.h
zorro.h
zutil.h