devtmpfs: fix theoretical stale pointer deref in devtmpfsd()
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Wed, 15 Jan 2020 18:41:49 +0000 (19:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Jan 2020 14:28:14 +0000 (15:28 +0100)
commitc9d6b287d786db3a6bf3d99c1d99cd7e1d639485
tree658824f220627ff2647968b6784266f55b385dc0
parent0707cfa5c3ef58effb143db9db6d6e20503f9dec
devtmpfs: fix theoretical stale pointer deref in devtmpfsd()

After complete(&setup_done), devtmpfs_init proceeds and may actually
return, invalidating the *err pointer, before devtmpfsd() proceeds to
reading back *err.

This is of course completely theoretical since the error conditions
never trigger in practice, and even if they did, nobody cares about
the exit value from a kernel thread, so it doesn't matter if we happen
to read back some garbage from some other stack frame. Still, this
isn't a pattern that should be copy-pasted, so fix it.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Link: https://lore.kernel.org/r/20200115184154.3492-2-linux@rasmusvillemoes.dk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/devtmpfs.c