All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ftp.linux.org.uk>
To: Ulrich Drepper <drepper@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Markus Trippelsdorf <markus@trippelsdorf.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Subject: Re: 2.6.22-rc6(mm1) Unable to handle kernel NULL pointer dereference - git-bisect result
Date: Sun, 8 Jul 2007 19:31:12 +0100	[thread overview]
Message-ID: <20070708183112.GJ21668@ftp.linux.org.uk> (raw)
In-Reply-To: <46912BF5.8080201@redhat.com>

On Sun, Jul 08, 2007 at 11:24:53AM -0700, Ulrich Drepper wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Linus Torvalds wrote:
> > notify_change() does *not* do permission checks for 
> > ATTR_CTIME/MTIME/ATIME.
> 
> Then I don't understand
> 
>         /* Check for setting the inode time. */
>         if (ia_valid & (ATTR_MTIME_SET | ATTR_ATIME_SET)) {
>                 if (current->fsuid != inode->i_uid && !capable(CAP_FOWNER))
>                         goto error;
>         }
> 
> in inode_change_ok.  This seems to me exactly like the check needed.

Sigh...  There are two operations.
	1) set the timestamp to user-supplied value.  Owner-only.
	2) have the timestamp set to _now_.  Obviously can be done not
only by the owner (think of e.g. write(2)); having write access is
sufficient.

ATTR_MTIME_SET is the former.  ATTR_MTIME without ATTR_MTIME_SET is the
latter and that's what utimes(foo, NULL) ends up doing.

  reply	other threads:[~2007-07-08 18:31 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-08  5:14 2.6.22-rc6-mm1-cfs-v19 Unable to handle kernel NULL pointer dereference (reproducable) Markus Trippelsdorf
2007-07-08  8:20 ` Andrew Morton
2007-07-08 10:09   ` Markus Trippelsdorf
2007-07-08 15:28     ` 2.6.22-rc6(mm1) Unable to handle kernel NULL pointer dereference - git-bisect result Markus Trippelsdorf
2007-07-08 17:02       ` Linus Torvalds
2007-07-08 17:06       ` Ulrich Drepper
2007-07-08 17:33         ` Markus Trippelsdorf
2007-07-08 17:34         ` Al Viro
2007-07-08 17:41           ` Ulrich Drepper
2007-07-08 18:12             ` Linus Torvalds
2007-07-08 18:24               ` Ulrich Drepper
2007-07-08 18:31                 ` Al Viro [this message]
2007-07-08 18:40                 ` Linus Torvalds
2007-07-08 18:30               ` Linus Torvalds
2007-07-08 18:34                 ` Al Viro
2007-07-08 18:38                 ` Linus Torvalds
2007-07-08 18:51                   ` Al Viro
2007-07-08 19:00                     ` Linus Torvalds
2007-07-08 19:26                       ` Al Viro
2007-07-08 18:19             ` Al Viro
2007-07-09 12:40 ` 2.6.22-rc6-mm1-cfs-v19 Unable to handle kernel NULL pointer dereference (reproducable) Lenar Lõhmus

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=20070708183112.GJ21668@ftp.linux.org.uk \
    --to=viro@ftp.linux.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=drepper@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markus@trippelsdorf.de \
    --cc=torvalds@linux-foundation.org \
    /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 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.