<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/video/console, branch linux-2.6.31.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-2.6.31.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-2.6.31.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2009-11-10T00:21:58+00:00</updated>
<entry>
<title>sparc: Kill PROM console driver.</title>
<updated>2009-11-10T00:21:58+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-09-16T00:04:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e1f7f4182a52b850379c0d4f35a8085d9552786a'/>
<id>urn:sha1:e1f7f4182a52b850379c0d4f35a8085d9552786a</id>
<content type='text'>
[ Upstream commit 09d3f3f0e02c8a900d076c302c5c02227f33572d ]

Many years ago when this driver was written, it had a use, but these
days it's nothing but trouble and distributions should not enable it
in any situation.

Pretty much every console device a sparc machine could see has a
bonafide real driver, making the PROM console hack unnecessary.

If any new device shows up, we should write a driver instead of
depending upon this crutch to save us.  We've been able to take care
of this even when no chip documentation exists (sunxvr500, sunxvr2500)
so there are no excuses.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>fbcon: only unbind from console if successfully registered</title>
<updated>2009-10-05T16:31:36+00:00</updated>
<author>
<name>Ian Armstrong</name>
<email>ian@iarmst.demon.co.uk</email>
</author>
<published>2009-09-22T23:47:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a1ae2307df3270ecf3fb15786aebc1d72493e960'/>
<id>urn:sha1:a1ae2307df3270ecf3fb15786aebc1d72493e960</id>
<content type='text'>
commit 2ddce3fd0acbdc1be684fb5f919ae3d2e9518aac upstream.

Attempting to unload a framebuffer module calls unregister_framebuffer()
which in turn gets fbcon to release it.  If fbcon has no framebuffers
linked to a console, it will also unbind itself from the console driver.
However, if fbcon never registered itself as a console driver, the unbind
will fail causing the framebuffer device entry to persist.  In most cases
this failure will result in an oops when attempting to access the now
non-existent device.

This patch ensures that the fbcon unbind request will succeed even if a
bind was never done.  It tracks if a successful bind ever occurred &amp; will
only attempt to unbind if needed.  If there never was a bind, it simply
returns with no error.

Signed-off-by: Ian Armstrong &lt;ian@iarmst.demon.co.uk&gt;
Cc: Krzysztof Helt &lt;krzysztof.h1@poczta.fm&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>fbcon: don't use vc_resize() on initialization</title>
<updated>2009-08-07T17:39:56+00:00</updated>
<author>
<name>Johannes Weiner</name>
<email>hannes@cmpxchg.org</email>
</author>
<published>2009-08-06T22:07:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0035fe00f77d2b0a1a2d001f7442136d1ec5aefa'/>
<id>urn:sha1:0035fe00f77d2b0a1a2d001f7442136d1ec5aefa</id>
<content type='text'>
Catalin and kmemleak spotted a leak of a VC screen buffer in
vc_allocate() due to the following chain of events:

	vc_allocate()
	  visual_init(init=1)
	    vc-&gt;vc_sw-&gt;con_init(init=1)
              fbcon_init()
	        vc_resize()
	          vc-&gt;screen_buf = kmalloc()
	  vc-&gt;screen_buf = kmalloc()

The common way for the VC drivers is to set the screen dimension
parameters manually in the init case and only call vc_resize() for
!init - which allocates a screen buffer according to the new
dimensions.

fbcon instead would do vc_resize() unconditionally and afterwards set
the dimensions manually (again) for !init - i.e. completely upside
down.  The vc_resize() allocated buffer would then get lost by
vc_allocate() allocating a fresh one.

Use vc_resize() only for actual resizing to close the leak.

Set the dimensions manually only in initialization mode to remove the
redundant setting in resize mode.

The kmemleak trace from Catalin:

unreferenced object 0xde158000 (size 12288):
  comm "Xorg", pid 1439, jiffies 4294961016
  hex dump (first 32 bytes):
    20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00   . . . . . . . .
    20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00   . . . . . . . .
  backtrace:
    [&lt;c006f74b&gt;] __save_stack_trace+0x17/0x1c
    [&lt;c006f81d&gt;] create_object+0xcd/0x188
    [&lt;c01f5457&gt;] kmemleak_alloc+0x1b/0x3c
    [&lt;c006e303&gt;] __kmalloc+0xdb/0xe8
    [&lt;c012cc4b&gt;] vc_do_resize+0x73/0x1e0
    [&lt;c012cdf1&gt;] vc_resize+0x15/0x18
    [&lt;c011afc1&gt;] fbcon_init+0x1f9/0x2b8
    [&lt;c0129e87&gt;] visual_init+0x9f/0xdc
    [&lt;c012aff3&gt;] vc_allocate+0x7f/0xfc
    [&lt;c012b087&gt;] con_open+0x17/0x80
    [&lt;c0120e43&gt;] tty_open+0x1f7/0x2e4
    [&lt;c0072fa1&gt;] chrdev_open+0x101/0x118
    [&lt;c006ffad&gt;] __dentry_open+0x105/0x1cc
    [&lt;c00700fd&gt;] nameidata_to_filp+0x2d/0x38
    [&lt;c00788cd&gt;] do_filp_open+0x2c1/0x54c
    [&lt;c006fdff&gt;] do_sys_open+0x3b/0xb4

Reported-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt;
Tested-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Cc: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
Cc: Krzysztof Helt &lt;krzysztof.h1@poczta.fm&gt;
Tested-by: Dave Young &lt;hidave.darkstar@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbcon: fix rotate upside down crash</title>
<updated>2009-08-07T17:39:55+00:00</updated>
<author>
<name>Stefani Seibold</name>
<email>stefani@seibold.net</email>
</author>
<published>2009-08-06T22:07:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=93274e4d4e9416ad1fa47e2f26011e2c483fe5fe'/>
<id>urn:sha1:93274e4d4e9416ad1fa47e2f26011e2c483fe5fe</id>
<content type='text'>
Fix the rotate_ud() function not to crash in case of a font which has not
a width of multiple by 8: The inner loop of the font pixel copy should not
access a bit outside the font memory area.  Subtract the shift offset from
the font width will prevent this.

Signed-off-by: Stefani Seibold &lt;stefani@seibold.net&gt;
Cc: Krzysztof Helt &lt;krzysztof.h1@poczta.fm&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>parisc: sticore.c - check return values</title>
<updated>2009-08-02T13:26:51+00:00</updated>
<author>
<name>Helge Deller</name>
<email>deller@gmx.de</email>
</author>
<published>2009-08-02T13:26:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1a1dba32412c15c51d5fc0b9efadd2ea310356d7'/>
<id>urn:sha1:1a1dba32412c15c51d5fc0b9efadd2ea310356d7</id>
<content type='text'>
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>vgacon: use slab allocator instead of the bootmem allocator</title>
<updated>2009-06-11T16:33:34+00:00</updated>
<author>
<name>Pekka Enberg</name>
<email>penberg@cs.helsinki.fi</email>
</author>
<published>2009-06-11T16:25:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b8ec757390282e21d349bf6b602a8cb182da0429'/>
<id>urn:sha1:b8ec757390282e21d349bf6b602a8cb182da0429</id>
<content type='text'>
Slab is initialized before the console subsystem so use the slab allocator in
vgacon_scrollback_startup().

Signed-off-by: Pekka Enberg &lt;penberg@cs.helsinki.fi&gt;
</content>
</entry>
<entry>
<title>vgacon: return the upper half of 512 character fonts</title>
<updated>2009-05-02T22:36:10+00:00</updated>
<author>
<name>Stefan Bader</name>
<email>stefan.bader@canonical.com</email>
</author>
<published>2009-04-30T22:08:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b175dc09285b36200a83b78baf167905181fb4e5'/>
<id>urn:sha1:b175dc09285b36200a83b78baf167905181fb4e5</id>
<content type='text'>
Uwe Geuder noted that he gets random bitmaps on a text console if he tried
to type extended characters (like the e acute).  For him everything above
unicode 0xa0 was corrupted.

After some digging there seems to be a little culprit in vgacon since the
beginning of ages (well git).  The function vgacon_font_get will store the
number of characters correctly in font-&gt;charcount but then calls to
vgacon_do_font_op(..., 0, 0).  Which means only the lower 256 characters
are actually stored to the fontdata.  The rest is left untouched.  So the
next time that saved data is used, the garbled font appears.  This happens
on every switch between text consoles.

Addresses https://bugs.launchpad.net/ubuntu/+source/linux/+bug/355057

Signed-off-by: Stefan Bader &lt;stefan.bader@canonical.com&gt;
Tested-by: Uwe Geuder &lt;ubuntuLp-ugeuder@sneakemail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbdev: fix info-&gt;lock deadlock in fbcon_event_notify()</title>
<updated>2009-04-13T22:04:28+00:00</updated>
<author>
<name>Andrea Righi</name>
<email>righi.andrea@gmail.com</email>
</author>
<published>2009-04-13T21:39:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=513adb58685615b0b1d47a3f0d40f5352beff189'/>
<id>urn:sha1:513adb58685615b0b1d47a3f0d40f5352beff189</id>
<content type='text'>
fb_notifier_call_chain() is called with info-&gt;lock held, i.e.  in
do_fb_ioctl() =&gt; FBIOPUT_VSCREENINFO =&gt; fb_set_var() and the some
notifier callbacks, like fbcon_event_notify(), try to re-acquire
info-&gt;lock again.

Remove the lock/unlock_fb_info() in all the framebuffer notifier
callbacks' and be sure to always call fb_notifier_call_chain() with
info-&gt;lock held.

Reported-by: Pavel Roskin &lt;proski@gnu.org&gt;
Reported-by: Eric Miao &lt;eric.y.miao@gmail.com&gt;
Signed-off-by: Andrea Righi &lt;righi.andrea@gmail.com&gt;
Cc: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Cc: Krzysztof Helt &lt;krzysztof.h1@poczta.fm&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbmem: fix fb_info-&gt;lock and mm-&gt;mmap_sem circular locking dependency</title>
<updated>2009-04-01T15:59:29+00:00</updated>
<author>
<name>Andrea Righi</name>
<email>righi.andrea@gmail.com</email>
</author>
<published>2009-03-31T22:25:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=66c1ca019078220dc1bf968f2bb18421100ef147'/>
<id>urn:sha1:66c1ca019078220dc1bf968f2bb18421100ef147</id>
<content type='text'>
Fix a circular locking dependency in the frame buffer console driver
pushing down the mutex fb_info-&gt;lock.

Circular locking dependecies occur calling the blocking
fb_notifier_call_chain() with fb_info-&gt;lock held.  Notifier callbacks can
try to acquire mm-&gt;mmap_sem, while fb_mmap() acquires the locks in the
reverse order mm-&gt;mmap_sem =&gt; fb_info-&gt;lock.

Tested-by: Andrey Borzenkov &lt;arvidjaar@mail.ru&gt;
Signed-off-by: Andrea Righi &lt;righi.andrea@gmail.com&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Krzysztof Helt &lt;krzysztof.h1@poczta.fm&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbdev: Kill Atari vblank cursor blinking</title>
<updated>2009-01-12T19:56:43+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2008-12-30T13:11:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1fa0b29f3a43f9dd8080d24cd16790b15ef963f5'/>
<id>urn:sha1:1fa0b29f3a43f9dd8080d24cd16790b15ef963f5</id>
<content type='text'>
Kill the last remaining vblank cursor blinking user

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
</content>
</entry>
</feed>
