android_kernel_xiaomi_sm7250/drivers/char
Jeff Moyer 38584c14bb [PATCH] raw: don't allow the creation of a raw device with minor number 0
Minor number 0 (under the raw major) is reserved for the rawctl device
file, which is used to query, set, and unset raw device bindings.  However,
the ioctl interface does not protect the user from specifying a raw device
with minor number 0:

$ sudo ./raw /dev/raw/raw0 /dev/VolGroup00/swap
/dev/raw/raw0:  bound to major 253, minor 2
$ ls -l /dev/rawctl
ls: /dev/rawctl: No such file or directory
$ ls -l /dev/raw/raw0
crw------- 1 root root 162, 0 Jan 12 10:51 /dev/raw/raw0
$ sudo ./raw -qa
Cannot open master raw device '/dev/rawctl' (No such file or directory)

As you can see, this prevents any further raw operations from
succeeding.  The fix (from Steve Fernandez) is quite simple--do not
allow the allocation of minor number 0.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Cc: Steven Fernandez <sfernand@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-11 10:51:34 -08:00
..
agp [AGPGART] Add new IDs to VIA AGP. 2007-01-28 17:58:33 -05:00
drm drm: Allow for 44 bit user-tokens (or drm_file offsets) 2007-02-08 16:14:05 +11:00
hw_random [PATCH] Fix HWRNG built-in initcalls priority 2007-01-11 18:18:21 -08:00
ip2 [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
ipmi [PATCH] proc: remove useless (and buggy) ->nlink settings 2007-02-11 10:51:32 -08:00
mwave IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
pcmcia [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
rio [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
tpm ACPICA: Remove duplicate table definitions (non-conflicting), cont 2007-02-02 21:14:29 -05:00
watchdog [PATCH] misc NULL noise removal 2007-02-09 09:14:07 -08:00
.gitignore [MIPS] Remove IT8172-based platforms, ITE 8172G and Globespan IVR support. 2006-10-03 17:59:17 +01:00
amiserial.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
apm-emulation.c [APM] Add shared version of APM emulation 2007-02-09 17:08:57 +00:00
applicom.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
applicom.h
briq_panel.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
cd1865.h
ChangeLog
consolemap.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
cp437.uni
cs5535_gpio.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
cyclades.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
decserial.c [PATCH] dz: Fixes to make it work 2006-12-07 08:39:41 -08:00
defkeymap.c_shipped
defkeymap.map
digi1.h
digi.h
digiFep1.h
digiPCI.h
ds1286.c [PATCH] proper flags type of spin_lock_irqsave() 2006-10-01 00:39:21 -07:00
ds1302.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ds1620.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
dsp56k.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
dtlk.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
ec3104_keyb.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
efirtc.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
epca.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
epca.h [PATCH] char: kill unneeded memsets 2006-10-04 07:55:13 -07:00
epcaconfig.h
esp.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
generic_nvram.c [PATCH] powerpc: Kill _machine and hard-coded platform numbers 2006-03-28 23:15:54 +11:00
generic_serial.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
genrtc.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
hangcheck-timer.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
hpet.c [PATCH] severing poll.h -> mm.h 2006-12-04 02:00:36 -05:00
hvc_beat.c [POWERPC] Celleb: hypervisor console driver 2007-02-07 14:03:21 +11:00
hvc_console.c [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
hvc_console.h [POWERPC] Make the hvc_console output buffer size settable 2006-07-13 18:53:32 +10:00
hvc_iseries.c Merge branch 'master' of git://oak/home/sfr/kernels/iseries/work 2006-10-04 15:02:27 +10:00
hvc_rtas.c [POWERPC] Make the hvc_console output buffer size settable 2006-07-13 18:53:32 +10:00
hvc_vio.c [POWERPC] The two vio HVC backends clash 2006-09-25 13:30:51 +10:00
hvcs.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
hvsi.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
i8k.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
ip27-rtc.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
isicom.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
istallion.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
Kconfig [PATCH] Char: mxser, obsolete old, nonexperimental new 2007-02-11 10:51:28 -08:00
keyboard.c [PATCH] vt: refactor console SAK processing 2007-02-11 10:51:24 -08:00
lcd.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
lcd.h
lp.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
Makefile [APM] Add shared version of APM emulation 2007-02-09 17:08:57 +00:00
mbcs.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
mbcs.h
mem.c Revert "[PATCH] Fix up mmap_kmem" 2007-01-22 08:53:24 -08:00
misc.c [PATCH] Correct misc_register return code handling in several drivers 2006-12-07 08:39:35 -08:00
mmtimer.c [PATCH] Correct misc_register return code handling in several drivers 2006-12-07 08:39:35 -08:00
moxa.c [PATCH] Char: moxa, pci probing 2007-02-11 10:51:30 -08:00
mspec.c [PATCH] mspec driver build fix 2006-11-13 07:40:42 -08:00
mxser_new.c [PATCH] Char: mxser_new, fix sparse warning 2007-02-11 10:51:29 -08:00
mxser_new.h [PATCH] Char: mxser_new, upgrade to 1.9.15 2007-02-11 10:51:29 -08:00
mxser.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
mxser.h [PATCH] mxser: remove ambiguous redefinition of INIT_WORK 2007-02-11 10:51:25 -08:00
n_hdlc.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
n_r3964.c [PATCH] Char: n_r3964, cleanup 2007-02-11 10:51:28 -08:00
n_tty.c [PATCH] tty: remove useless memory barrier 2006-12-13 09:05:52 -08:00
nsc_gpio.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
nvram.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
nwbutton.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
nwbutton.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
nwflash.c [PATCH] make more file_operation structs static 2006-07-03 15:26:59 -07:00
pc8736x_gpio.c [PATCH] drivers/char/pc8736x_gpio.c: remove unused static functions 2006-09-29 09:18:05 -07:00
ppdev.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
pty.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
random.c [PATCH] sysctl: remove unused "context" param 2006-12-10 09:55:41 -08:00
raw.c [PATCH] raw: don't allow the creation of a raw device with minor number 0 2007-02-11 10:51:34 -08:00
riscom8_reg.h
riscom8.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
riscom8.h
rocket_int.h
rocket.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
rocket.h
rtc.c [PATCH] rtc warning fix 2006-12-22 08:55:47 -08:00
scan_keyb.c
scan_keyb.h
scc.h [PATCH] m68k: static vs. extern in scc.h 2006-01-12 09:09:00 -08:00
scx200_gpio.c [PATCH] scx200_gpio export cleanups 2006-09-29 09:18:06 -07:00
selection.c [PATCH] tty locking on resize 2006-09-29 09:18:12 -07:00
ser_a2232.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c [PATCH] Char: serial167, cleanup 2007-02-11 10:51:28 -08:00
snsc_event.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
snsc.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
snsc.h [IA64-SGI] Handle SC env. powerdown events 2006-01-26 13:32:26 -08:00
sonypi.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
specialix_io8.h
specialix.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
stallion.c [PATCH] Char: stallion, use dynamic dev 2006-12-08 08:28:59 -08:00
sx.c [PATCH] sx: fix non-PCI build 2006-12-13 09:05:49 -08:00
sx.h [PATCH] Char: sx, request regions 2006-12-08 08:28:59 -08:00
sxboards.h
sxwindow.h
synclink_gt.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
synclink.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
synclinkmp.c [PATCH] Char: tty_wakeup cleanup 2007-02-11 10:51:26 -08:00
sysrq.c [PATCH] vt: refactor console SAK processing 2007-02-11 10:51:24 -08:00
tb0219.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
tipar.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
tlclk.c [PATCH] tlclk: bug fix + misc fixes 2007-01-23 07:52:06 -08:00
toshiba.c [PATCH] export toshiba SMM support for neofb module 2006-12-07 08:39:40 -08:00
tty_io.c [PATCH] Char: tty, delete wake_up_interruptible after tty_wakeup 2007-02-11 10:51:25 -08:00
tty_ioctl.c [PATCH] tty: improve encode_baud_rate logic 2007-02-11 10:51:32 -08:00
vc_screen.c [PATCH] struct path: convert char-drivers 2006-12-08 08:28:44 -08:00
viocons.c [POWERPC] iSeries: fix viocons init 2006-12-20 16:37:48 +11:00
viotape.c [POWERPC] iSeries: fix viotape init 2006-12-20 16:37:47 +11:00
vme_scc.c [PATCH] tty: switch to ktermios 2006-12-08 08:28:57 -08:00
vr41xx_giu.c [MIPS] Vr41xx: Fix after GENERIC_HARDIRQS_NO__DO_IRQ change 2007-01-23 18:26:47 +00:00
vt_ioctl.c [PATCH] vt: refactor console SAK processing 2007-02-11 10:51:24 -08:00
vt.c [PATCH] drivers/char/vc_screen.c: proper prototypes 2007-02-11 10:51:27 -08:00