[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <loom.20080918T041321-307@post.gmane.org>
Date: Thu, 18 Sep 2008 04:33:52 +0000 (UTC)
From: Halesh S <halesh.s@...ia.com>
To: linux-kernel@...r.kernel.org
Subject: execve exit status on MIPS
Hi all,
Please find the below testcase..
#include <stdio.h>
#include <limits.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#define EXE_NAME "./exe"
char e2BIG[ARG_MAX+1][10];
char *envList[]={NULL};
int main(void)
{
int ret,ind;
for(ind = 0; ind < ARG_MAX+1; ind++)
strcpy(e2BIG[ind], "helloworld");
if ((ret = chmod(EXE_NAME,0744)) != 0){
printf("chmod failed\n");
exit(1);
}
/* whne arg list is too long */
if ((ret = execve(EXE_NAME,e2BIG,envList)) == -1) {
if ( errno == E2BIG)
printf("Test Pass\n");
else
printf("Test Fail : Got Errno %d\n", errno);
exit(0);
}
else
printf("execve worked out of limit\n");
exit(1);
}
On MIPS E2BIG is not getting set as errno instead EFAULT is set, while on
other archs like ARM, PowerPC and i686 I am able to get E2BIG.
Please let me know about the issue...
Let EXE_NAME be any executable....
Thanks,
Halesh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists