|
From: Tom H. <th...@cy...> - 2004-07-26 15:50:58
|
We now have a couple of bugs (85373 and 85969) about system calls which no longer work in valgrind 2.1 due to the fact that blocking system calls are now run in a different thread. In each case the one of the system call arguments is a PID and the kernel is checking that if the caller is an unprivileged process then the PID passed must be the caller's PID. The is that the kernel only checks against the PID of the thread which called the system call rather than allowing any thread in that process to make the call. Hence if the system call is blocking and valgrind issues it in a different thread the call fails. I'm not sure there's much we can do about this - arguably it's a kernel bug anyway and the kernel should be allowing any thread in the relevant process to make the call. Any ideas are gratefully received however. Tom -- Tom Hughes (th...@cy...) Software Engineer, Cyberscience Corporation http://www.cyberscience.com/ |
|
From: Jeremy F. <je...@go...> - 2004-07-26 17:09:08
|
On Mon, 2004-07-26 at 16:50 +0100, Tom Hughes wrote: > I'm not sure there's much we can do about this - arguably it's a > kernel bug anyway and the kernel should be allowing any thread in > the relevant process to make the call. Any ideas are gratefully > received however. Yup. I raised this on linux-kernel a while ago, and the consensus was that its a bug for the kernel to use the TID rather than the PID for these cases. J |