diff -uNr ltp-full-20120614/testcases/kernel/syscalls/mount/mount02.c ltp-full-20120614.bugfix/testcases/kernel/syscalls/mount/mount02.c
--- ltp-full-20120614/testcases/kernel/syscalls/mount/mount02.c	2012-07-12 10:59:29.000000000 +0800
+++ ltp-full-20120614.bugfix/testcases/kernel/syscalls/mount/mount02.c	2012-07-12 11:01:37.000000000 +0800
@@ -123,8 +123,8 @@
 static int Tflag = 0;
 static int Dflag = 0;
 
-static int exp_enos[] = { ENODEV, ENOTBLK, EBUSY, EINVAL, EFAULT, ENAMETOOLONG,
-	ENOENT, ENOTDIR, 0
+static int exp_enos[] = { ENODEV, ENOTBLK, EBUSY, EBUSY, EINVAL, EINVAL, EINVAL,EFAULT, EFAULT, ENAMETOOLONG,
+        ENOENT, ENOENT, ENOTDIR, 0
 };
 
 int TST_TOTAL = (sizeof(exp_enos) / sizeof(exp_enos[0])) - 1;
@@ -427,4 +427,4 @@
 	printf("-T type	  : specifies the type of filesystem to be mounted."
 	       " Default ext2. \n");
 	printf("-D device : device used for mounting \n");
-}
\ No newline at end of file
+}
diff -uNr ltp-full-20120614/testcases/kernel/syscalls/mount/mount03.c ltp-full-20120614.bugfix/testcases/kernel/syscalls/mount/mount03.c
--- ltp-full-20120614/testcases/kernel/syscalls/mount/mount03.c	2012-07-12 10:59:29.000000000 +0800
+++ ltp-full-20120614.bugfix/testcases/kernel/syscalls/mount/mount03.c	2012-07-12 11:09:57.000000000 +0800
@@ -277,7 +277,9 @@
 			tst_resm(TWARN|TERRNO, "opening %s failed", file);
 		} else {
 			close(fd);
-			execlp(file, basename(file), NULL);
+			if(system(file)) {
+				return 0;
+			}
 		}
 		return 1;
 	case 3:
@@ -460,11 +462,18 @@
 	if (getcwd(Path_name, sizeof(Path_name)) == NULL) {
 		tst_brkm(TBROK, cleanup, "getcwd failed");
 	}
+	/*
+	 * under temporary directory
+	 */
+	snprintf(Path_name + strlen(Path_name), PATH_MAX, "/%s/", mntpoint);
 	if (chmod(Path_name, DIR_MODE) != 0) {
 		tst_brkm(TBROK, cleanup, "chmod(%s, %#o) failed",
 		    Path_name, DIR_MODE);
 	}
-	snprintf(file, PATH_MAX, "%ssetuid_test", Path_name);
+
+	snprintf(testhome_path, PATH_MAX, "%s/setuid_test", test_home);
+		
+	snprintf(file, PATH_MAX, "%s", testhome_path);
 	if (stat(file, &setuid_test_stat) < 0) {
 		tst_brkm(TBROK, cleanup, "stat for setuid_test failed");
 	} else {
@@ -480,14 +489,6 @@
 		}
 	}
 
-	/*
-	 * under temporary directory
-	 */
-	snprintf(Path_name, PATH_MAX, "%s/%s/", Path_name, mntpoint);
-
-	strcpy(testhome_path, test_home);
-	strcat(testhome_path, "/setuid_test");
-
 	TEST_PAUSE;
 
 }
@@ -517,4 +518,4 @@
 	printf("-T type	  : specifies the type of filesystem to be mounted."
 	       " Default ext2. \n");
 	printf("-D device : device used for mounting \n");
-}
\ No newline at end of file
+}
