|
From: Petar J. <mip...@gm...> - 2012-07-19 16:08:12
|
> This worries me .. why would the kernel cause the same syscall with > same arguments, to fail with different errors on different platforms? > It does not make sense from a software engineering point of view. It should not worry you. The trick is that the arguments are not the same. The 6th argument is a "random" value (and not initialized for MIPS). So, in MIPS case, this is a value on stack, and the 6th argument happens to be zero value. In that case, kernel will complain about bitset value being all zeros. Check here: http://lxr.free-electrons.com/source/kernel/futex.c?v=2.6.29#L1179 In x86 case, this happens to be previously set non-zero value, Check here: http://lxr.free-electrons.com/source/kernel/futex.c?v=2.6.29#L1225 Petar On Thu, Jul 19, 2012 at 5:45 PM, Julian Seward <js...@ac...> wrote: > > Petar, thank you for analysing this, and for the proposed patch. > > > Kernel finds different errors with this call on different platforms. > > This worries me .. why would the kernel cause the same syscall with > same arguments, to fail with different errors on different platforms? > It does not make sense from a software engineering point of view. > > Can you maybe send a few more details, showing how/where the kernel > causes the same call to fail differently? > > J > |