All of lore.kernel.org
 help / color / mirror / Atom feed
From: torbenh <torbenh@gmx.de>
To: Richard Cochran <richardcochran@gmail.com>
Cc: linux-kernel@vger.kernel.org, richard.cochran@omicron.at,
	johnstul@us.ibm.com, tglx@linutronix.de
Subject: Re: [PATCH 3/3] Check for write permission on FD based posix-clocks
Date: Fri, 4 Mar 2011 11:13:49 +0100	[thread overview]
Message-ID: <20110304101349.GA3237@siel.b> (raw)
In-Reply-To: <20110304072239.GA8957@riccoc20.at.omicron.at>

On Fri, Mar 04, 2011 at 08:22:39AM +0100, Richard Cochran wrote:
> On Thu, Mar 03, 2011 at 06:26:14PM +0100, Torben Hohn wrote:
> > pc_clock_settime() and pc_clock_adjtime() did not check
> > whether the fd was opened in write mode.
> > 
> > It was possible to set a clock, when we only had read
> > permissions.
> > 
> > for completeness, we would also need to check for Read permissions
> > on the read operations. but that would be a bit paranoid, probably.
> 
> I have no objection to this form of clock access control, but I would
> like to get agreement about it from the list.
> 
> > diff --git a/kernel/time/posix-clock.c b/kernel/time/posix-clock.c
> > index 04498cb..25028dd 100644
> > --- a/kernel/time/posix-clock.c
> > +++ b/kernel/time/posix-clock.c
> > @@ -287,11 +287,16 @@ static int pc_clock_adjtime(clockid_t id, struct timex *tx)
> >  	if (err)
> >  		return err;
> >  
> > +	if ((cd.fp->f_mode & FMODE_WRITE) == 0) {
> > +		err = -EACCES;
> 
> Looks like clock_settime and adjtimex are supposed to return EPERM in
> this case.

well... this is more similar to calling write(2) on an fd not opened
with FMODE_WRITE... 


ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
		   unsigned long vlen, loff_t *pos)
{
	if (!(file->f_mode & FMODE_WRITE))
		return -EBADF;
	if (!file->f_op || (!file->f_op->aio_write && !file->f_op->write))
		return -EINVAL;

	return do_readv_writev(WRITE, file, vec, vlen, pos);
}

so probably -EBADF is also a candidate :)
however, since the syscall is not really fd based, EPERM is probably
closer to the current man page.


-- 
torben Hohn

  parent reply	other threads:[~2011-03-04 10:13 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-03 17:26 some patches for the ptp framework Torben Hohn
2011-03-03 17:26 ` [PATCH 1/3] remove __cpuinit from mwait_usable() Torben Hohn
2011-03-03 17:26 ` [PATCH 2/3] ptp: add a software clock based on clock_monotonic_raw Torben Hohn
2011-03-03 19:34   ` john stultz
2011-03-04  6:46     ` Richard Cochran
2011-03-04 11:06       ` torbenh
2011-03-05 20:08       ` john stultz
2011-03-06 13:28         ` Richard Cochran
2011-03-11 11:13           ` torbenh
2011-03-11 11:37             ` Christian Riesch
2011-03-11 13:38               ` torbenh
2011-03-11 11:56             ` Christian Riesch
2011-03-04  6:42   ` Richard Cochran
2011-03-04 11:30     ` torbenh
2011-03-04 16:10       ` Richard Cochran
2011-03-03 17:26 ` [PATCH 3/3] Check for write permission on FD based posix-clocks Torben Hohn
2011-03-04  7:22   ` Richard Cochran
2011-03-04  9:55     ` Arnd Bergmann
2011-03-04 10:13     ` torbenh [this message]
2011-03-11 19:46     ` Thomas Gleixner
2011-03-12 17:23       ` Richard Cochran
2011-03-12 17:35         ` Thomas Gleixner
2011-03-12 20:30   ` [tip:timers/core] posix-clocks: Check write permissions in posix syscalls tip-bot for Torben Hohn
2011-03-04  6:21 ` some patches for the ptp framework Richard Cochran
2011-03-10  7:02   ` Richard Cochran

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=20110304101349.GA3237@siel.b \
    --to=torbenh@gmx.de \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=richard.cochran@omicron.at \
    --cc=richardcochran@gmail.com \
    --cc=tglx@linutronix.de \
    /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.