Hi, > obviously this is a newbie question, but I couldn't find any > documentation on how to do it.. I tried several ways but couldnt do > it. > I designed a system call, so a user will call it, and a new file will > be created ('/tmp/filexx'). After that, I have another system call, > that will map the file into the maps of the user process. The idea is > the same as IPC... > > I managed to create the file with this function (in the first system call): > fd = filp_open(path, O_CREAT | O_RDWR , 777); > > After that, the user will call another system call, and it will map > this file to the process maps. > something like this: > filp_open(route, O_RDWR,0 ); > do_mmap(fp, 0, tamano, PROT_READ | PROT_WRITE | PROT_EXEC, > MAP_SHARED, 0); > > After I call the second system call, the user tries to access the > memory, but gets the message "Bus Error". > I tried to manually create a file with vi, and then use the second > system call, and worked perfectly. I could use the shared memory > without problems. > > The problems seems to be in the first system call (with filp_open), > when I try to create a new file... Can somebody suggest me something, > on how I could fix this issue?? It is very important because it is for > a college projects. Hmm, I don't quite get what you are trying to achieve? Why can't user create the file via open(path, O_CREAT...) and then mmap() it? Why do you need a new system call for that?
Honza -- Jan Kara <[EMAIL PROTECTED]> SuSE CR Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/