kernel/auditfilter: kill bogus uninit'd-var compiler warning
Kill this warning... kernel/auditfilter.c: In function ‘audit_receive_filter’: kernel/auditfilter.c:1213: warning: ‘ndw’ may be used uninitialized in this function kernel/auditfilter.c:1213: warning: ‘ndp’ may be used uninitialized in this function ...with a simplification of the code. audit_put_nd() can accept NULL arguments, just like kfree(). It is cleaner to init two existing vars to NULL, remove the redundant test variable 'putnd_needed' branches, and call audit_put_nd() directly. As a desired side effect, the warning goes away. Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
@@ -1210,8 +1210,8 @@ static inline int audit_add_rule(struct audit_entry *entry,
|
|||||||
struct audit_entry *e;
|
struct audit_entry *e;
|
||||||
struct audit_field *inode_f = entry->rule.inode_f;
|
struct audit_field *inode_f = entry->rule.inode_f;
|
||||||
struct audit_watch *watch = entry->rule.watch;
|
struct audit_watch *watch = entry->rule.watch;
|
||||||
struct nameidata *ndp, *ndw;
|
struct nameidata *ndp = NULL, *ndw = NULL;
|
||||||
int h, err, putnd_needed = 0;
|
int h, err;
|
||||||
#ifdef CONFIG_AUDITSYSCALL
|
#ifdef CONFIG_AUDITSYSCALL
|
||||||
int dont_count = 0;
|
int dont_count = 0;
|
||||||
|
|
||||||
@@ -1239,7 +1239,6 @@ static inline int audit_add_rule(struct audit_entry *entry,
|
|||||||
err = audit_get_nd(watch->path, &ndp, &ndw);
|
err = audit_get_nd(watch->path, &ndp, &ndw);
|
||||||
if (err)
|
if (err)
|
||||||
goto error;
|
goto error;
|
||||||
putnd_needed = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_lock(&audit_filter_mutex);
|
mutex_lock(&audit_filter_mutex);
|
||||||
@@ -1269,14 +1268,11 @@ static inline int audit_add_rule(struct audit_entry *entry,
|
|||||||
#endif
|
#endif
|
||||||
mutex_unlock(&audit_filter_mutex);
|
mutex_unlock(&audit_filter_mutex);
|
||||||
|
|
||||||
if (putnd_needed)
|
audit_put_nd(ndp, ndw); /* NULL args OK */
|
||||||
audit_put_nd(ndp, ndw);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
if (putnd_needed)
|
audit_put_nd(ndp, ndw); /* NULL args OK */
|
||||||
audit_put_nd(ndp, ndw);
|
|
||||||
if (watch)
|
if (watch)
|
||||||
audit_put_watch(watch); /* tmp watch, matches initial get */
|
audit_put_watch(watch); /* tmp watch, matches initial get */
|
||||||
return err;
|
return err;
|
||||||
|
Reference in New Issue
Block a user