public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Return real errno from execve in ____call_usermodehelper
@ 2006-08-19  7:30 Björn Steinbrink
  2006-08-19  8:14 ` Andrew Morton
  0 siblings, 1 reply; 27+ messages in thread
From: Björn Steinbrink @ 2006-08-19  7:30 UTC (permalink / raw)
  To: rusty; +Cc: linux-kernel, akpm

If execve fails in ____call_usermodehelper we treat its return value as
error code, but as execve is a syscall, we actually want -errno there.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>

--

diff --git a/kernel/kmod.c b/kernel/kmod.c
index 1d32def..865abc0 100644
--- a/kernel/kmod.c
+++ b/kernel/kmod.c
@@ -149,8 +149,10 @@ static int ____call_usermodehelper(void 
 	set_cpus_allowed(current, CPU_MASK_ALL);
 
 	retval = -EPERM;
-	if (current->fs->root)
-		retval = execve(sub_info->path, sub_info->argv,sub_info->envp);
+	if (current->fs->root) {
+		execve(sub_info->path, sub_info->argv, sub_info->envp);
+		retval = -errno;
+	}
 
 	/* Exec failed? */
 	sub_info->retval = retval;


^ permalink raw reply related	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2006-08-22 15:38 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-19  7:30 [PATCH] Return real errno from execve in ____call_usermodehelper Björn Steinbrink
2006-08-19  8:14 ` Andrew Morton
2006-08-19  8:42   ` Russell King
2006-08-20 13:01     ` Arnd Bergmann
2006-08-20 13:47       ` Björn Steinbrink
2006-08-20 17:13         ` [PATCH] introduce kernel_execve function to replace __KERNEL_SYSCALLS__ Arnd Bergmann
2006-08-20 17:36           ` Chase Venters
2006-08-20 18:25             ` Andrew Morton
2006-08-20 18:32               ` Chase Venters
2006-08-20 19:45                 ` Björn Steinbrink
2006-08-20 19:50                   ` Arjan van de Ven
2006-08-20 20:11                     ` Björn Steinbrink
2006-08-20 20:20                       ` Arjan van de Ven
2006-08-20 20:36                         ` Björn Steinbrink
2006-08-20 20:40                           ` Arjan van de Ven
2006-08-21  1:55                           ` Jeff Dike
2006-08-20 20:33                       ` Arnd Bergmann
2006-08-20 19:31             ` Arnd Bergmann
2006-08-21  0:36           ` Paul Mackerras
2006-08-21 15:12             ` Arnd Bergmann
2006-08-21 15:17               ` Russell King
2006-08-22  7:29               ` Benjamin Herrenschmidt
2006-08-22  8:00                 ` Björn Steinbrink
2006-08-22 10:06                   ` Arnd Bergmann
2006-08-22 13:39                     ` Jeff Dike
2006-08-22 15:13                       ` Arnd Bergmann
2006-08-22 15:37                         ` Jeff Dike

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox