From: Guido Guenther <agx@sigxcpu.org>
To: James Simmons <jsimmons@infradead.org>
Cc: linux-kernel@vger.kernel.org
Subject: [2.6.2-rc2, rivafb]: GeForce4 440 Go 64M overflows fb_fix_screeninfo.id
Date: Thu, 29 Jan 2004 18:25:11 +0100 [thread overview]
Message-ID: <20040129172511.GA959@bogon.ms20.nix> (raw)
[-- Attachment #1: Type: text/plain, Size: 642 bytes --]
Hi,
fb_fix_screeninfo has space for 15 characters but riva/fbdev.c tries to
copy more into it in case of the above card (and therefore corrupts
memory). The result looks like:
rivafb: PCI nVidia NV20 framebuffer ver 0.9.5b (nVidiaGeForce4-4\224, 32MB @ 0x94000000)
^^^^^
Possible fix attached. This also overwrites the initial "nVidia" in
rivafb_fix.id making the output the same as in 2.4 (and using strlcpy
makes sure we don't overflow again). With this patch:
rivafb: PCI nVidia NV20 framebuffer ver 0.9.5b (GeForce4-440-GO-M64, 32MB @ 0x94000000)
Can this go in?
-- Guido
[-- Attachment #2: rivafb-fix-ident.diff --]
[-- Type: text/plain, Size: 915 bytes --]
--- ../benh-rsync-2.6-clean/include/linux/fb.h 2003-12-24 11:31:18.000000000 +0100
+++ include/linux/fb.h 2004-01-28 20:35:24.000000000 +0100
@@ -114,7 +114,7 @@
struct fb_fix_screeninfo {
- char id[16]; /* identification string eg "TT Builtin" */
+ char id[32]; /* identification string eg "TT Builtin" */
unsigned long smem_start; /* Start of frame buffer mem */
/* (physical address) */
__u32 smem_len; /* Length of frame buffer mem */
--- ../benh-rsync-2.6-clean/drivers/video/riva/fbdev.c 2003-12-24 08:30:11.000000000 +0100
+++ drivers/video/riva/fbdev.c 2004-01-28 21:04:29.000000000 +0100
@@ -1867,7 +1867,7 @@
goto err_out_kfree1;
memset(info->pixmap.addr, 0, 64 * 1024);
- strcat(rivafb_fix.id, rci->name);
+ strlcpy(rivafb_fix.id, rci->name, sizeof(rivafb_fix.id));
default_par->riva.Architecture = rci->arch_rev;
default_par->Chipset = (pd->vendor << 16) | pd->device;
next reply other threads:[~2004-01-29 17:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-29 17:25 Guido Guenther [this message]
2004-01-29 19:29 ` Petr Vandrovec
2004-01-29 19:33 ` James Simmons
2004-01-29 19:36 ` Guido Guenther
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040129172511.GA959@bogon.ms20.nix \
--to=agx@sigxcpu.org \
--cc=jsimmons@infradead.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®