| From 659038428cb43a66e3eff71e2c845c9de3611a98 Mon Sep 17 00:00:00 2001 |
| From: Al Viro <viro@zeniv.linux.org.uk> |
| Date: Tue, 3 Apr 2018 00:13:17 -0400 |
| Subject: orangefs_kill_sb(): deal with allocation failures |
| |
| From: Al Viro <viro@zeniv.linux.org.uk> |
| |
| commit 659038428cb43a66e3eff71e2c845c9de3611a98 upstream. |
| |
| orangefs_fill_sb() might've failed to allocate ORANGEFS_SB(s); don't |
| oops in that case. |
| |
| Cc: stable@kernel.org |
| Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/orangefs/super.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| --- a/fs/orangefs/super.c |
| +++ b/fs/orangefs/super.c |
| @@ -594,6 +594,11 @@ void orangefs_kill_sb(struct super_block |
| /* provided sb cleanup */ |
| kill_anon_super(sb); |
| |
| + if (!ORANGEFS_SB(sb)) { |
| + mutex_lock(&orangefs_request_mutex); |
| + mutex_unlock(&orangefs_request_mutex); |
| + return; |
| + } |
| /* |
| * issue the unmount to userspace to tell it to remove the |
| * dynamic mount info it has for this superblock |