linux-uconsole/include/linux
Oleg Nesterov fae5fa44f1 signals: fix /sbin/init protection from unwanted signals
The global init has a lot of long standing problems with the unhandled fatal
signals.

	- The "is_global_init(current)" check in get_signal_to_deliver()
	  protects only the main thread. Sub-thread can dequee the fatal
	  signal and shutdown the whole thread group except the main thread.
	  If it dequeues SIGSTOP /sbin/init will be stopped, this is not
	  right too. Note that we can't use is_global_init(->group_leader),
	  this breaks exec and this can't solve other problems we have.

	- Even if afterwards ignored, the fatal signals sets SIGNAL_GROUP_EXIT
	  on delivery. This breaks exec, has other bad implications, and this
	  is just wrong.

Introduce the new SIGNAL_UNKILLABLE flag to fix these problems.  It also helps
to solve some other problems addressed by the subsequent patches.

Currently we use this flag for the global init only, but it could also be used
by kthreads and (perhaps) by the sub-namespace inits.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-30 08:29:37 -07:00
..
amba
byteorder
can
dvb
hdlc
i2c
isdn
lockd
mfd
mlx4 mlx4_core: Add a way to set the "collapsed" CQ flag 2008-04-29 13:46:50 -07:00
mmc
mtd
netfilter
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid md: support blocking writes to an array on device failure 2008-04-30 08:29:33 -07:00
rtc
spi
ssb
sunrpc
tc_act
tc_ematch
unaligned kernel: add common infrastructure for unaligned access 2008-04-29 08:06:27 -07:00
usb
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
acpi_pmtmr.h
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h fs/aio.c: make 3 functions static 2008-04-29 08:06:00 -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
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-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_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h fs/fs-writeback.c: make 2 functions static 2008-04-29 08:06:00 -07:00
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h binfmt_misc.c: avoid potential kernel stack overflow 2008-04-29 08:06:04 -07:00
bio.h block: add dma alignment and padding support to blk_rq_map_kern 2008-04-29 09:50:34 +02:00
bit_spinlock.h
bitmap.h
bitops.h bitops: remove "optimizations" 2008-04-29 08:11:16 -07:00
bitrev.h
blkdev.h Improve queue_is_locked() 2008-04-29 12:36:54 -07:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h
bottom_half.h
bpqether.h
bsg.h
buffer_head.h remove generic_commit_write() 2008-04-29 08:06:01 -07:00
bug.h
cache.h
calc64.h
can.h
capability.h Security: Typecast CAP_*_SET macros 2008-04-29 13:22:56 -07:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h cgroups: add an owner to the mm_struct 2008-04-29 08:06:10 -07:00
cgroup_subsys.h cgroups: implement device whitelist 2008-04-29 08:06:09 -07:00
cgroupstats.h
chio.h
circ_buf.h
clk.h
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h fs/coda: remove static inline forward declarations 2008-04-29 08:05:59 -07:00
coda_psdev.h
coff.h
com20020.h
compat.h
compiler-gcc.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h
console.h
console_struct.h vt: fix background color on line feed 2008-04-29 08:06:06 -07:00
consolemap.h
const.h
cpu.h cpu: fix section mismatch warnings in hotcpu_register 2008-04-29 08:05:59 -07:00
cpufreq.h [CPUFREQ] allow use of the powersave governor as the default one 2008-04-28 16:27:08 -04:00
cpuidle.h
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc7.h
crc16.h
crc32.h
crc32c.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
dccp.h
dcookies.h
debug_locks.h
debugfs.h
delay.h
delayacct.h
device-mapper.h
device.h
device_cgroup.h cgroups: implement device whitelist 2008-04-29 08:06:09 -07:00
devpts_fs.h
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
dm9000.h
dma-attrs.h dma: add dma_*map*_attrs() interfaces 2008-04-29 08:06:11 -07:00
dma-mapping.h dma: add dma_*map*_attrs() interfaces 2008-04-29 08:06:11 -07:00
dmaengine.h
dmapool.h
dmar.h
dmi.h x86: configurable DMI scanning code 2008-04-28 08:58:30 -07:00
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
edac.h edac: fix module initialization on several modules 2nd time 2008-04-29 08:06:26 -07:00
edd.h
eeprom_93cx6.h
efi.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h ELF: Use EI_NIDENT instead of numeric value 2008-04-29 08:06:16 -07: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
ext2_fs_sb.h
ext3_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fault-inject.h
fb.h fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
fcdevice.h
fcntl.h
fd.h
fd1772.h
fddidevice.h
fdreg.h
fib_rules.h
file.h
filter.h
firewire-cdev.h
firewire-constants.h
firmware.h
flat.h
font.h
freezer.h
fs.h make vfs_ioctl() static 2008-04-29 08:06:00 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fsl_devices.h
fsnotify.h
fuse.h
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
getcpu.h
gfp.h mm: fix misleading __GFP_REPEAT related comments 2008-04-29 08:05:58 -07:00
gfs2_ondisk.h
gigaset_dev.h
gpio.h
gpio_keys.h
gpio_mouse.h
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hid-debug.h
hid.h usbhid endianness annotations and fixes 2008-04-28 10:03:31 -07:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h
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-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h i2c: Drop unused RTC driver IDs 2008-04-29 23:11:38 +02:00
i2c-ocores.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c.h i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
i2o-dev.h
i2o.h i2o: remove static inline forward declarations 2008-04-28 08:58:34 -07:00
i8k.h
i8042.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: remove ->dma_prdtable field from ide_hwif_t 2008-04-28 23:44:42 +02:00
idr.h idr: create idr_layer_cache at boot time 2008-04-29 08:06:25 -07: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
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.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
igmp.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h proper extern for late_time_init 2008-04-29 08:06:03 -07:00
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
interrupt.h proper __do_softirq() prototype 2008-04-29 08:06:02 -07:00
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
ioport.h
ioprio.h
ip.h
ip6_tunnel.h
ipc.h
ipc_namespace.h ipc: re-enable msgmni automatic recomputing msgmni if set to negative 2008-04-29 08:06:13 -07:00
ipmi.h ipmi: make comment match actual preprocessor check 2008-04-29 08:06:15 -07:00
ipmi_msgdefs.h
ipmi_smi.h ipmi: remove ->write_proc code 2008-04-29 08:06:15 -07:00
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
irqflags.h
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
ivtvfb.h
ixjuser.h
jbd.h
jbd2.h
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild kbuild: move files that don't check __KERNEL__ 2008-04-29 08:06:04 -07:00
kbuild.h Add kbuild.h that contains common definitions for kbuild users 2008-04-29 08:06:29 -07:00
kd.h
kdebug.h
kdev_t.h
kernel.h ipc: add definitions of USHORT_MAX and others 2008-04-29 08:06:14 -07:00
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key-ui.h
key.h keys: make key_serial() a function if CONFIG_KEYS=y 2008-04-29 08:06:17 -07:00
keyboard.h
keyctl.h keys: add keyctl function to get a security label 2008-04-29 08:06:16 -07:00
kfifo.h
kgdb.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h
kprobes.h kprobes: add (un)register_jprobes for batch registration 2008-04-28 08:58:32 -07:00
kref.h
ks0108.h
kthread.h
ktime.h
kvm.h
kvm_host.h
kvm_para.h
kvm_types.h
lapb.h
latencytop.h
lcd.h
leds.h
lguest.h
lguest_launcher.h
libata.h [libata] linux/libata.h: reorganize ata_device struct members a bit 2008-04-29 17:47:34 -04:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h lists: add "const" qualifier to first arg of list_splice() operations 2008-04-29 08:06:04 -07:00
llc.h
lm_interface.h
lmb.h [POWERPC] Provide walk_memory_resource() for powerpc 2008-04-29 15:57:53 +10:00
lockdep.h
log2.h
loop.h
lp.h
lzo.h
m48t86.h
magic.h
major.h
maple.h
marker.h
matroxfb.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h remove mca_is_adapter_used() 2008-04-29 08:06:01 -07:00
mca.h
mdio-bitbang.h
memcontrol.h cgroups: add an owner to the mm_struct 2008-04-29 08:06:10 -07:00
memory.h ipc: recompute msgmni on memory add / remove 2008-04-29 08:06:12 -07:00
memory_hotplug.h
mempolicy.h
mempool.h
memstick.h
meye.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mm.h procfs task exe symlink 2008-04-29 08:06:17 -07:00
mm_inline.h
mm_types.h procfs task exe symlink 2008-04-29 08:06:17 -07:00
mman.h
mmtimer.h
mmzone.h
mnt_namespace.h
mod_devicetable.h i2c: Add support for device alias names 2008-04-29 23:11:39 +02:00
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h FAT_VALID_MEDIA(): remove pointless test 2008-04-28 08:58:47 -07:00
msg.h ipc: scale msgmni to the amount of lowmem 2008-04-29 08:06:12 -07:00
msi.h pci/irq: restore mask_bits in msi shutdown -v3 2008-04-29 09:11:12 -07:00
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
n_r3964.h
namei.h
nbd.h nbd: delete superfluous test for __GNUC__ 2008-04-29 08:06:24 -07:00
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h
netdevice.h
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
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nfsd_idmap.h
nl80211.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h ipc: re-enable msgmni automatic recomputing msgmni if set to negative 2008-04-29 08:06:13 -07:00
nsc_gpio.h
nsproxy.h
nubus.h
numa.h
nvram.h
of.h
of_device.h
of_gpio.h
of_i2c.h
of_platform.h
oom.h
oprofile.h
page-flags.h
page-isolation.h
pageblock-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
path.h
pci-acpi.h
pci-aspm.h
pci.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-04-29 10:17:59 -07:00
pci_hotplug.h
pci_ids.h
pci_regs.h
pcieport_if.h
pda_power.h
percpu.h Remove superfluous include of string.h from percpu.h 2008-04-29 08:06:04 -07:00
percpu_counter.h
personality.h Remove the macro get_personality 2008-04-29 08:06:02 -07:00
pfkeyv2.h
pfn.h
pg.h
phantom.h Misc: phantom, consistent whitespace 2008-04-29 08:06:02 -07:00
phonedev.h
phy.h
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm.h
pm_legacy.h
pm_qos_params.h
pm_wakeup.h
pmu.h
pnp.h
pnpbios.h
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: introduce proc_create_data to setup de->data 2008-04-29 08:06:20 -07:00
profile.h
proportions.h
ptrace.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h quota: quota core changes for quotaon on remount 2008-04-28 08:58:33 -07:00
quotaio_v1.h
quotaio_v2.h
quotaops.h quota: convert stub functions from macros into inlines 2008-04-28 08:58:33 -07:00
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcuclassic.h
rcupdate.h
rcupreempt.h
rcupreempt_trace.h
reboot.h
reciprocal_div.h
regset.h
reiserfs_acl.h
reiserfs_fs.h reiserfs: unpack tails on quota files 2008-04-28 08:58:46 -07:00
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
res_counter.h memcgroup: implement failcounter reset 2008-04-29 08:06:10 -07:00
resource.h add RUSAGE_THREAD 2008-04-29 08:05:59 -07:00
resume-trace.h
rfkill.h
rio.h [RAPIDIO] Add serial RapidIO controller support, which includes MPC8548, MPC8641 2008-04-29 19:40:29 +10:00
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h signals: fix /sbin/init protection from unwanted signals 2008-04-30 08:29:37 -07:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h Security: Make secctx_to_secid() take const secdata 2008-04-29 13:22:56 -07:00
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
seqlock.h
serial.h
serial167.h
serial_8250.h sm501: add uart support 2008-04-28 08:58:32 -07:00
serial_core.h Blackfin serial driver: this driver enable SPORTs on Blackfin emulate UART 2008-04-30 08:29:30 -07:00
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h kill_pid_info: don't take now unneeded tasklist_lock 2008-04-30 08:29:34 -07:00
signalfd.h
skbuff.h
slab.h
slab_def.h
slob_def.h
slub_def.h
sm501-regs.h
sm501.h
smb.h smb.h: uses struct timespec but didn't include linux/time.h 2008-04-29 08:06:05 -07:00
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smc91x.h
smp.h
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
stringify.h
superhyway.h
suspend.h PM/gxfb: add hook to PM console layer that allows disabling of suspend VT switch 2008-04-28 08:58:36 -07:00
suspend_ioctls.h
svga.h
swap.h
swapops.h
synclink.h
sys.h
syscalls.h xattr: add missing consts to function arguments 2008-04-29 08:06:06 -07:00
sysctl.h sysctl: add the ->permissions callback on the ctl_table_root 2008-04-29 08:06:23 -07:00
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h sysv fs: remove superfluous check for __GNUC__ compiler 2008-04-29 08:06:27 -07:00
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tc.h
tcp.h
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
tick.h
tifm.h
time.h
timer.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
types.h
uaccess.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_usual.h
usbdevice_fs.h
user.h
user_namespace.h
utime.h
uts.h
utsname.h
vermagic.h
veth.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev.h
videodev2.h
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
vmalloc.h
vmstat.h
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wireless.h
wm97xx.h
workqueue.h
writeback.h
x25.h
xattr.h xattr: add missing consts to function arguments 2008-04-29 08:06:06 -07:00
xfrm.h
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h