[PATCH 4/6] kmod: return -EBUSY if modprobe limit is reached

Luis R. Rodriguez
2017-05-19T03:25:20Z

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@kernel.org>
---
kernel/kmod.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/kmod.c b/kernel/kmod.c
index 7635915dc91c..563600fc9bb1 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.11.0