lkml.org 
[lkml]   [2008]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 16/21] KGDB: This allows for KGDB to better deal with autoloaded modules.
Jan Kiszka wrote:
> These days, notify_mutex should better be a real mutex.
>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>
> ---
> kernel/module.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> Index: b/kernel/module.c
> ===================================================================
> --- a/kernel/module.c
> +++ b/kernel/module.c
> @@ -66,7 +66,7 @@ extern int module_sysfs_initialized;
> * (add/delete uses stop_machine). */
> static DEFINE_MUTEX(module_mutex);
> static LIST_HEAD(modules);
> -static DECLARE_MUTEX(notify_mutex);
> +static DEFINE_MUTEX(notify_mutex);
>
> static BLOCKING_NOTIFIER_HEAD(module_notify_list);
>
> @@ -712,10 +712,10 @@ sys_delete_module(const char __user *nam
> if (ret != 0)
> goto out;
>
> - down(&notify_mutex);
> + mutex_lock(&notify_mutex);
> blocking_notifier_call_chain(&module_notify_list, MODULE_STATE_GOING,
> mod);
> - up(&notify_mutex);
> + mutex_unlock(&notify_mutex);
>
>
> /* Never wait if forced. */
> @@ -730,10 +730,10 @@ sys_delete_module(const char __user *nam
> }
> free_module(mod);
>
> - down(&notify_mutex);
> + mutex_lock(&notify_mutex);
> blocking_notifier_call_chain(&module_notify_list, MODULE_STATE_GONE,
> NULL);
> - up(&notify_mutex);
> + mutex_unlock(&notify_mutex);
>
> out:
> mutex_unlock(&module_mutex);
> @@ -2182,11 +2182,11 @@ sys_init_module(void __user *umod,
> /* Init routine failed: abort. Try to protect us from
> buggy refcounters. */
> mod->state = MODULE_STATE_GOING;
> - down(&notify_mutex);
> + mutex_lock(&notify_mutex);
> blocking_notifier_call_chain(&module_notify_list,
> MODULE_STATE_GOING,
> mod);
> - up(&notify_mutex);
> + mutex_unlock(&notify_mutex);
> synchronize_sched();
> module_put(mod);
> mutex_lock(&module_mutex);
>
Jan,

This looks fine.

I committed this to the latest development branch as well as the 2.6.24
branch. It will show up in the kernel.org & cvs repository later today.

Thanks,
Jason.



\
 
 \ /
  Last update: 2008-01-17 15:21    [W:1.063 / U:0.412 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site