[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110929175716.GA5815@suse.de>
Date: Thu, 29 Sep 2011 10:57:16 -0700
From: Greg KH <gregkh@...e.de>
To: Doug Ledford <dledford@...hat.com>
Cc: stable-review@...nel.org, torvalds@...ux-foundation.org,
akpm@...ux-foundation.org, alan@...rguk.ukuu.org.uk,
Jiri Slaby <jslaby@...e.cz>,
Manfred Spraul <manfred@...orfullife.com>,
linux-kernel@...r.kernel.org, stable@...nel.org
Subject: Re: [159/244] ipc/mqueue.c: fix mq_open() return value
On Thu, Sep 29, 2011 at 11:41:18AM -0400, Doug Ledford wrote:
> ----- Original Message -----
> > 3.0-stable review patch. If anyone has any objections, please let us
> > know.
> >
>
> @@ -160,6 +161,7 @@ static struct inode *mqueue_get_inode(st
> u->mq_bytes + mq_bytes > task_rlimit(p, RLIMIT_MSGQUEUE)) {
> spin_unlock(&mq_lock);
> /* mqueue_evict_inode() releases info->messages */
> + ret = -EMFILE;
> goto out_inode;
> }
> u->mq_bytes += mq_bytes;
>
> NACK to this portion of the patch. The test is for the total bytes
> allocated, and the RLIMIT is for bytes allocated. This can happen on
> one file or on the hundredth file. It isn't a file error, it's a
> memory error and should remain such. If you want to accurately return
> the right error, then you need new_inode() to return an
> ERR_PTR(EMFILE) in the case that the number of message queues in the
> namespace is exceeded and propagate that back up, but as
> mqueue_get_inode() really only checks memory issues, not queue count
> issues, the only return it should generate is ENOMEM.
Um, that's the way this patch is upstream, right? So perhaps it should
be fixed there first and then I can take the fix into -stable?
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists