lkml.org 
[lkml]   [2009]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] direct_io: fix use after free in __blockdev_direct_IO
On 12/17/2009 05:29 PM, Al Viro wrote:
> On Thu, Dec 17, 2009 at 04:49:32PM +0800, Xiaotian Feng wrote:
>> @@ -1197,7 +1200,11 @@ __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,
>> (end> i_size_read(inode)));
>>
>> retval = direct_io_worker(rw, iocb, inode, iov, offset,
>> - nr_segs, blkbits, get_block, end_io, dio);
>> + nr_segs, blkbits, get_block, end_io,
>> + dio,&dio_freed);
>> +
>> + if (dio_freed)
>> + goto out;
>
> Um... I'm not sure that this would be the right fix. How about simple
> s/dio->flags/flags/ in the line below?
Yes, dio->flags is not changed in direct_io_worker(), your method is
better, thanks.



\
 
 \ /
  Last update: 2009-12-17 10:37    [from the cache]
©2003-2011 Jasper Spaans