kernel_optimize_test/include/linux
Eric W. Biederman 98a27ba485 tty: introduce no_tty and use it in selinux
While researching the tty layer pid leaks I found a weird case in selinux when
we drop a controlling tty because of inadequate permissions we don't do the
normal hangup processing.  Which is a problem if it happens the session leader
has exec'd something that can no longer access the tty.

We already have code in the kernel to handle this case in the form of the
TIOCNOTTY ioctl.  So this patch factors out a helper function that is the
essence of that ioctl and calls it from the selinux code.

This removes the inconsistency in handling dropping of a controlling tty and
who knows it might even make some part of user space happy because it received
a SIGHUP it was expecting.

In addition since this removes the last user of proc_set_tty outside of
tty_io.c proc_set_tty is made static and removed from tty.h

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: James Morris <jmorris@namei.org>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:04 -07:00
..
amba
byteorder Fix compilation of drivers with -O0 2007-05-08 11:15:00 -07:00
dvb
hdlc
isdn
lockd Merge branch 'server-cluster-locking-api' of git://linux-nfs.org/~bfields/linux 2007-05-07 12:34:24 -07:00
mmc mmc: remove old card states 2007-05-01 16:11:57 +02:00
mtd
netfilter [NETFILTER]: nf_nat_proto_gre: do not modify/corrupt GREv0 packets through NAT 2007-05-03 03:34:42 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid
spi blackfin architecture 2007-05-07 12:12:58 -07:00
sunrpc SUNRPC: remove old portmapper 2007-04-30 22:17:15 -07:00
tc_act
tc_ematch
usb
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi_pmtmr.h
acpi.h
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio_abi.h
aio.h
amifd.h
amifdreg.h
amigaffs.h
apm_bios.h
apm-emulation.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
atmel_pdc.h
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
bitrev.h
blkdev.h
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h [PATCH] x86-64: Set HASHDIST_DEFAULT to 1 for x86_64 NUMA 2007-05-02 19:27:08 +02:00
bottom_half.h
bpqether.h
buffer_head.h mm: optimize kill_bdev() 2007-05-07 12:12:55 -07:00
bug.h
cache.h
calc64.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
chio.h
circ_buf.h
clk.h
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.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-gcc3.h Add unitialized_var() macro for suppressing gcc warnings 2007-05-07 12:12:52 -07:00
compiler-gcc4.h Add unitialized_var() macro for suppressing gcc warnings 2007-05-07 12:12:52 -07:00
compiler-gcc.h ARRAY_SIZE: check for type 2007-05-07 12:13:00 -07:00
compiler-intel.h ARRAY_SIZE: check for type 2007-05-07 12:13:00 -07:00
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h
console_struct.h
console.h enlarge console.name 2007-05-08 11:15:04 -07:00
consolemap.h
cpu.h
cpufreq.h Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-05-05 14:55:20 -07:00
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h [PATCH] i386: Allow i386 crash kernels to handle x86_64 dumps 2007-05-02 19:27:09 +02:00
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crypto.h [CRYPTO] api: Add ablkcipher_request_set_tfm 2007-05-02 14:38:33 +10:00
cryptohash.h
ctype.h
cuda.h
cyclades.h cyclades: remove custom types 2007-05-08 11:15:03 -07:00
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h VFS: delay the dentry name generation on sockets and pipes 2007-05-08 11:15:03 -07:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
delay.h
delayacct.h
device-mapper.h
device.h Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-05-04 18:04:48 -07:00
devpts_fs.h
dio.h
dirent.h
dlm_device.h [DLM] interface for purge (2/2) 2007-05-01 09:11:12 +01:00
dlm.h
dm9000.h
dm-ioctl.h
dma-mapping.h
dmaengine.h
dmapool.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1286.h
ds17287rtc.h
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-em.h blackfin architecture 2007-05-07 12:12:58 -07:00
elf-fdpic.h
elf.h [PATCH] i386: Relocate VDSO ELF headers to match mapped location with COMPAT_VDSO 2007-05-02 19:27:12 +02:00
elfcore.h
elfnote.h [PATCH] i386: Clean up ELF note generation 2007-05-02 19:27:17 +02:00
err.h
errno.h
errqueue.h
etherdevice.h uml: improve checking and diagnostics of ethernet MACs 2007-05-07 12:13:02 -07:00
ethtool.h [ETHTOOL]: Add 2.5G bit definitions. 2007-05-03 13:17:25 -07:00
eventpoll.h
ext2_fs_sb.h
ext2_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h
ext3_jbd.h
ext4_fs_extents.h
ext4_fs_i.h
ext4_fs_sb.h
ext4_fs.h
ext4_jbd2.h
fadvise.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h locks: add lock cancel command 2007-05-06 20:38:28 -04:00
fd1772.h
fd.h
fddidevice.h
fdreg.h
fib_rules.h
file.h
filter.h
firmware.h
flat.h
font.h
freezer.h
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h add filesystem subtype support 2007-05-08 11:15:01 -07:00
fsl_devices.h
fsnotify.h
fuse.h
futex.h futex: get_futex_key, get_key_refs and drop_key_refs 2007-05-08 11:15:03 -07:00
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
getcpu.h
gfp.h Slab allocators: remove useless __GFP_NO_GROW flag 2007-05-07 12:12:57 -07:00
gfs2_ondisk.h
gigaset_dev.h
gpio_keys.h Input: gpio_keys - add support for switches (EV_SW) 2007-05-01 00:39:13 -04:00
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hid-debug.h
hid.h
hiddev.h
highmem.h Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2007-05-05 14:55:20 -07:00
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h proper prototype for hugetlb_get_unmapped_area() 2007-05-07 12:12:51 -07:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h i2c-algo-bit: Implement a 50/50 SCL duty cycle 2007-05-01 23:26:33 +02:00
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h i2c: Bitbanging I2C bus driver using the GPIO API 2007-05-01 23:26:34 +02:00
i2c-id.h i2c: Blackfin Two Wire Interface driver 2007-05-01 23:26:32 +02:00
i2c-isa.h
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h i2c: Restore i2c_smbus_read_block_data 2007-05-01 23:26:34 +02:00
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h sl82c105: rework PIO support (take 2) 2007-05-05 22:03:49 +02:00
idr.h
ieee80211.h [MAC80211]: Add generic include/linux/ieee80211.h 2007-05-05 11:43:04 -07:00
if_addr.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_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.h
if.h
igmp.h
in6.h
in_route.h
in.h
inet_diag.h
inet.h
inetdevice.h
init_task.h
init.h init/do_mounts.c: proper prepare_namespace() prototype 2007-05-08 11:15:00 -07:00
initrd.h
inotify.h
input-polldev.h
input.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-05-06 13:21:57 -07:00
interrupt.h IRQ: add __must_check to request_irq 2007-05-08 11:15:00 -07:00
io.h
ioc3.h
ioc4.h
ioctl32.h
ioctl.h
ioport.h
ioprio.h
ip6_tunnel.h
ip_mp_alg.h
ip.h
ipc.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irda.h
irq_cpustat.h
irq.h
irqflags.h
irqreturn.h
isa.h
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ixjuser.h
jbd2.h
jbd.h
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h Extend print_symbol capability 2007-04-30 16:40:39 -07:00
kbd_diacr.h
kbd_kern.h
Kbuild KVM: Export <linux/kvm.h> 2007-05-03 10:52:22 +03:00
kd.h
kdev_t.h
kernel_stat.h
kernel.h ARRAY_SIZE: check for type 2007-05-07 12:13:00 -07:00
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.h remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
kprobes.h Kprobes: Make kprobe.symbol_name const 2007-05-08 11:15:03 -07:00
kref.h
ks0108.h
kthread.h
ktime.h
kvm_para.h
kvm.h KVM: Remove unused 'instruction_length' 2007-05-03 10:52:32 +03:00
lapb.h
latency.h
lcd.h
leds.h
libata.h
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h
llc.h
lm_interface.h
lock_dlm_plock.h
lockdep.h
log2.h
loop.h
lp.h
m41t00.h
m48t86.h
magic.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
memory_hotplug.h
memory.h
mempolicy.h
mempool.h
meye.h
migrate.h page migration: Only migrate pages if allocation in the highest zone is possible 2007-05-07 12:12:57 -07:00
mii.h
minix_fs.h
miscdevice.h KVM: Use own minor number 2007-05-03 10:52:22 +03:00
mm_inline.h
mm_types.h SLUB core 2007-05-07 12:12:53 -07:00
mm.h Add virt_to_head_page and consolidate code in slab and slub 2007-05-07 12:12:54 -07:00
mman.h
mmtimer.h
mmzone.h add pfn_valid_within helper for sub-MAX_ORDER hole detection 2007-05-07 12:12:52 -07:00
mnt_namespace.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
mod_devicetable.h kbuild: remove dependency on input.h from file2alias 2007-05-02 20:58:08 +02:00
module.h remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
msi.h MSI: Give archs the option to free all MSI/Xs at once. 2007-05-02 19:02:38 -07:00
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
n_r3964.h
namei.h
nbd.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h
net.h
netdevice.h [NET]: Rework dev_base via list_head (v3) 2007-05-03 15:13:45 -07:00
netfilter_arp.h
netfilter_bridge.h [NETFILTER]: bridge netfilter: consolidate header pushing/pulling code 2007-05-03 03:36:16 -07:00
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink.h [NETLINK]: Remove references to process ID 2007-05-05 11:42:03 -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: Fix a buffer overflow in the allocation of struct nfs_read/writedata 2007-04-30 22:17:07 -07:00
nfs_idmap.h
nfs_mount.h NFS: Added support to turn off the NFSv3 READDIRPLUS RPC. 2007-04-30 22:17:16 -07:00
nfs_page.h NFS: Use pgoff_t in structures and functions that pass page cache offsets 2007-04-30 22:17:09 -07:00
nfs_xdr.h
nfs.h
nfsacl.h
nfsd_idmap.h
nl80211.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
nubus.h NuBus header update 2007-05-04 17:59:07 -07:00
numa.h
nvram.h
oom.h
oprofile.h
page-flags.h mm: remove unused page flags 2007-05-07 12:12:59 -07:00
pagemap.h Factor outstanding I/O error handling 2007-05-08 11:14:57 -07:00
pagevec.h
param.h
parport_pc.h
parport.h
parser.h Fix nfsroot build 2007-05-05 14:15:32 -07:00
pata_platform.h
patchkey.h
pci_hotplug.h remove "struct subsystem" as it is no longer needed 2007-05-02 18:57:59 -07:00
pci_ids.h Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-05-04 19:36:58 -07:00
pci_regs.h
pci-acpi.h
pci.h PCI: the overdue removal of pci_module_init() 2007-05-02 19:02:38 -07:00
pcieport_if.h
percpu_counter.h
percpu.h [PATCH] x86-64: Account for module percpu space separately from kernel percpu 2007-05-02 19:27:11 +02:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phonedev.h
phy.h
pid_namespace.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
pid.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm_legacy.h
pm.h pm: include EIO from errno-base.h 2007-04-30 16:40:41 -07:00
pmu.h
pnp.h init dma masks in pnp_dev 2007-05-08 11:15:00 -07:00
pnpbios.h
poison.h Increase slab redzone to 64bits 2007-05-08 11:14:57 -07:00
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 Fix race between proc_get_inode() and remove_proc_entry() 2007-05-08 11:15:01 -07:00
profile.h
ps2esdi.h
ptrace.h
qnx4_fs.h
qnxtypes.h
quicklist.h Quicklists for page table pages 2007-05-07 12:12:54 -07:00
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
reboot.h
reciprocal_div.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h reiserfs: shrink superblock if no xattrs 2007-05-08 11:15:00 -07:00
reiserfs_fs.h
reiserfs_xattr.h
relay.h
resource.h
resume-trace.h
rfkill.h [NET]: rfkill: add support for input key to control wireless radio 2007-05-07 00:34:20 -07:00
rio_drv.h
rio_ids.h
rio_regs.h
rio.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 reduce size of task_struct on 64-bit machines 2007-05-08 11:14:58 -07:00
screen_info.h
sctp.h
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux_netlink.h
selinux.h
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h
serial_core.h blackfin: serial driver 2007-05-07 12:12:58 -07:00
serial_pnx8xxx.h
serial_reg.h serial driver PMC MSP71xx 2007-05-07 12:12:50 -07:00
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
skbuff.h [NET] skbuff: fix kernel-doc 2007-05-03 03:16:20 -07:00
slab_def.h
slab.h slab allocators: Remove SLAB_CTOR_ATOMIC 2007-05-07 12:12:57 -07:00
slub_def.h slub: enable tracking of full slabs 2007-05-07 12:12:54 -07:00
sm501-regs.h
sm501.h
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
sony-laptop.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
srcu.h
stacktrace.h simplify the stacktrace code 2007-05-08 11:14:58 -07:00
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h swsusp: free more memory 2007-05-07 12:12:59 -07:00
svga.h
swap.h
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
taskstats_kern.h
taskstats.h
tc.h
tcp.h
telephony.h
termios.h
textsearch_fsm.h
textsearch.h
tfrc.h
thread_info.h
threads.h
ticable.h
tick.h
tifm.h tifm: layout fixes, small changes to comments and printfs 2007-05-01 13:04:15 +02:00
time.h
timer.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h tty: introduce no_tty and use it in selinux 2007-05-08 11:15:04 -07:00
types.h
uaccess.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
uio.h
ultrasound.h
umem.h
un.h
unistd.h
unwind.h
usb_gadget.h
usb_gadgetfs.h
usb_sl811.h blackfin architecture 2007-05-07 12:12:58 -07:00
usb_usual.h
usb.h
usbdevice_fs.h
user.h
utime.h
uts.h
utsname.h Merge sys_clone()/sys_unshare() nsproxy and namespace handling 2007-05-08 11:15:00 -07:00
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev2.h
videodev.h
videotext.h
vmalloc.h
vmstat.h
vt_buffer.h
vt_kern.h
vt.h
wait.h
wanrouter.h
watchdog.h
wireless.h
workqueue.h
writeback.h NFS: Fix a race when doing NFS write coalescing 2007-04-30 22:17:06 -07:00
x25.h
xattr.h
xfrm.h [XFRM] SPD info TLV aggregation 2007-05-04 12:55:39 -07:00
yam.h
zconf.h
zlib.h
zorro_ids.h
zorro.h
zutil.h