lkml.org 
[lkml]   [2013]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: use after free in sysfs_find_dirent
On Wed, Mar 20, 2013 at 10:34:40AM -0400, Sasha Levin wrote:
> On 03/19/2013 09:02 PM, Ming Lei wrote:
> > Hi Sasha,
> >
> > On Wed, Mar 20, 2013 at 12:28 AM, Sasha Levin <levinsasha928@gmail.com> wrote:
> >> On 03/19/2013 07:54 AM, Ming Lei wrote:
> >>
> >> With v3 of the patch:
> >>
> >> [ 1275.665758] sysfs_dir_pos-973 sysfs_dirent use after free: tun(tun)-uevent, 2-1472641949
> >
> > Thanks again for your test.
> >
> > Looks it is caused by another bug in sysfs_readdir: if filldir() returns
> > failure(such as small buffer length passed from userspace, very probably
> > for trinity) in case of 'if (filp->f_pos == 0 or 1)',
> > filp->private_data still will
> > point to one refcount-balanced sysfs_dirent object.
> >
> > V4 adds fix for this situation, please test attachment v4 patch.
>
> With this one it didn't happen at all during overnight tests so looks like it did
> the job.

Thanks for testing, and thanks Ming, for finding and fixing this.

greg k-h


\
 
 \ /
  Last update: 2013-03-20 19:21    [W:0.049 / U:0.520 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site