linux/drivers
Antonino A. Daplas e400b6ec4e vt/vgacon: Check if screen resize request comes from userspace
Various console drivers are able to resize the screen via the con_resize()
hook.  This hook is also visible in userspace via the TIOCWINSZ, VT_RESIZE and
VT_RESIZEX ioctl's.  One particular utility, SVGATextMode, expects that
con_resize() of the VGA console will always return success even if the
resulting screen is not compatible with the hardware.  However, this
particular behavior of the VGA console, as reported in Kernel Bugzilla Bug
7513, can cause undefined behavior if the user starts with a console size
larger than 80x25.

To work around this problem, add an extra parameter to con_resize().  This
parameter is ignored by drivers except for vgacon.  If this parameter is
non-zero, then the resize request came from a VT_RESIZE or VT_RESIZEX ioctl
and vgacon will always return success.  If this parameter is zero, vgacon will
return -EINVAL if the requested size is not compatible with the hardware.  The
latter is the more correct behavior.

With this change, SVGATextMode should still work correctly while in-kernel and
stty resize calls can expect correct behavior from vgacon.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-16 09:43:20 -07:00
..
acorn/char
acpi
amba
ata docbook: fix libata content 2007-10-15 17:56:36 -07:00
atm
auxdisplay
base mm: add node states sysfs class attributeS 2007-10-16 09:43:03 -07:00
block deny partial write for loop dev fd 2007-10-16 09:42:55 -07:00
bluetooth
cdrom
char vt/vgacon: Check if screen resize request comes from userspace 2007-10-16 09:43:20 -07:00
clocksource
connector
cpufreq
crypto
dca I/OAT: Add DCA services 2007-10-16 09:43:09 -07:00
dio
dma I/OAT: Add DCA services 2007-10-16 09:43:09 -07:00
edac
eisa
fc4
firewire
firmware
hid
hwmon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-10-15 13:41:39 -07:00
i2c Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-10-15 16:08:50 -07:00
ide
ieee1394
infiniband
input Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-10-15 16:08:50 -07:00
isdn isdn: guard against a potential NULL pointer dereference in old_capi_manufacturer() 2007-10-16 09:43:10 -07:00
kvm
leds
lguest
macintosh
mca
md
media
message docbook: fix kernel-api content 2007-10-15 17:56:36 -07:00
mfd
misc Map volume and brightness events on thinkpads 2007-10-15 13:54:40 -07:00
mmc spi doesn't need class_device 2007-10-16 09:43:10 -07:00
mtd
net Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-10-15 16:08:50 -07:00
nubus
of
oprofile
parisc
parport
pci
pcmcia pcmcia: use DMA_MASK_NONE for the default for all pcmcia devices 2007-10-16 09:42:50 -07:00
pnp
power
ps3 ps3: Fix black and white stripes 2007-10-16 09:43:19 -07:00
rapidio
rtc rtc: allow validated RTC_PIE_ON for non-root 2007-10-16 09:43:13 -07:00
s390
sbus
scsi
serial tty: bring the old cris driver back somewhere into the realm of new tty buffering 2007-10-16 09:43:04 -07:00
sh
sn
spi spi doesn't need class_device 2007-10-16 09:43:10 -07:00
ssb
tc
telephony
uio
usb vt/vgacon: Check if screen resize request comes from userspace 2007-10-16 09:43:20 -07:00
video vt/vgacon: Check if screen resize request comes from userspace 2007-10-16 09:43:20 -07:00
w1
xen
zorro
Kconfig DCA: Add Direct Cache Access driver 2007-10-16 09:43:09 -07:00
Makefile DCA: Add Direct Cache Access driver 2007-10-16 09:43:09 -07:00