Re: [BK FBDEV] A few more updates.
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2003-03-25 18:19:23
Also in:
lkml
On Tue, 2003-03-25 at 19:32, James Simmons wrote:
Linus, please do a bk pull http://fbdev.bkbits.net/fbdev-2.5 This will update the following files: drivers/video/aty/aty128fb.c | 16 +++++++--------- drivers/video/console/fbcon.c | 4 ++-- drivers/video/controlfb.c | 18 +++--------------- drivers/video/platinumfb.c | 28 ++++++++-------------------- drivers/video/radeonfb.c | 10 ++++++++++ drivers/video/softcursor.c | 2 +- 6 files changed, 31 insertions(+), 47 deletions(-) through these ChangeSets: [off-list ref] (03/03/25 1.981) [FBCON] Could be called outside of a process context. This fixes that.
You "fixed" it by using GFP_ATOMIC but didn't test the result of kmalloc. That is very bad. GFP_ATOMIC can fail (return NULL), thus you will crash the kernel under high memory pressure. I think the proper fix is, as you asked me, using a workqueue, that way, you can both use GFP_KERNEL allocations, and avoid the spinlock you added to fbmem.c, thus letting the fb_sync() ops on fbdev's be able to block. Ben. ------------------------------------------------------- This SF.net email is sponsored by: The Definitive IT and Networking Event. Be There! NetWorld+Interop Las Vegas 2003 -- Register today! http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en