[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@gmail.com>
|
| 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 -
--
| Greg Kroah-Hartman | [PATCH 002/196] Chinese: rephrase English introduction in HOWTO |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Roland Dreier | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| Radu Rendec | htb parallelism on multi-core platforms |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
