Messages in this thread Patch in this message | | | Date | Mon, 2 Feb 2009 17:14:28 -0600 | From | "Serge E. Hallyn" <> | Subject | Re: [PATCH 3/6] integrity: IMA display |
| |
Quoting Mimi Zohar (zohar@linux.vnet.ibm.com): > On Fri, 2009-01-30 at 20:18 +1100, James Morris wrote: > > On Thu, 29 Jan 2009, Mimi Zohar wrote: > > > > > +int ima_fs_init(void) > > > +{ > > > + ima_dir = securityfs_create_dir("ima", NULL); > > > + if (!ima_dir || IS_ERR(ima_dir)) > > > + return -1; > > > + > > > + binary_runtime_measurements = > > > + securityfs_create_file("binary_runtime_measurements", > > > + S_IRUSR | S_IRGRP, ima_dir, NULL, > > > + &ima_measurements_ops); > > > + if (!binary_runtime_measurements || IS_ERR(binary_runtime_measurements)) > > > + goto out; > > > > You should not be checking for NULL returns from securityfs_create_file(), > > because it does not return NULL (the documentation is wrong). > > > > > > - James > > Thanks! > > Mimi
Wow, that's still the case??
From dec581b116f16657db9b6f59b7e71f7a7026cd21 Mon Sep 17 00:00:00 2001 From: Serge E. Hallyn <serue@us.ibm.com> Date: Mon, 2 Feb 2009 15:07:33 -0800 Subject: [PATCH 1/1] securityfs: fix long-broken securityfs_create_file comment
If there is an error creating a file through securityfs_create_file, NULL is not returned, rather the error is propagated.
Signed-off-by: Serge E. Hallyn <serue@us.ibm.com> --- security/inode.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/security/inode.c b/security/inode.c index efea5a6..ae243dd 100644 --- a/security/inode.c +++ b/security/inode.c @@ -205,12 +205,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, -- 1.5.4.3
| |