* Kernel oops with current fbdev code
@ 2003-03-13 10:23 Thomas Winischhofer
2003-04-02 22:32 ` James Simmons
0 siblings, 1 reply; 2+ messages in thread
From: Thomas Winischhofer @ 2003-03-13 10:23 UTC (permalink / raw)
To: jsimmons; +Cc: linux-fbdev-devel, adaplas
James, Tony, list,
the SiS X driver tries to communicate with sisfb during server startup.
This is done by fopen()-ing "/dev/fb0" through "/dev/fb7". If the open
succeeds, a SiS-specific ioctl is done, which is checked to originate
from sisfb and eventually processed. (This is by the way the same way
the fbdev X driver probes for available framebuffer devices.)
If no framebuffer is available, the fopen()-calls usually fail. If
another framebuffer (other than sisfb) is answering, the ioctl either
fails or does not identify correctly. So far so good.
Under 2.5.63 and 2.5.64 (haven't tried older 2.5 kernels), no matter
whether using James' latest patch or not, the fopen()-call causes an
Oops as soon as "/dev/fb3" is probed.
Without having looked at the relevant code, I suspect it something to do
with the strange fact, that /dev/fbX is not "translated" to fbX as in
2.4, but fb0, fb32, fb64 - and at fb128 (which is logically the
"translation" of /dev/fb3) it goes boom.
Here is the syslog from the point on where /dev/fb0 was probed:
Mar 5 12:47:08 oland modprobe: FATAL: Module fb0 not found.
Mar 5 12:47:08 oland modprobe: FATAL: Module fb32 not found.
Mar 5 12:47:08 oland modprobe: FATAL: Module fb64 not found.
Mar 5 12:47:08 oland kernel: Unable to handle kernel NULL pointer
dereference at virtual address 00000000
Mar 5 12:47:08 oland kernel: printing eip:
Mar 5 12:47:08 oland kernel: c024ce74
Mar 5 12:47:08 oland kernel: *pde = 00000000
Mar 5 12:47:08 oland kernel: Oops: 0000
Mar 5 12:47:08 oland kernel: CPU: 0
Mar 5 12:47:08 oland kernel: EIP: 0060:[fb_open+60/180] Not tainted
Mar 5 12:47:08 oland kernel: EIP: 0060:[<c024ce74>] Not tainted
Mar 5 12:47:08 oland kernel: EFLAGS: 00013286
Mar 5 12:47:08 oland kernel: EIP is at fb_open+0x3c/0xb4
Mar 5 12:47:08 oland kernel: eax: 00000000 ebx: c1586000 ecx:
c03557c0 edx: 00000001
Mar 5 12:47:08 oland kernel: esi: c03be100 edi: 00000000 ebp:
d9405f28 esp: d9405f1c
Mar 5 12:47:08 oland kernel: ds: 007b es: 007b ss: 0068
Mar 5 12:47:08 oland kernel: Process X (pid: 995, threadinfo=d9404000
task=d8927920)
Mar 5 12:47:08 oland kernel: Stack: 00000000 d9953120 dabae6c0 d9405f44
c014792f dabae6c0 d9953120 d9953120
Mar 5 12:47:08 oland kernel: dabae6c0 00000000 d9405f60 c01402ec
dabae6c0 d9953120 bffff818 d8b94000
Mar 5 12:47:08 oland kernel: 00000002 d9405f9c c0140203 dabb0840
dbfea560 00000002 00000006 0826d160
Mar 5 12:47:08 oland kernel: Call Trace:
Mar 5 12:47:08 oland kernel: [chrdev_open+63/80] chrdev_open+0x3f/0x50
Mar 5 12:47:08 oland kernel: [<c014792f>] chrdev_open+0x3f/0x50
Mar 5 12:47:08 oland kernel: [dentry_open+220/416] dentry_open+0xdc/0x1a0
Mar 5 12:47:08 oland kernel: [<c01402ec>] dentry_open+0xdc/0x1a0
Mar 5 12:47:08 oland kernel: [filp_open+79/92] filp_open+0x4f/0x5c
Mar 5 12:47:08 oland kernel: [<c0140203>] filp_open+0x4f/0x5c
Mar 5 12:47:08 oland kernel: [sys_open+55/116] sys_open+0x37/0x74
Mar 5 12:47:08 oland kernel: [<c014059f>] sys_open+0x37/0x74
Mar 5 12:47:08 oland kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Mar 5 12:47:08 oland kernel: [<c0108ac7>] syscall_call+0x7/0xb
Mar 5 12:47:08 oland kernel:
Mar 5 12:47:08 oland kernel: Code: 8b 00 85 c0 74 16 83 38 02 74 08 ff
80 c0 00 00 00 eb 09 31
Perhaps needless to say, but under 2.4 there were no such problems.
Questions:
1) Was there any relevant change, making the method of probing /dev/fb0
to /dev/fb7 by design incompatible?
2) Is this perhaps a bug in fb_open() or any higher level fbdev code?
Thomas
--
Thomas Winischhofer
Vienna/Austria
mailto:thomas@winischhofer.net http://www.winischhofer.net/
-------------------------------------------------------
This SF.net email is sponsored by:Crypto Challenge is now open!
Get cracking and register here for some mind boggling fun and
the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Kernel oops with current fbdev code
2003-03-13 10:23 Kernel oops with current fbdev code Thomas Winischhofer
@ 2003-04-02 22:32 ` James Simmons
0 siblings, 0 replies; 2+ messages in thread
From: James Simmons @ 2003-04-02 22:32 UTC (permalink / raw)
To: Thomas Winischhofer; +Cc: linux-fbdev-devel, adaplas
> James, Tony, list,
>
> the SiS X driver tries to communicate with sisfb during server startup.
> This is done by fopen()-ing "/dev/fb0" through "/dev/fb7". If the open
> succeeds, a SiS-specific ioctl is done, which is checked to originate
> from sisfb and eventually processed. (This is by the way the same way
> the fbdev X driver probes for available framebuffer devices.)
>
> If no framebuffer is available, the fopen()-calls usually fail. If
> another framebuffer (other than sisfb) is answering, the ioctl either
> fails or does not identify correctly. So far so good.
>
> Under 2.5.63 and 2.5.64 (haven't tried older 2.5 kernels), no matter
> whether using James' latest patch or not, the fopen()-call causes an
> Oops as soon as "/dev/fb3" is probed.
>
> Without having looked at the relevant code, I suspect it something to do
> with the strange fact, that /dev/fbX is not "translated" to fbX as in
> 2.4, but fb0, fb32, fb64 - and at fb128 (which is logically the
> "translation" of /dev/fb3) it goes boom.
I have a fix in the fbdev BK tree. It will be pushed to linus soon.
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-04-02 22:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-13 10:23 Kernel oops with current fbdev code Thomas Winischhofer
2003-04-02 22:32 ` James Simmons
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).