lkml.org 
[lkml]   [2013]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Re: [PATCH 2/2] [BUGFIX] virtio/console: Add pipe_lock/unlock for splice_write
Hi Amit,

(2013/07/19 14:23), Amit Shah wrote:
> On (Fri) 19 Jul 2013 [08:19:32], Yoshihiro YUNOMAE wrote:
>> Add pipe_lock/unlock for splice_write to avoid oops by following competition:
>
>> diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
>> index 8722656..4a28e4c 100644
>> --- a/drivers/char/virtio_console.c
>> +++ b/drivers/char/virtio_console.c
>> @@ -936,6 +936,7 @@ static ssize_t port_fops_splice_write(struct pipe_inode_info *pipe,
>> * pipe->nrbufs == 0 means there are no data to transfer,
>> * so this returns just 0 for no data.
>> */
>> + pipe_lock(pipe);
>> if (!pipe->nrbufs)
>> return 0;
>>
>> @@ -953,6 +954,7 @@ static ssize_t port_fops_splice_write(struct pipe_inode_info *pipe,
>> sgl.sg = buf->sg;
>> sg_init_table(sgl.sg, sgl.size);
>> ret = __splice_from_pipe(pipe, &sd, pipe_to_sg);
>> + pipe_unlock(pipe);
>> if (likely(ret > 0))
>> ret = __send_to_port(port, buf->sg, sgl.n, sgl.len, buf, true);
>>
>>
>
> You're not unlocking in all the error return cases.

Oh, sorry.
I'll resend a revised patch soon.
Thanks!

Yoshihiro YUNOMAE

--
###2013.03.18より変更###
-------------------------------------------------
湯前 慶大(YUNOMAE Yoshihiro)
(株)日立製作所 横浜研究所
ソフトウェアプラットフォーム研究部 PP3u & LTC
e-mail: yoshihiro.yunomae.ez@hitachi.com
内線PHS: 874-2583
外線PHS: 050-3135-2583
-------------------------------------------------
Yoshihiro YUNOMAE
Software Platform Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: yoshihiro.yunomae.ez@hitachi.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: 2013-07-19 10:42    [W:0.043 / U:1.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site