lkml.org 
[lkml]   [2008]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2] unify sys_pipe implementation
    On Mon, May 05, 2008 at 10:30:09AM +0200, DM wrote:

    > > + * sys_pipe() is the normal C calling standard for creating
    > > + * a pipe. It's not the way Unix traditionally does this, though.
    > > + */
    > > +asmlinkage long sys_pipe(int __user *fildes)
    > > +{
    > > + int fd[2];
    > > + int error;
    > > +
    > > + error = do_pipe(fd);
    > > + if (!error) {
    > > + if (copy_to_user(fildes, fd, sizeof(fd)))
    > > + error = -EFAULT;
    > > + }
    > > + return error;
    > > +}
    > > +
    > [...]
    >
    > I realize this code is old, but wouldn't file descriptors leak if
    > copy_to_user fails?

    The MIPS implementation doesn't have this problem; it returns the
    file descriptors in the result registers $v0 and $v1.

    But an interesting catch after so many years!

    Ralf


    \
     
     \ /
      Last update: 2008-05-05 12:23    [W:0.024 / U:119.360 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site