2010-11-17 18:03:33

by Dave Jones

[permalink] [raw]
Subject: Re: [S390] mm: add devmem_is_allowed() for STRICT_DEVMEM checking

On Tue, Nov 16, 2010 at 11:59:03PM +0000, Linux Kernel wrote:
> Gitweb: http://git.kernel.org/linus/ec6743bb06510c7b629603ce35713d6ae9273579
> Commit: ec6743bb06510c7b629603ce35713d6ae9273579
> Parent: ca768b663131ca644689fcadc9ca092dcc96a758
> Author: Hendrik Brueckner <[email protected]>
> AuthorDate: Wed Nov 10 10:05:55 2010 +0100
> Committer: Martin Schwidefsky <[email protected]>
> CommitDate: Wed Nov 10 10:05:54 2010 +0100
>
> [S390] mm: add devmem_is_allowed() for STRICT_DEVMEM checking
>
> Provide the devmem_is_allowed() routine to restrict access to
> kernel memory from userspace.
> Set the CONFIG_STRICT_DEVMEM config option to switch on checking.
>
> Signed-off-by: Hendrik Brueckner <[email protected]>
> Signed-off-by: Martin Schwidefsky <[email protected]>

[snip add kconfig]

...

> +static inline int devmem_is_allowed(unsigned long pfn)
> +{
> + return 0;
> +}

So you add the config option that promises security, but then you always
allow the access. This seems pointless ? Why bother having the option at all?

Dave


2010-11-18 08:58:41

by Martin Schwidefsky

[permalink] [raw]
Subject: Re: [S390] mm: add devmem_is_allowed() for STRICT_DEVMEM checking

On Wed, 17 Nov 2010 13:03:21 -0500
Dave Jones <[email protected]> wrote:

> On Tue, Nov 16, 2010 at 11:59:03PM +0000, Linux Kernel wrote:
> > Gitweb: http://git.kernel.org/linus/ec6743bb06510c7b629603ce35713d6ae9273579
> > Commit: ec6743bb06510c7b629603ce35713d6ae9273579
> > Parent: ca768b663131ca644689fcadc9ca092dcc96a758
> > Author: Hendrik Brueckner <[email protected]>
> > AuthorDate: Wed Nov 10 10:05:55 2010 +0100
> > Committer: Martin Schwidefsky <[email protected]>
> > CommitDate: Wed Nov 10 10:05:54 2010 +0100
> >
> > [S390] mm: add devmem_is_allowed() for STRICT_DEVMEM checking
> >
> > Provide the devmem_is_allowed() routine to restrict access to
> > kernel memory from userspace.
> > Set the CONFIG_STRICT_DEVMEM config option to switch on checking.
> >
> > Signed-off-by: Hendrik Brueckner <[email protected]>
> > Signed-off-by: Martin Schwidefsky <[email protected]>
>
> [snip add kconfig]
>
> ...
>
> > +static inline int devmem_is_allowed(unsigned long pfn)
> > +{
> > + return 0;
> > +}
>
> So you add the config option that promises security, but then you always
> allow the access. This seems pointless ? Why bother having the option at all?

It is the other way around, access is always disallowed. So it is very secure,
access via /dev/mem is disabled if STRICT_DEVMEM=y.

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.