summaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2019-08-22 13:28:43 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-09-10 10:33:52 +0100
commit1a31b0d0ddfacf698ec54bcd52e7f8540e36fe43 (patch)
treeea0fc5241d0091d01188099a577c57ad96f32569 /virt
parent111d36b6fb7ee8bc8635504aeba30bc5db0c16e1 (diff)
downloadlinux-stable-1a31b0d0ddfacf698ec54bcd52e7f8540e36fe43.tar.gz
linux-stable-1a31b0d0ddfacf698ec54bcd52e7f8540e36fe43.tar.bz2
linux-stable-1a31b0d0ddfacf698ec54bcd52e7f8540e36fe43.zip
afs: Fix leak in afs_lookup_cell_rcu()
[ Upstream commit a5fb8e6c02d6a518fb2b1a2b8c2471fa77b69436 ] Fix a leak on the cell refcount in afs_lookup_cell_rcu() due to non-clearance of the default error in the case a NULL cell name is passed and the workstation default cell is used. Also put a bit at the end to make sure we don't leak a cell ref if we're going to be returning an error. This leak results in an assertion like the following when the kafs module is unloaded: AFS: Assertion failed 2 == 1 is false 0x2 == 0x1 is false ------------[ cut here ]------------ kernel BUG at fs/afs/cell.c:770! ... RIP: 0010:afs_manage_cells+0x220/0x42f [kafs] ... process_one_work+0x4c2/0x82c ? pool_mayday_timeout+0x1e1/0x1e1 ? do_raw_spin_lock+0x134/0x175 worker_thread+0x336/0x4a6 ? rescuer_thread+0x4af/0x4af kthread+0x1de/0x1ee ? kthread_park+0xd4/0xd4 ret_from_fork+0x24/0x30 Fixes: 989782dcdc91 ("afs: Overhaul cell database management") Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions