ipcns: use after free in free_ipc_ns()
PATCH 1/1 ipcns: use after free in free_ipc_ns()
We dereference "ns" after it has been freed. This was introduced in b515498f5bb5 "userns: add a user namespace owner of ipc ns".
Signed-off-by Dan Carpenter <[email protected]>
ipc/namespace.c +1 -1
@@ -104,7 +104,6 @@ static void free_ipc_ns(struct ipc_namespace *ns)sem_exit_ns (ns);msg_exit_ns (ns);shm_exit_ns (ns); -kfree (ns);atomic_dec (&nr_ipc_ns);/*
@@ -113,6 +112,7 @@ static void free_ipc_ns(struct ipc_namespace *ns)*/ ipcns_notify (IPCNS_REMOVED );put_user_ns (ns->user_ns); +kfree (ns); }/*
Quoted 2 lines · Dan Carpenter
We dereference "ns" after it has been freed. This was introduced in
b515498f5bb5"userns: add a user namespace owner of ipc ns".
I think Andrew has already merged this fix.
Quoted 23 lines
Signed-off-by Dan Carpenter <[email protected]>ipc/namespace.c +1
-1@@ -104,7 +104,6 @@ static void free_ipc_ns(struct ipc_namespace *ns)sem_exit_ns (ns);msg_exit_ns (ns);shm_exit_ns (ns); -kfree (ns);atomic_dec (&nr_ipc_ns);/* @@ -113,6 +112,7 @@ static void free_ipc_ns(struct ipc_namespace *ns)*/ ipcns_notify (IPCNS_REMOVED );put_user_ns (ns->user_ns); +kfree (ns); }/*