[lxc-devel] [PATCH 1/3] fuse/dev: Fix unbalanced calls to kunmap_atomic() during splice I/O

Miklos Szeredi miklos at szeredi.hu
Fri Jul 18 15:21:55 UTC 2014


On Mon, Jul 14, 2014 at 9:18 PM, Seth Forshee
<seth.forshee at canonical.com> wrote:
> fuse_copy_finish() assumes that mapaddr in fuse_copy_state refers
> to a valid mapping if currbuf is non-NULL, but this isn't always
> true when moving pages for splice I/O. This results in an
> unbalanced call to kunmap_atomic() and thus an unbalanced
> decrement of the preempt count. Avoid this by checking that
> mapaddr is non-NULL before calling kunmap_atomic().

I guess this is obsoleted by:

  c55a01d360af  fuse: avoid scheduling while atomic

which moves the kmap/kunmap closer to the actual use of the mapping.

Can you please verify?

Thanks,
Miklos


More information about the lxc-devel mailing list