On Thu, Sep 04, 2014 at 02:11:00PM +0200, walter harms wrote: > > ret = btrfs_ioctl_snap_create_transid(file, vol_args->name, > > vol_args->fd, subvol, ptr, > > readonly, inherit); > > + if (ret) > > + goto free_inherit; > > > > - if (ret == 0 && ptr && > > - copy_to_user(arg + > > - offsetof(struct btrfs_ioctl_vol_args_v2, > > - transid), ptr, sizeof(*ptr))) > > + if (ptr && copy_to_user(arg + > > + offsetof(struct btrfs_ioctl_vol_args_v2, > > + transid), > > + ptr, sizeof(*ptr))) > > ret = -EFAULT; > > > this is hard to read. > perhaps it would help to move ptr into the other other > > if (ret || !ptr ) > goto free_inherit; I don't think that's an improvement. > > both are modified by the call btrfs_ioctl_snap_create_transid(). > I think you are mixing up ptr and *ptr so that's why you're confused. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html