Re: Fix for RTAI faults on recent x86 CPUs
Paolo Mantegazza <[email protected]> Thu, 25 May 2017 12:53:05 +0200
| Newsgroups | gmane.linux.real-time.rtai |
|---|---|
| Message-ID | <[email protected]> |
"On 5.10.2017, in relation to an email thread, started by Josef (Assfalg), about rtai-5.0 not working on Intel i3-4100 while faulting, whatever kernel was being used, on the more recent i3-6100, I wrote: " should be read as: "On 5.10.2017, in relation to an email thread, started by Josef (Assfalg), about rtai-5.0 working on Intel i3-4100 while faulting, whatever kernel was being used, on the more recent i3-6100, I wrote: " Paolo On 05/25/2017 10:34 AM, Paolo Mantegazza wrote: > Un ciao a tutti, > > On 5.10.2017, in relation to an email thread, started by Josef > (Assfalg), about rtai-5.0 not working on Intel i3-4100 while faulting, > whatever kernel was being used, on the more recent i3-6100, I wrote: > > "If you want to go on and diagnose it, to avoid flooding this list > with something that may be of little interest to RTAI users, I'd > suggest to continue this thread privately. We'll report back to the > list if and when we'll fix it." > > Now, here we are with a fix. For it you should download rtai-5.0.1 > from "RTAI users contributions", not from the releases repository. > > I'm not completely sure but the same problem may have bitten a few > other users. Notably Bill (Jenkins) for having insisted a bit on > reporting it, without any solution from side. > > Eventually Josef did something very convincing for me. He installed > RTAI on i3-4600 and got it working well. Then simply took the disk > from it and used it on the i3-6100, without any change. Thus he > verified that kernel space was still OK but not the user space. > > Such results addressed something wrong in the RTAI syscall, a > difficult thing to digest on my side, since it has worked for almost > 15 years, not only for x86 but for PPC, ARM and M68K also. Moreover, > RTAI-5.0 is a release that was kept sleeping for more than a year. > Nonetheless, during such a lapse of time has been intensively used and > tested in house. > > So Josef had to be patient and loose a week running my fixes, aimed at > preserving RTAI as it is. That means, passing syscall args on the > stack and having them used directly, as normal variables and arrays, > without any copy to/from kernel support. > > Now, the use of the same disk seems to point out that i3-6100 > (i.e.Skylake archs) has a memory protection mechanism > (https://en.wikipedia.org/wiki/Software_Guard_Extensions?) blocking > such an exploit, between kernel and user level permission, at the very > hardware level. > > Marco (Morandini) has pointed me to the following link: > https://lwn.net/Articles/689395/. From it one could infer that the new > protection mechanism has been cared at the kernel level since 4.8. 4.9 > has a couple of new sys call, mprotect and pkey_mprotect, not yet in > glibc though. > > Nonetheless, as said and since the problem has been traced back to > Linux-3.16, it is likely that some form of protection is at work by > default anyhow. I'll be glad if somebody can explain it more cleanly > and clearly to me. > > Anyhow, I did not dig further in the subject but simply surrendered to > the "canonical" way of working in the kernel. > > The fix will cover most of RTAI. There are todos for user space COMEDI > and serial support. They will come soon. > > Since I've not any such recent CPUs available, as seen working with > Josef, the problem is that half fixes will work on my machines in any > case, but not where they are needed. Anybody wanting to donate a > troubled hardware for a sound verification is welcomed :-). > > Please, if you suspect to have been caught in the same problem, > download and test the above new release and let me (and this list) know. > > Thanks to Josef and his patience. > > Paolo. > > > _______________________________________________ > Rtai mailing list > [email protected] > https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai _______________________________________________ Rtai mailing list [email protected] https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai