Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1506926 > unrolled thread

/dev/mem arch/x86 mm/pat.c break

Started byn@dhp.com
First post2016-10-24 08:30 +0200
Last post2016-10-24 12:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  /dev/mem arch/x86 mm/pat.c break n@dhp.com - 2016-10-24 08:30 +0200
    Re: /dev/mem arch/x86 mm/pat.c break <n@dhp.com> - 2016-10-24 12:30 +0200

#1506926 — /dev/mem arch/x86 mm/pat.c break

Fromn@dhp.com
Date2016-10-24 08:30 +0200
Subject/dev/mem arch/x86 mm/pat.c break
Message-ID<svGVH-3Q4-9@gated-at.bofh.it>
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

[toc] | [next] | [standalone]


#1507076

From<n@dhp.com>
Date2016-10-24 12:30 +0200
Message-ID<svKFX-6hE-25@gated-at.bofh.it>
In reply to#1506926
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
> 
> 
> 
> 
> 
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web