Thread (2 messages) 2 messages, 2 authors, 2004-03-24

Re: sys_uselib in exec.c

From: Maneesh Soni <hidden>
Date: 2004-03-24 05:26:02

On Wed, Mar 24, 2004 at 02:05:55AM +0000, Shaya Potter wrote:
the code there is (2.6.1)

125         error = __user_walk(library, LOOKUP_FOLLOW|LOOKUP_OPEN,
&nd);
126         if (error)
127                 goto out;
128 
129         error = -EINVAL;
130         if (!S_ISREG(nd.dentry->d_inode->i_mode))
131                 goto exit;
132 
133         error = permission(nd.dentry->d_inode, MAY_READ | MAY_EXEC,
&nd);
134         if (error)
135                 goto exit;
136 
137         file = dentry_open(nd.dentry, nd.mnt, O_RDONLY);
138         error = PTR_ERR(file);
139         if (IS_ERR(file))
140                 goto out;

where exit does a path_release(&nd) and return's error while out just
returns error.

if dentry_open fails, we don't call path_release(&nd).  Is this correct?
dentry_open, cleans up dentry and mnt if it has to return error..

Maneesh


-- 
Maneesh Soni
Linux Technology Center, 
IBM Software Lab, Bangalore, India
email: maneesh@in.ibm.com
Phone: 91-80-25044999 Fax: 91-80-25268553
T/L : 9243696
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help