On Thu 2016-12-08 11:49:01, Luis R. Rodriguez wrote:
> Just use the simplified rate limit printk when the max modprobe
> limit is reached, while at it throw out a bone should the error
> be triggered.
> 
> Signed-off-by: Luis R. Rodriguez <mcg...@kernel.org>
> ---
>  kernel/kmod.c | 10 ++--------
>  1 file changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/kernel/kmod.c b/kernel/kmod.c
> index 09cf35a2075a..ef65f4c3578a 100644
> --- a/kernel/kmod.c
> +++ b/kernel/kmod.c
> @@ -158,7 +158,6 @@ int __request_module(bool wait, const char *fmt, ...)
>       va_list args;
>       char module_name[MODULE_NAME_LEN];
>       int ret;
> -     static int kmod_loop_msg;
>  
>       /*
>        * We don't allow synchronous module loading from async.  Module
> @@ -183,13 +182,8 @@ int __request_module(bool wait, const char *fmt, ...)
>  
>       ret = kmod_umh_threads_get();
>       if (ret) {
> -             /* We may be blaming an innocent here, but unlikely */
> -             if (kmod_loop_msg < 5) {
> -                     printk(KERN_ERR
> -                            "request_module: runaway loop modprobe %s\n",
> -                            module_name);
> -                     kmod_loop_msg++;
> -             }
> +             pr_err_ratelimited("request_module: modprobe limit (%u) reached 
> with module %s\n",
> +                                max_modprobes, module_name);

I like this change. I would only be even more descriptive in which
limit is reached. Something like

                pr_err_ratelimited("request_module: module \"%s\" reached limit 
(%u) of concurrent modprobe calls\n",
                                   module_name, max_modprobes);

Either way, feel free to add:

Reviewed-by: Petr Mladek <pmla...@suse.com>

Best Regards,
Petr

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to