lkml.org 
[lkml]   [2009]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 08/38] pidns 2/2: rewrite copy_pid_ns()
    Alexey Dobriyan wrote:
    > copy_pid_ns() is a perfect example of a case where unwinding leads to more
    > code and makes it less clear. Watch the diffstat.
    >
    > Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Acked-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>

    > ---
    > kernel/pid_namespace.c | 18 +++---------------
    > 1 files changed, 3 insertions(+), 15 deletions(-)
    >
    > diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
    > index 495d5de..821722a 100644
    > --- a/kernel/pid_namespace.c
    > +++ b/kernel/pid_namespace.c
    > @@ -116,23 +116,11 @@ static void destroy_pid_namespace(struct pid_namespace *ns)
    >
    > struct pid_namespace *copy_pid_ns(unsigned long flags, struct pid_namespace *old_ns)
    > {
    > - struct pid_namespace *new_ns;
    > -
    > - BUG_ON(!old_ns);
    > - new_ns = get_pid_ns(old_ns);
    > if (!(flags & CLONE_NEWPID))
    > - goto out;
    > -
    > - new_ns = ERR_PTR(-EINVAL);
    > + return get_pid_ns(old_ns);
    > if (flags & CLONE_THREAD)
    > - goto out_put;
    > -
    > - new_ns = create_pid_namespace(old_ns);
    > -
    > -out_put:
    > - put_pid_ns(old_ns);
    > -out:
    > - return new_ns;
    > + return ERR_PTR(-EINVAL);
    > + return create_pid_namespace(old_ns);
    > }
    >
    > void free_pid_ns(struct kref *kref)



    \
     
     \ /
      Last update: 2009-06-04 02:21    [W:5.975 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site