]> git.proxmox.com Git - mirror_zfs.git/commit
Fix arc_prune_task use-after-free
authorChunwei Chen <david.chen@osnexus.com>
Mon, 23 May 2016 18:58:21 +0000 (11:58 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 25 May 2016 21:11:53 +0000 (14:11 -0700)
commit4442f60d8e959e9983e58ff534e7302ebf2f9d7e
tree1cc68680db5bed9af9d10824d6449531a044724b
parent83426735026cefc9d8d566615064faaf55074897
Fix arc_prune_task use-after-free

arc_prune_task uses a refcount to protect arc_prune_t, but it doesn't prevent
the underlying zsb from disappearing if there's a concurrent umount. We fix
this by force the caller of arc_remove_prune_callback to wait for
arc_prune_taskq to finish.

Signed-off-by: Chunwei Chen <david.chen@osnexus.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #4687
Closes #4690
module/zfs/arc.c