From: Brian Behlendorf Date: Tue, 22 Jan 2013 17:05:49 +0000 (-0800) Subject: Fix zpl_revalidate() NULL deref X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=commitdiff_plain;h=09a661e960df49f1256ba4c5ae15f6956d27df84;p=zfs.git Fix zpl_revalidate() NULL deref In zpl_revalidate() it's possible for the nameidata to be NULL for kernels which still accept the parameter. In particular, lookup_one_len() calls d_revalidate() with a NULL nameidata. Resolve the issue by checking for a NULL nameidata in which case just set the flags to 0. Signed-off-by: Brian Behlendorf Closes #1226 --- diff --git a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c index 0f6f3a4..e406288 100644 --- a/module/zfs/zpl_inode.c +++ b/module/zfs/zpl_inode.c @@ -396,7 +396,7 @@ static int #ifdef HAVE_D_REVALIDATE_NAMEIDATA zpl_revalidate(struct dentry *dentry, struct nameidata *nd) { - unsigned int flags = nd->flags; + unsigned int flags = (nd ? nd->flags : 0); #else zpl_revalidate(struct dentry *dentry, unsigned int flags) {