[lkml]   [2003]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 2.4] i2c-dev user/kernel bug and mem leak
On Fri, 2003-08-15 at 14:13, Greg KH wrote:
> i2c-dev.c is annotated in 2.6. Did I miss anything that needs to be
> marked as such?

For this particular bug (before all the patches started flying around),
you'd have to add a kernel annotation to the "struct i2c_msg" field
buf. But you still have the problem that sparse silently ignores
missing annotations, so you can never tell if you've missed something
important. Cqual infers the annotations on its own, so you never have
to worry that some might be missing or wrong.

That's also how we get away with just ~200 annotations. From these
"seed" annotations, cqual figures out everything else on its own.

> > I think all these functions should be changed to take two pointers, only
> > one of which is allowed to be non-NULL. Then the flag can go away. I
> > hope to submit a patch to this effect in the future. I think sparse
> > can't check these either, unless you insert casts between user/kernel.
> > But inserting casts loses the benefits of the automatic verification,
> > since the casts could be wrong.
> Hm, how about just fixing the tty core to always pass in kernel buffers?
> That would fix the "problem" in one place :)

That's a good idea, but is that possible? In other words, can the tty
core always tell how much to copy into kernel space? The solution I
propose is a very simple change that fits easily into the current

> Hm, I had already applied your patch, so this one doesn't apply. Care
> to re-do it against 2.6.0-test4 whenever that comes out?

I was afraid that might happen. I'll do a patch against test4 when it's
available. Thanks for your suggestions.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:47    [W:0.113 / U:5.464 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site