File ppc64-diag-tmpraces.patch of Package ppc64-diag.636
Index: ppc64-diag-2.6.7/lpd/test/lpd_ela_test.sh
===================================================================
--- ppc64-diag-2.6.7.orig/lpd/test/lpd_ela_test.sh
+++ ppc64-diag-2.6.7/lpd/test/lpd_ela_test.sh
@@ -22,7 +22,7 @@ EXECUTION_LOG="$LOG_DIR/$SCRIPT_NAME.log
ERROR_LOG="$LOG_DIR/$SCRIPT_NAME.err"
TMP_DIR="/var/tmp/ras"
-mkdir -p $TMP_DIR
+mkdir $TMP_DIR || exit 1
MESSAGE_FILE="$TMP_DIR/messages"
TMP_FILE="$TMP_DIR/$SCRIPT_NAME.tmp"
Index: ppc64-diag-2.6.7/rtas_errd/diag_support.c
===================================================================
--- ppc64-diag-2.6.7.orig/rtas_errd/diag_support.c
+++ ppc64-diag-2.6.7/rtas_errd/diag_support.c
@@ -230,27 +230,23 @@ get_dt_status(char *dev)
char loc_file[80];
char target[80];
char *ptr;
- char command[]="/usr/bin/find /proc/device-tree -name status -print > /tmp/get_dt_files";
+ char command[]="/usr/bin/find /proc/device-tree -name status -print";
- if (system(command) != 0) {
+ fp1 = popen(command,"r");
+
+ if (!fp1) {
fprintf(stderr, "get_dt_status find command failed\n");
return NULL;
}
- /* results of the find command */
- fp1 = fopen("/tmp/get_dt_files", "r");
- if (fp1 == 0) {
- fprintf(stderr, "open failed on /tmp/get_dt_files\n");
- return NULL;
- }
-
while (fscanf (fp1, "%s", loc_file) != EOF) {
- dbg("read from /tmp/get_dt_files, \"%s\"", loc_file);
+ dbg("read from find, \"%s\"", loc_file);
/* read the status in case this is the one */
fp2 = fopen(loc_file, "r");
if (fp2 == 0) {
fprintf(stderr, "open failed on %s\n", loc_file);
+ pclose(fp1);
return NULL;
}
if (fscanf(fp2, "%s", target_status)) {
@@ -259,6 +255,7 @@ get_dt_status(char *dev)
}
else {
fprintf(stderr, "read failed on %s\n", loc_file);
+ pclose(fp1);
return NULL;
}
@@ -270,6 +267,7 @@ get_dt_status(char *dev)
fp2 = fopen(loc_file, "r");
if (fp2 == 0) {
fprintf(stderr, "open failed on %s\n", loc_file);
+ pclose(fp1);
return NULL;
}
@@ -278,6 +276,8 @@ get_dt_status(char *dev)
target, loc_file);
if (strcmp(dev, target) == 0) {
dbg("status = \"%s\"", target_status);
+ pclose (fp1);
+ fclose (fp2);
return target_status;
}
@@ -285,11 +285,12 @@ get_dt_status(char *dev)
}
else {
fprintf(stderr, "read failed on %s\n", loc_file);
+ pclose(fp1);
return NULL;
}
}
- fclose(fp1);
+ pclose(fp1);
fprintf(stderr, "error: status NOT FOUND\n");
return NULL;
}
Index: ppc64-diag-2.6.7/scripts/ppc64_diag_mkrsrc
===================================================================
--- ppc64-diag-2.6.7.orig/scripts/ppc64_diag_mkrsrc
+++ ppc64-diag-2.6.7/scripts/ppc64_diag_mkrsrc
@@ -136,7 +136,7 @@ if (-e "/proc/device-tree/ibm,converged-
}
# Retrieve Extended Error Data (EED)
-mkdir "/tmp/diagSEsnap", 0775;
+mkdir "/tmp/diagSEsnap", 0700 || die "mkdir failed: $!";
$general_eed_file = "/tmp/diagSEsnap/snapH.tar.gz";
system("/usr/sbin/snap -o $general_eed_file 2>/dev/null 1>&2");
$cstop_eed_file = "";