lkml.org 
[lkml]   [2006]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 03/26] sysfs: zero terminate sysfs write buffers (CVE-2006-1055)
On 4/5/06, Al Viro <viro@ftp.linux.org.uk> wrote:
> On Wed, Apr 05, 2006 at 11:38:06AM -0400, Jon Smirl wrote:
> > On 4/5/06, Al Viro <viro@ftp.linux.org.uk> wrote:
> > > On Wed, Apr 05, 2006 at 07:09:28PM +0400, Sergey Vlasov wrote:
> > > > This will break the "color_map" sysfs file for framebuffers -
> > > > drivers/video/fbsysfs.c:store_cmap() expects to get exactly 4096 bytes
> > > > for a colormap with 256 entries. In fact, the original patch which
> > > > changed PAGE_SIZE - 1 to PAGE_SIZE:
> > >
> > > ... cheerfully assuming that nobody assumes NUL-termination and
> > > everyone (sysfs patch writers!) certainly uses the length argument.
> > > Fscking brilliant, that.
> > >
> > > Are you willing to audit all sysfs ->show() in the kernel? Original
> > > author of that turd had not been.
> > >
> > > FWIW, "color_map" is a blatant abuse of interface. Doesn't get
> > > any more borderline...
> >
> > The firmware interface is worse. You write the ROM image line by line
> > to the attribute and a hidden counter tracks how far your are into the
> > image.
> >
> > There needs to be a standardized way to transfer larger pieces of data
> > via sysfs or we should go back to IOCTLs.
>
> How about _NOT_ using sysfs and just having ->read()/->write() on a file in fs
> of your own? ~20 lines for all of it, not counting #include...

Sysfs attributes allow full read/write on their file handles. But
GregKH has been discouraging that.

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

\
 
 \ /
  Last update: 2006-04-05 19:08    [W:0.114 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site