Re: [PATCH 0/5] splice: locking changes and code refactoring

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 18, 2014 at 08:27:17PM +0000, Al Viro wrote:

> Ouch^2: default_file_write_splice_write() keeps calling write_pipe_buf(),
> which does this:
>         data = buf->ops->map(pipe, buf, 0);
>         ret = __kernel_write(sd->u.file, data + buf->offset, sd->len, &tmp);
>         buf->ops->unmap(pipe, buf, data);
> IOW, ->write() (with whatever locks there might be) wrapped into
> kmap_atomic()/kunmap_atomic().  And anybody can do that - just a splice to
> file on procfs will hit that codepath...  Or on 9p, for that matter, or
> fat, or afs, or cifs, etc.

s/kmap_atomic/kmap/, so it's not that disastrously bad (kmap_atomic might
lose the mapping as soon as we block), but scarcity problem remains...

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux