-
由 Miklos Szeredi 提交于
Normal, synchronous requests will have their args allocated on the stack. After the FR_FINISHED bit is set by receiving the reply from the userspace fuse server, the originating task may return and reuse the stack frame, resulting in an Oops if the args structure is dereferenced. Fix by setting a flag in the request itself upon initializing, indicating whether it has an asynchronous ->end() callback. Reported-by: NKyle Sanderson <kyle.leet@gmail.com> Reported-by: NMichael Stapelberg <michael+lkml@stapelberg.ch> Fixes: 2b319d1f ("fuse: don't dereference req->args on finished request") Cc: <stable@vger.kernel.org> # v5.4 Tested-by: NMichael Stapelberg <michael+lkml@stapelberg.ch> Signed-off-by: NMiklos Szeredi <mszeredi@redhat.com>
3e8cb8b2