Messages in this thread | | | Date | Mon, 21 Jul 2014 07:18:54 -0500 | From | Seth Forshee <> | Subject | Re: [PATCH 1/3] fuse/dev: Fix unbalanced calls to kunmap_atomic() during splice I/O |
| |
On Fri, Jul 18, 2014 at 05:21:55PM +0200, Miklos Szeredi wrote: > On Mon, Jul 14, 2014 at 9:18 PM, Seth Forshee > <seth.forshee@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?
Yes, that commit does seem to fix the problem.
| |