Lines Matching defs:param

56 static int check_dev_ioctl_version(int cmd, struct autofs_dev_ioctl *param)
60 if ((param->ver_major != AUTOFS_DEV_IOCTL_VERSION_MAJOR) ||
61 (param->ver_minor > AUTOFS_DEV_IOCTL_VERSION_MINOR)) {
66 param->ver_major, param->ver_minor, cmd);
71 param->ver_major = AUTOFS_DEV_IOCTL_VERSION_MAJOR;
72 param->ver_minor = AUTOFS_DEV_IOCTL_VERSION_MINOR;
102 static inline void free_dev_ioctl(struct autofs_dev_ioctl *param)
104 kfree(param);
111 static int validate_dev_ioctl(int cmd, struct autofs_dev_ioctl *param)
115 err = check_dev_ioctl_version(cmd, param);
122 if (param->size > AUTOFS_DEV_IOCTL_SIZE) {
123 err = invalid_str(param->path, param->size - AUTOFS_DEV_IOCTL_SIZE);
131 err = check_name(param->path);
156 struct autofs_dev_ioctl *param)
159 param->ver_major = AUTOFS_DEV_IOCTL_VERSION_MAJOR;
160 param->ver_minor = AUTOFS_DEV_IOCTL_VERSION_MINOR;
167 struct autofs_dev_ioctl *param)
169 param->protover.version = sbi->version;
176 struct autofs_dev_ioctl *param)
178 param->protosubver.sub_version = sbi->sub_version;
260 struct autofs_dev_ioctl *param)
266 /* param->path has been checked in validate_dev_ioctl() */
268 if (!param->openmount.devid)
271 param->ioctlfd = -1;
273 path = param->path;
274 devid = new_decode_dev(param->openmount.devid);
283 param->ioctlfd = fd;
291 struct autofs_dev_ioctl *param)
293 return close_fd(param->ioctlfd);
302 struct autofs_dev_ioctl *param)
306 token = (autofs_wqt_t) param->ready.token;
316 struct autofs_dev_ioctl *param)
321 token = (autofs_wqt_t) param->fail.token;
322 status = param->fail.status < 0 ? param->fail.status : -ENOENT;
340 struct autofs_dev_ioctl *param)
346 if (param->setpipefd.pipefd == -1)
349 pipefd = param->setpipefd.pipefd;
393 struct autofs_dev_ioctl *param)
402 struct autofs_dev_ioctl *param)
406 timeout = param->timeout.timeout;
407 param->timeout.timeout = sbi->exp_timeout / HZ;
422 struct autofs_dev_ioctl *param)
429 /* param->path has been checked in validate_dev_ioctl() */
433 param->requester.uid = param->requester.gid = -1;
435 err = find_autofs_mount(param->path, &path, test_by_dev, &devid);
444 param->requester.uid =
446 param->requester.gid =
461 struct autofs_dev_ioctl *param)
466 how = param->expire.how;
475 struct autofs_dev_ioctl *param)
477 param->askumount.may_umount = 0;
479 param->askumount.may_umount = 1;
506 struct autofs_dev_ioctl *param)
514 /* param->path has been checked in validate_dev_ioctl() */
516 name = param->path;
517 type = param->ismountpoint.in.type;
519 param->ismountpoint.out.devid = devid = 0;
520 param->ismountpoint.out.magic = magic = 0;
522 if (!fp || param->ioctlfd == -1) {
552 param->ismountpoint.out.devid = devid;
553 param->ismountpoint.out.magic = magic;
596 struct autofs_dev_ioctl *param;
620 param = copy_dev_ioctl(user);
621 if (IS_ERR(param))
622 return PTR_ERR(param);
624 err = validate_dev_ioctl(command, param);
649 fp = fget(param->ioctlfd);
677 err = fn(fp, sbi, param);
681 if (err >= 0 && copy_to_user(user, param, AUTOFS_DEV_IOCTL_SIZE))
684 free_dev_ioctl(param);