On 01/25/2012 09:12 PM, Orjan Friberg wrote:
I've boiled it down to whether CONFIG_PREEMPT (bug happens) or
CONFIG_PREEMPT_VOLUNTARY (bug doesn't happen) is selected.
No, I haven't. The problem disappeared only for
while :; do dd if=/dev/zero of=file bs=800 count=1; done
That one-liner was boiled down from the following program, which still
oopses instantly:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main()
{
int fd;
struct stat st;
char buf[800];
do {
unlink("file2");
fd = open("file1", O_RDWR|O_CREAT|O_TRUNC, 0666);
stat("file1", &st);
lseek(fd, 0, SEEK_SET);
write(fd, buf, 800);
close(fd);
rename("file1", "file2");
} while (1);
return 0;
}
(Apologies for spamming.)
--
Orjan Friberg
FlatFrog Laboratories AB
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html