From 09a661e960df49f1256ba4c5ae15f6956d27df84 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Tue, 22 Jan 2013 09:05:49 -0800 Subject: [PATCH 1/1] 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 --- module/zfs/zpl_inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) { -- 1.8.3.1