Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1211038

Re: omapdss: Division by zero in kernel

From Tomi Valkeinen <tomi.valkeinen@ti.com>
Newsgroups linux.kernel
Subject Re: omapdss: Division by zero in kernel
Date 2015-08-21 11:20 +0200
Message-ID <pZQEr-7Jq-19@gated-at.bofh.it> (permalink)
References <pPNHQ-2hh-13@gated-at.bofh.it> <pZQbn-6VO-5@gated-at.bofh.it> <pZQbn-6VO-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

On 21/08/15 11:48, Pali Rohár wrote:
> On Friday 21 August 2015 11:42:14 Tomi Valkeinen wrote:
>>
>>
>> On 24/07/15 19:03, Pali Rohár wrote:
>>> Hello,
>>>
>>> when on N900 (real HW or qemu) I run this command
>>>
>>> / # echo 0 > /sys/devices/platform/omapdss/overlay0/enabled && echo 0 > /sys/class/graphics/fb0/size
>>>
>>> then kernel crash with this error message
>>>
>>> / # [   29.904113] Division by zero in kernel.
>>
> 
> Hi! Thanks for explaining.
> 
>> The problem is that fb console uses the kernel mmapped framebuffer, but
>> omapfb is not aware of the fb console. So the above commands free the
>> framebuffer, as omapfb thinks no one is using it, and then fb console
>> tries to touch the fb.
>>
> 
> What about refusing those calls from fb console? So fb console will not
> know about this problem and omapfb will just ignore drawn functions?

Hmm, I'm not sure I understand what you mean... omapfb is not drawing
anything, fbcon is doing the drawing independently to the fb. And the fb
suddenly disappears without fbcon realizing that.

>> omapfb tracks mmaps from userspace, and refuses to free a fb it it's
>> mmapped.
>>
>> I don't know how to fix it straight away. Maybe there's a way for omapfb
>> to check if the fbcon uses the fb in question, and if so, refuses to
>> release/resize the memory.
>>
>>  Tomi
>>
> 
> Maemo userspace (on Nokia N900) uses above commands to initialize
> graphic and Xserver. So it would be nice if disabling framebuffer would
> work even if fbcon.ko is loaded (or compiled directly into zImage).

Ok. And N900 has fbcon enabled? I wonder how it survives...

fbcon can be unbound from userspace with something like:

echo 0 > /sys/class/vtconsole/vtcon1/bind

After that I think the memory can be freed.

But obviously the kernel should not crash here, no question about that.

 Tomi

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: omapdss: Division by zero in kernel Pali Rohár <pali.rohar@gmail.com> - 2015-08-21 10:50 +0200
  Re: omapdss: Division by zero in kernel Tomi Valkeinen <tomi.valkeinen@ti.com> - 2015-08-21 11:20 +0200
    Re: omapdss: Division by zero in kernel Pali Rohár <pali.rohar@gmail.com> - 2015-08-26 12:20 +0200

csiph-web