devtmpfs: factor out setup part of devtmpfsd()
Factor out the setup part of devtmpfsd() to make it a bit easier to see that we always call setup_done() exactly once (provided of course the kthread is succesfully created). Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Link: https://lore.kernel.org/r/20200115184154.3492-3-linux@rasmusvillemoes.dk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c9d6b287d7
commit
0ff0e95e99
@ -388,7 +388,7 @@ static int handle(const char *name, umode_t mode, kuid_t uid, kgid_t gid,
|
||||
return handle_remove(name, dev);
|
||||
}
|
||||
|
||||
static int devtmpfsd(void *p)
|
||||
static int devtmpfs_setup(void *p)
|
||||
{
|
||||
int err;
|
||||
|
||||
@ -400,7 +400,18 @@ static int devtmpfsd(void *p)
|
||||
goto out;
|
||||
ksys_chdir("/.."); /* will traverse into overmounted root */
|
||||
ksys_chroot(".");
|
||||
out:
|
||||
*(int *)p = err;
|
||||
complete(&setup_done);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int devtmpfsd(void *p)
|
||||
{
|
||||
int err = devtmpfs_setup(p);
|
||||
|
||||
if (err)
|
||||
return err;
|
||||
while (1) {
|
||||
spin_lock(&req_lock);
|
||||
while (requests) {
|
||||
@ -421,10 +432,6 @@ static int devtmpfsd(void *p)
|
||||
schedule();
|
||||
}
|
||||
return 0;
|
||||
out:
|
||||
*(int *)p = err;
|
||||
complete(&setup_done);
|
||||
return err;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user