[RFC 05/10] kmod: return -EBUSY if modprobe limit is reached

From: Luis R. Rodriguez
Date: Thu Dec 08 2016 - 14:48:48 EST


Running out of our modprobe limit is not a memory limit but
a system specific established limitation set to avoid a possible
recursive issue with modprobe. This gives userspace a better idea
of what happened if we can't load a module, it could use this to
wait and try again.

Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
---
kernel/kmod.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/kmod.c b/kernel/kmod.c
index 049d7eabda38..ab38539f7e91 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -117,7 +117,7 @@ static int kmod_umh_threads_get(void)
if (atomic_read(&kmod_concurrent) < max_modprobes)
return 0;
atomic_dec(&kmod_concurrent);
- return -ENOMEM;
+ return -EBUSY;
}

static void kmod_umh_threads_put(void)
--
2.10.1