* /dev/mem arch/x86 mm/pat.c break
@ 2016-10-24 5:58 n
2016-10-24 10:23 ` n
0 siblings, 1 reply; 2+ messages in thread
From: n @ 2016-10-24 5:58 UTC (permalink / raw)
To: linux-kernel
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: /dev/mem arch/x86 mm/pat.c break
2016-10-24 5:58 /dev/mem arch/x86 mm/pat.c break n
@ 2016-10-24 10:23 ` n
0 siblings, 0 replies; 2+ messages in thread
From: n @ 2016-10-24 10:23 UTC (permalink / raw)
To: linux-kernel
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
>
>
>
>
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-10-24 10:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-24 5:58 /dev/mem arch/x86 mm/pat.c break n
2016-10-24 10:23 ` n
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.