Re: [PATCH 2/4] Add MMC Password Protection (lock/unlock) supportV8: mmc_key_retention.diff

From: Frank Seidel
Date: Wed Dec 13 2006 - 10:04:10 EST


Quoting Anderson Briglia <anderson.briglia@xxxxxxxxxxx>:
[...]
Hi,
thats really cool stuff you're providing with your patches. :)
I have some feedback or questions some parts here.
But as i just started trying to get into kernelhacking you probably
better don't take my notes to serious, please.

Index: linux-linus-2.6/drivers/mmc/mmc_sysfs.c
===================================================================
--- linux-linus-2.6.orig/drivers/mmc/mmc_sysfs.c 2006-12-04 [...]
+static int mmc_key_instantiate(struct key *key, const void *data, size_t datalen)
+{
+ struct mmc_key_payload *mpayload, *zap;
+ int ret;
+
+ zap = NULL;
What is zap here for? future use?
And wouldn't it be good to also initialize mplayload here?

+ ret = -EINVAL;
Is there a special reason why you already assign the errors to the
return value variable before its clear that the assignment is needed?


+ if (datalen <= 0 || datalen > MMC_KEYLEN_MAXBYTES || !data) {
Isn't the last "|| !data" redundant as you already tested if datalen ==0?

+ pr_debug("Invalid data\n");
+ goto error;
+ }
+
+ ret = key_payload_reserve(key, datalen);
+ if (ret < 0) {
+ pr_debug("ret = %d\n", ret);
+ goto error;
+ }
+
+ ret = -ENOMEM;
Same as above: Why do you in any case want to assign it here?

+ mpayload = kmalloc(sizeof(*mpayload) + datalen, GFP_KERNEL);
I may be totally wrong, but is dereferencing a not initialized pointer
(even just for using sizeof) really ok? Wouldn't it be safer to use
a sizeof(struct mmc_key_payload) here?

Thanks,
Frank


-
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/