netns xfrm: fix "ip xfrm state|policy count" misreport
[safe/jmp/linux-2.6] / security / inode.c
index 007ef25..f7496c6 100644 (file)
@@ -202,12 +202,11 @@ static int create_by_name(const char *name, mode_t mode,
  * This function returns a pointer to a dentry if it succeeds.  This
  * pointer must be passed to the securityfs_remove() function when the file is
  * to be removed (no automatic cleanup happens if your module is unloaded,
- * you are responsible here).  If an error occurs, %NULL is returned.
+ * you are responsible here).  If an error occurs, the function will return
+ * the erorr value (via ERR_PTR).
  *
  * If securityfs is not enabled in the kernel, the value %-ENODEV is
- * returned.  It is not wise to check for this value, but rather, check for
- * %NULL or !%NULL instead as to eliminate the need for #ifdef in the calling
- * code.
+ * returned.
  */
 struct dentry *securityfs_create_file(const char *name, mode_t mode,
                                   struct dentry *parent, void *data,
@@ -288,7 +287,7 @@ void securityfs_remove(struct dentry *dentry)
 {
        struct dentry *parent;
 
-       if (!dentry)
+       if (!dentry || IS_ERR(dentry))
                return;
 
        parent = dentry->d_parent;