Skip to content

Commit

Permalink
exit: Rename module_put_and_exit to module_put_and_kthread_exit
Browse files Browse the repository at this point in the history
Update module_put_and_exit to call kthread_exit instead of do_exit.

Change the name to reflect this change in functionality.  All of the
users of module_put_and_exit are causing the current kthread to exit
so this change makes it clear what is happening.  There is no
functional change.

Signed-off-by: "Eric W. Biederman" <[email protected]>
  • Loading branch information
ebiederm committed Dec 13, 2021
1 parent bbda86e commit ca3574b
Show file tree
Hide file tree
Showing 11 changed files with 17 additions and 17 deletions.
4 changes: 2 additions & 2 deletions crypto/algboss.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ static int cryptomgr_probe(void *data)
complete_all(&param->larval->completion);
crypto_alg_put(&param->larval->alg);
kfree(param);
module_put_and_exit(0);
module_put_and_kthread_exit(0);
}

static int cryptomgr_schedule_probe(struct crypto_larval *larval)
Expand Down Expand Up @@ -190,7 +190,7 @@ static int cryptomgr_test(void *data)
crypto_alg_tested(param->driver, err);

kfree(param);
module_put_and_exit(0);
module_put_and_kthread_exit(0);
}

static int cryptomgr_schedule_test(struct crypto_alg *alg)
Expand Down
2 changes: 1 addition & 1 deletion fs/cifs/connect.c
Original file line number Diff line number Diff line change
Expand Up @@ -1139,7 +1139,7 @@ cifs_demultiplex_thread(void *p)
}

memalloc_noreclaim_restore(noreclaim_flag);
module_put_and_exit(0);
module_put_and_kthread_exit(0);
}

/*
Expand Down
4 changes: 2 additions & 2 deletions fs/nfs/callback.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ nfs4_callback_svc(void *vrqstp)
svc_process(rqstp);
}
svc_exit_thread(rqstp);
module_put_and_exit(0);
module_put_and_kthread_exit(0);
return 0;
}

Expand Down Expand Up @@ -137,7 +137,7 @@ nfs41_callback_svc(void *vrqstp)
}
}
svc_exit_thread(rqstp);
module_put_and_exit(0);
module_put_and_kthread_exit(0);
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion fs/nfs/nfs4state.c
Original file line number Diff line number Diff line change
Expand Up @@ -2689,6 +2689,6 @@ static int nfs4_run_state_manager(void *ptr)
allow_signal(SIGKILL);
nfs4_state_manager(clp);
nfs_put_client(clp);
module_put_and_exit(0);
module_put_and_kthread_exit(0);
return 0;
}
2 changes: 1 addition & 1 deletion fs/nfsd/nfssvc.c
Original file line number Diff line number Diff line change
Expand Up @@ -986,7 +986,7 @@ nfsd(void *vrqstp)

/* Release module */
mutex_unlock(&nfsd_mutex);
module_put_and_exit(0);
module_put_and_kthread_exit(0);
return 0;
}

Expand Down
6 changes: 3 additions & 3 deletions include/linux/module.h
Original file line number Diff line number Diff line change
Expand Up @@ -595,9 +595,9 @@ int module_get_kallsym(unsigned int symnum, unsigned long *value, char *type,
/* Look for this name: can be of form module:name. */
unsigned long module_kallsyms_lookup_name(const char *name);

extern void __noreturn __module_put_and_exit(struct module *mod,
extern void __noreturn __module_put_and_kthread_exit(struct module *mod,
long code);
#define module_put_and_exit(code) __module_put_and_exit(THIS_MODULE, code)
#define module_put_and_kthread_exit(code) __module_put_and_kthread_exit(THIS_MODULE, code)

#ifdef CONFIG_MODULE_UNLOAD
int module_refcount(struct module *mod);
Expand Down Expand Up @@ -790,7 +790,7 @@ static inline int unregister_module_notifier(struct notifier_block *nb)
return 0;
}

#define module_put_and_exit(code) do_exit(code)
#define module_put_and_kthread_exit(code) kthread_exit(code)

static inline void print_modules(void)
{
Expand Down
6 changes: 3 additions & 3 deletions kernel/module.c
Original file line number Diff line number Diff line change
Expand Up @@ -337,12 +337,12 @@ static inline void add_taint_module(struct module *mod, unsigned flag,
* A thread that wants to hold a reference to a module only while it
* is running can call this to safely exit. nfsd and lockd use this.
*/
void __noreturn __module_put_and_exit(struct module *mod, long code)
void __noreturn __module_put_and_kthread_exit(struct module *mod, long code)
{
module_put(mod);
do_exit(code);
kthread_exit(code);
}
EXPORT_SYMBOL(__module_put_and_exit);
EXPORT_SYMBOL(__module_put_and_kthread_exit);

/* Find a module section: 0 means not found. */
static unsigned int find_sec(const struct load_info *info, const char *name)
Expand Down
2 changes: 1 addition & 1 deletion net/bluetooth/bnep/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,7 @@ static int bnep_session(void *arg)

up_write(&bnep_session_sem);
free_netdev(dev);
module_put_and_exit(0);
module_put_and_kthread_exit(0);
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion net/bluetooth/cmtp/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ static int cmtp_session(void *arg)
up_write(&cmtp_session_sem);

kfree(session);
module_put_and_exit(0);
module_put_and_kthread_exit(0);
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion net/bluetooth/hidp/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1305,7 +1305,7 @@ static int hidp_session_thread(void *arg)
l2cap_unregister_user(session->conn, &session->user);
hidp_session_put(session);

module_put_and_exit(0);
module_put_and_kthread_exit(0);
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion tools/objtool/check.c
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func,
"do_task_dead",
"kthread_exit",
"make_task_dead",
"__module_put_and_exit",
"__module_put_and_kthread_exit",
"complete_and_exit",
"__reiserfs_panic",
"lbug_with_loc",
Expand Down

0 comments on commit ca3574b

Please sign in to comment.