The patch titled Subject: autofs: use AUTOFS_DEV_IOCTL_SIZE has been added to the -mm tree. Its filename is autofs-use-autofs_dev_ioctl_size.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/autofs-use-autofs_dev_ioctl_size.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/autofs-use-autofs_dev_ioctl_size.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Tomohiro Kusumi <tkusumi@xxxxxxxxxx> Subject: autofs: use AUTOFS_DEV_IOCTL_SIZE Use a macro which defines misc-dev ioctl parameter size (excluding a path beyond &path[0]) since it's been used to initialize and copy this structure ever since it first appeared in 8d7b48e0 in 2008. (or simply get rid of this if this is just unnecessary abstraction when all it needs is sizeof(struct autofs_dev_ioctl)) Edit: raven@xxxxxxxxxx That's a good point but I'd prefer to keep the macro define. End edit: raven@xxxxxxxxxx Link: http://lkml.kernel.org/r/150285068577.4670.2599968823770600622.stgit@xxxxxxxxxxxxxxxx Signed-off-by: Tomohiro Kusumi <tkusumi@xxxxxxxxxx> Signed-off-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/autofs4/dev-ioctl.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff -puN fs/autofs4/dev-ioctl.c~autofs-use-autofs_dev_ioctl_size fs/autofs4/dev-ioctl.c --- a/fs/autofs4/dev-ioctl.c~autofs-use-autofs_dev_ioctl_size +++ a/fs/autofs4/dev-ioctl.c @@ -97,13 +97,13 @@ static struct autofs_dev_ioctl * { struct autofs_dev_ioctl tmp, *res; - if (copy_from_user(&tmp, in, sizeof(tmp))) + if (copy_from_user(&tmp, in, AUTOFS_DEV_IOCTL_SIZE)) return ERR_PTR(-EFAULT); - if (tmp.size < sizeof(tmp)) + if (tmp.size < AUTOFS_DEV_IOCTL_SIZE) return ERR_PTR(-EINVAL); - if (tmp.size > (PATH_MAX + sizeof(tmp))) + if (tmp.size > AUTOFS_DEV_IOCTL_SIZE + PATH_MAX) return ERR_PTR(-ENAMETOOLONG); res = memdup_user(in, tmp.size); @@ -133,8 +133,8 @@ static int validate_dev_ioctl(int cmd, s goto out; } - if (param->size > sizeof(*param)) { - err = invalid_str(param->path, param->size - sizeof(*param)); + if (param->size > AUTOFS_DEV_IOCTL_SIZE) { + err = invalid_str(param->path, param->size - AUTOFS_DEV_IOCTL_SIZE); if (err) { pr_warn( "path string terminator missing for cmd(0x%08x)\n", @@ -451,7 +451,7 @@ static int autofs_dev_ioctl_requester(st dev_t devid; int err = -ENOENT; - if (param->size <= sizeof(*param)) { + if (param->size <= AUTOFS_DEV_IOCTL_SIZE) { err = -EINVAL; goto out; } @@ -539,7 +539,7 @@ static int autofs_dev_ioctl_ismountpoint unsigned int devid, magic; int err = -ENOENT; - if (param->size <= sizeof(*param)) { + if (param->size <= AUTOFS_DEV_IOCTL_SIZE) { err = -EINVAL; goto out; } _ Patches currently in -mm which might be from tkusumi@xxxxxxxxxx are autofs-remove-unused-autofs_ioc_expire_direct-indirect.patch autofs-non-functional-header-inclusion-cleanup.patch autofs-use-autofs_dev_ioctl_size.patch autofs-drop-wrong-comment.patch autofs-use-unsigned-int-long-instead-of-uint-ulong-for-ioctl-args.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html