Re: [PATCH] ioctl conversion
From: Arnd Bergmann
Date: Fri Jul 11 2008 - 04:09:38 EST
On Friday 11 July 2008, Stoyan Gaydarov wrote:
> - if (_IOC_TYPE(cmd) != SNAPSHOT_IOC_MAGIC)
> + lock_kernel();
> +
> + if (_IOC_TYPE(cmd) != SNAPSHOT_IOC_MAGIC) {
> + unlock_kernel();
> return -ENOTTY;
> - if (_IOC_NR(cmd) > SNAPSHOT_IOC_MAXNR)
> + }
> + if (_IOC_NR(cmd) > SNAPSHOT_IOC_MAXNR) {
> + unlock_kernel();
> return -ENOTTY;
> - if (!capable(CAP_SYS_ADMIN))
> + }
> + if (!capable(CAP_SYS_ADMIN)) {
> + unlock_kernel();
> return -EPERM;
> + }
>
> data = filp->private_data;
The more common way to express this is to end the function with
out:
unlock_kernel();
return ret;
}
and then jump to that label in the error case. This makes it
much easier to verify that you haven't missed a cased.
Arnd <><
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/