linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Dave Jones <davej@redhat.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	linux-mm@kvack.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	zohar@linux.vnet.ibm.com
Cc: mtk.manpages@gmail.com
Subject: Re: ima_mmap_file returning 0 to userspace as mmap result.
Date: Thu, 05 Jun 2014 06:40:36 +0200	[thread overview]
Message-ID: <538FF4C4.5090300@gmail.com> (raw)
In-Reply-To: <20140604233122.GA19838@redhat.com>

On 06/05/2014 01:31 AM, Dave Jones wrote:
> I just noticed that trinity was freaking out in places when mmap was
> returning zero.  This surprised me, because I had the mmap_min_addr
> sysctl set to 64k, so it wasn't a MAP_FIXED mapping that did it.
> 
> There's no mention of this return value in the man page, so I dug
> into the kernel code, and it appears that we do..
> 
> sys_mmap
> vm_mmap_pgoff
> security_mmap_file
> ima_file_mmap <- returns 0 if not PROT_EXEC
> 
> and then the 0 gets propagated up as a retval all the way to userspace.
> 
> It smells to me like we might be violating a standard or two here, and
> instead of 0 ima should be returning -Esomething
> 
> thoughts?

Seems like either EACCESS or ENOTSUP is appropriate; here's the pieces 
from POSIX:

       EACCES The  fildes argument is not open for read, regardless of
              the protection specified, or  fildes  is  not  open  for
              write and PROT_WRITE was specified for a MAP_SHARED type
              mapping.

       ENOTSUP
                   The implementation does not support the combination
                   of accesses requested in the prot argument.

ENOTSUP seems to be more appropriate in my reading of the above, though
I'd somehow more have expected EACCES.

Cheers,

Michael


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2014-06-05  4:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-04 23:31 ima_mmap_file returning 0 to userspace as mmap result Dave Jones
2014-06-05  4:40 ` Michael Kerrisk (man-pages) [this message]
2014-06-05 15:56   ` Dave Jones
2014-06-05 16:20     ` Dave Jones
2014-06-06  1:49       ` Mimi Zohar
2014-06-06  1:56         ` Dave Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=538FF4C4.5090300@gmail.com \
    --to=mtk.manpages@gmail.com \
    --cc=davej@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=torvalds@linux-foundation.org \
    --cc=zohar@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).