Messages in this thread | | | Date | Mon, 24 Oct 2016 10:23:03 +0000 (/etc/localtime) | From | <> | Subject | Re: /dev/mem arch/x86 mm/pat.c break |
| |
Hey,
It looks like https://lkml.org/lkml/2016/7/8/160 may have taken care of it.. though back in, March or so, I saw it in some recent kernels and had to make this patch myself.. so I dont know if it's committed.
--n
On Mon, 24 Oct 2016 n@dhp.com wrote:
> Hi, > > Unless I read C wrong, pat.c seems to break all non-strict devmem use. I > discovered this while reversing a bunch of pci and other low-level > stuff. Here is a link to the fix, http//users.dhp.com/~n/pubs/ > the one starting with Linux-86...txt is the correct file, those kernel > bugs in OpenBSD and that are just hilarious enough to keep around.. > > Oh, here is the full link: > http://users.dhp.com/~n/Linux-x86-mmap-nonstrict-broken.txt > > This was first 'nonpromisc_devmem', probably dating back to that > introduction of 1MB limits on mmap(2) way back in the day.. who knows. > > Alright, I confess as a kernel programmer Linux isn't my thing, I prefer > Unix particularly BSD and SysV (SVR4 would be sort of both). Thats mostly > because sys_call_table is sysent to me, as are tons of other symbols. But > still, /usr/libexec/cpp seems to have broken /dev/mem > mmap(2) functionality over the non-strict range of memory for.. a long > time. > > If I'm wrong, then there is no problem, however I had to fix this to get > things working. Thanks, I realize that #ifdef instead of #ifndef can > cause strictness reversals.. good thing other portions of the kernel had > this correct, or strict would be nonstrict, and vice-versa. Alright, > enjoy.. > > Reply address: n@mod.net (please). > > > > -n > > > > > >
| |