btrfs: async-thread: Fix a use-after-free error for trace
authorQu Wenruo <quwenruo@cn.fujitsu.com>
Fri, 22 Jan 2016 01:28:38 +0000 (09:28 +0800)
committerChris Mason <clm@fb.com>
Tue, 26 Jan 2016 00:50:26 +0000 (16:50 -0800)
commit0a95b851370b84a4b9d92ee6d1fa0926901d0454
tree961bebab8ad070e86c3e5600e3617d28104a16b5
parentde0ee0edb21fbab4c7afa3e94573ecfebfb0244e
btrfs: async-thread: Fix a use-after-free error for trace

Parameter of trace_btrfs_work_queued() can be freed in its workqueue.
So no one use use that pointer after queue_work().

Fix the user-after-free bug by move the trace line before queue_work().

Reported-by: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/async-thread.c