afs: Properly reset afs_vnode (inode) fields
authorDavid Howells <dhowells@redhat.com>
Fri, 1 Dec 2017 11:40:43 +0000 (11:40 +0000)
committerDavid Howells <dhowells@redhat.com>
Fri, 1 Dec 2017 11:51:24 +0000 (11:51 +0000)
commitf8de483e7440b0d23ce6372b3ef8358841c8827b
tree7c1f01841c8171313af72a3f378393f916493032
parent1bcab12521d9b23dbaa22ac71184778dcc43e2f6
afs: Properly reset afs_vnode (inode) fields

When an AFS inode is allocated by afs_alloc_inode(), the allocated
afs_vnode struct isn't necessarily reset from the last time it was used as
an inode because the slab constructor is only invoked once when the memory
is obtained from the page allocator.

This means that information can leak from one inode to the next because
we're not calling kmem_cache_zalloc().  Some of the information isn't
reset, in particular the permit cache pointer.

Bring the clearances up to date.

Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Marc Dionne <marc.dionne@auristor.com>
fs/afs/internal.h
fs/afs/super.c