summaryrefslogtreecommitdiffstats
path: root/fs/afs/callback.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2019-06-20 16:49:35 +0100
committerDavid Howells <dhowells@redhat.com>2019-06-20 16:49:35 +0100
commita6853b9ce81a8f32f3c13c30ae951bb6830a896a (patch)
tree7d9ec9c2d44c150862ab74db4475dd96ed8ce823 /fs/afs/callback.c
parent3647e42b55dcbf3b93457eb750660676e8df5010 (diff)
downloadlinux-a6853b9ce81a8f32f3c13c30ae951bb6830a896a.tar.bz2
afs: Fix vlserver record corruption
Because I made the afs_call struct share pointers to an afs_server object and an afs_vlserver object to save space, afs_put_call() calls afs_put_server() on afs_vlserver object (which is only meant for the afs_server object) because it sees that call->server isn't NULL. This means that the afs_vlserver object gets unpredictably and randomly modified, depending on what config options are set (such as lockdep). Fix this by getting rid of the union and having two non-overlapping pointers in the afs_call struct. Fixes: ffba718e9354 ("afs: Get rid of afs_call::reply[]") Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/callback.c')
0 files changed, 0 insertions, 0 deletions