summaryrefslogtreecommitdiffstats
path: root/fs/afs/server.c
diff options
context:
space:
mode:
authorDenis Kirjanov2010-06-01 18:15:39 +0200
committerLinus Torvalds2010-06-01 18:26:36 +0200
commit037776fcbe73236408f6c9ca97c782457efd6b53 (patch)
treeb3822d07bbcf0831be533c5e5704081441eae0bc /fs/afs/server.c
parentfix cpu_chain section mismatch... (diff)
downloadkernel-qcow2-linux-037776fcbe73236408f6c9ca97c782457efd6b53.tar.gz
kernel-qcow2-linux-037776fcbe73236408f6c9ca97c782457efd6b53.tar.xz
kernel-qcow2-linux-037776fcbe73236408f6c9ca97c782457efd6b53.zip
AFS: Fix possible null pointer dereference in afs_alloc_server()
Fix a possible null pointer dereference in afs_alloc_server(): the server pointer is NULL if there was an allocation failure, and under such a condition, we can't dereference it in the _leave() statement. Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/afs/server.c')
-rw-r--r--fs/afs/server.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/afs/server.c b/fs/afs/server.c
index f49099516675..9fdc7fe3a7bc 100644
--- a/fs/afs/server.c
+++ b/fs/afs/server.c
@@ -91,9 +91,10 @@ static struct afs_server *afs_alloc_server(struct afs_cell *cell,
memcpy(&server->addr, addr, sizeof(struct in_addr));
server->addr.s_addr = addr->s_addr;
+ _leave(" = %p{%d}", server, atomic_read(&server->usage));
+ } else {
+ _leave(" = NULL [nomem]");
}
-
- _leave(" = %p{%d}", server, atomic_read(&server->usage));
return server;
}