Re: [patch 1/3] NFS: fix potential NULL pointer dereference

From: Cyrill Gorcunov
Date: Wed Apr 16 2008 - 14:14:28 EST


[Trond Myklebust - Wed, Apr 16, 2008 at 02:11:31PM -0400]
|
| On Wed, 2008-04-16 at 21:44 +0400, Cyrill Gorcunov wrote:
| > plain text document attachment (nfs-kstrdup-nul-fix)
| > It's possible to get NULL pointer dereference
| > if kstrndup failed
| >
| > Here is a possible scenario
| >
| > nfs4_get_sb
| > nfs4_validate_mount_data
| > o kstrndup failed so args->nfs_server.export_path = NULL
| > nfs4_create_server
| > nfs4_path_walk(..., NULL) -> Oops!
| >
| > Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
|
| Why fix only the one case? What about the other kstrdup/kstrndup cases
| in super.c that appear to be unchecked?
|
| Trond
|
| > ---
| >
| > Index: linux-2.6.git/fs/nfs/super.c
| > ===================================================================
| > --- linux-2.6.git.orig/fs/nfs/super.c 2008-04-15 23:01:30.000000000 +0400
| > +++ linux-2.6.git/fs/nfs/super.c 2008-04-16 20:01:44.000000000 +0400
| > @@ -1858,6 +1858,8 @@ static int nfs4_validate_mount_data(void
| > if (len > NFS4_MAXPATHLEN)
| > return -ENAMETOOLONG;
| > args->nfs_server.export_path = kstrndup(c, len, GFP_KERNEL);
| > + if (!args->nfs_server.export_path)
| > + return -ENOMEM;
| >
| > dprintk("NFS: MNTPATH: '%s'\n", args->nfs_server.export_path);
| >
|

This one is leading to NULL deref, others - don't

- Cyrill -
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/