lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9e4733910705211005k761c976o1a6b270d87b49589@mail.gmail.com>
Date:	Mon, 21 May 2007 13:05:22 -0400
From:	"Jon Smirl" <jonsmirl@...il.com>
To:	"Jesse Barnes" <jbarnes@...tuousgeek.org>
Cc:	"Jesse Barnes" <jesse.barnes@...el.com>,
	linux-kernel@...r.kernel.org,
	"Antonino A. Daplas" <adaplas@...il.com>
Subject: Re: [RFC] enhancing the kernel's graphics subsystem

On 5/21/07, Jesse Barnes <jbarnes@...tuousgeek.org> wrote:
> On Monday, May 21, 2007, Jesse Barnes wrote:
> > > There is more to fbdev than mode setting. It is also how non-x86
> > > platforms achieve their boot display. How will boot display be handled
> > > with the your design? What about console display on non-x86 platforms?
> > > Loading both fbdev and the new code puts us right back into the
> > > multiple driver fight we have today.
> >
> > Maybe you should take a look at the patches. :)  The code I posted
> > actually creates an fb device as a slave of the DRM device, and uses
> > that for the boot console.  Once you've booted, you can use the new
> > interfaces to do whatever you want with the graphics device... though it
> > doesn't create /dev/fb* devices per-CRTC like you seem to want, it's
> > really easy to do the equivalent with a small userspace program (though
> > I haven't actually tested sharing of buffer objects, it should work).
>
> Actually, scratch that last bit.  I forgot about a recent change alanh
> committed that did just that:  per-CRTC FB devices.  So please take a
> close look (modesetting-101 of mesa/drm git at freedesktop.org) and let me
> know if you see any gaping holes.

Here are some of the goals that I believe a rewrite of the graphics
system should address:

1) Be upwards compatible with the existing fbdev drivers. This lets us
avoid rewriting the 90 existing drivers. New drivers shouldn't break
any old apps.

2) Address the long outstanding issue of multi-seat at the console
level. My solution to this is the one device per CRTC model.

3) Eliminate the need for a root priv controlling process. Get rid of
the potential for a security hole.

4) OOPS should always display even if in a graphics mode

5) Support Secure Attention Key (SAK).

6) Eliminate the existing VT swap driver free for all. I would compile
out the VT layer and replace it with a compatible API that enforces
some sanity.

7) Support Unicode on the console

8) Allow multiple user space graphics systems to run. These user space
systems should not touch the hardware, instead they ask the kernel
driver to manipulate the hardware on their behalf. Of course the
kernel driver is only the minimum code needed to arbitrate control of
the resources - it doesn't do things like implement drawing
algorithms.

9) Booting on non-VGA hardware still needs to work.

10) Support things like cloning and output device selection.

Of course a driver doesn't need to support all of this in its first
release. What's important is that the new architecture support all of
these features so that we don't end up rearchitecting it yet again.

Other people may add more things to this list. Let's get the design
right this time around and address all of the known problems.

-- 
Jon Smirl
jonsmirl@...il.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ