Ejemplo n.º 1
0
static int ovl_mount_dir(const char *name, struct path *path)
{
    int err;
    char *tmp = kstrdup(name, GFP_KERNEL);

    if (!tmp)
        return -ENOMEM;

    ovl_unescape(tmp);
    err = kern_path(tmp, LOOKUP_FOLLOW, path);
    if (err) {
        pr_err("overlayfs: failed to resolve '%s': %i\n", tmp, err);
        err = -EINVAL;
    }
    kfree(tmp);
    return err;
}
Ejemplo n.º 2
0
Archivo: super.c Proyecto: avagin/linux
static int ovl_mount_dir(const char *name, struct path *path)
{
	int err = -ENOMEM;
	char *tmp = kstrdup(name, GFP_KERNEL);

	if (tmp) {
		ovl_unescape(tmp);
		err = ovl_mount_dir_noesc(tmp, path);

		if (!err)
			if (ovl_dentry_remote(path->dentry)) {
				pr_err("overlayfs: filesystem on '%s' not supported as upperdir\n",
				       tmp);
				path_put_init(path);
				err = -EINVAL;
			}
		kfree(tmp);
	}
	return err;
}