lkml.org 
[lkml]   [2006]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] set*uid() must not fail-and-return on OOM/rlimits
    From
    Date
    On Sun, 2006-08-20 at 19:30 +0400, Solar Designer wrote:
    > On Sun, Aug 20, 2006 at 12:07:06PM +0200, Alex Riesen wrote:
    > > Solar Designer, Sun, Aug 20, 2006 02:38:40 +0200:
    > > > Attached is a trivial patch (extracted from 2.4.33-ow1) that makes
    > > > set*uid() kill the current process rather than proceed with -EAGAIN when
    > > > the kernel is running out of memory. Apparently, alloc_uid() can't fail
    > > > and return anyway due to properties of the allocator, in which case the
    > > > patch does not change a thing. But better safe than sorry.
    > >
    > > Why not ENOMEM?
    >
    > ENOMEM would not be any better than EAGAIN from the security standpoint.
    >
    > The problem is that there are lots of privileged userspace programs that
    > do not bother to check the return value from set*uid() calls (or
    > otherwise check that the calls succeeded) before proceeding with work
    > that is only safe to do with the *uid switched as intended.

    sounds like a good argument to get the setuid functions marked
    __must_check in glibc...

    --
    if you want to mail me at work (you don't), use arjan (at) linux.intel.com

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-08-20 17:59    [W:0.034 / U:272.448 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site