Ralf Baechle wrote:
On Wed, Apr 16, 2008 at 03:32:22PM +0200, Kevin D. Kissell wrote:
--- a/arch/mips/kernel/kspd.c
+++ b/arch/mips/kernel/kspd.c
@@ -257,7 +257,7 @@ void sp_work_handle_request(void)
vcwd = vpe_getcwd(tclimit);
- /* change to the cwd of the process that loaded the SP program */
+ /* change to cwd of the process that loaded the SP program */
old_fs = get_fs();
set_fs(KERNEL_DS);
sys_chdir(vcwd);
@@ -323,6 +323,9 @@ static void sp_cleanup(void)
set >>= 1;
}
}
+
+ /* Put daemon cwd back to root to avoid umount problems */
+ sys_chdir("/");
Still not kosher; there might be multiple roots on a system ...
What do you suggest, then? Leaving things as they are makes it impossible
to do a clean shutdown of an APRP system if the kspd was last used to
support
an RP binary that was read from a mounted file system. I respectfully
submit
that it's at least an order of magnitude more likely that a mounted file
system
will have been used than a chrooted, mounted file system.
Regards,
Kevin K.