From: Tejun Heo Date: Mon, 3 Feb 2014 19:02:57 +0000 (-0500) Subject: kernfs: invoke kernfs_unmap_bin_file() directly from kernfs_deactivate() X-Git-Tag: v3.15-rc1~140^2~40 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ccf02aaf8167bb8bfb3c17c01c843d309b872671;p=pandora-kernel.git kernfs: invoke kernfs_unmap_bin_file() directly from kernfs_deactivate() kernfs_unmap_bin_file() is supposed to unmap all memory mappings of the target file before kernfs_remove() finishes; however, it currently is being called from kernfs_addrm_finish() and has the same race problem as the original implementation of deactivation when there are multiple removers - only the remover which snatches the node to its addrm_cxt->removed list is guaranteed to wait for its completion before returning. It can be easily fixed by moving kernfs_unmap_bin_file() invocation from kernfs_addrm_finish() to kernfs_deactivated(). The function may be called multiple times but that shouldn't do any harm. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman --- Reading git-diff-tree failed