[PATCH] i2c: Sanity checks on adapter registration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Make sure I2C adapters being registered have the required struct
fields set. If they don't, problems will happen later.

Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
---
Randy, please apply this patch and check if it catches anything.

 drivers/i2c/i2c-core.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

--- linux-2.6.37-rc1.orig/drivers/i2c/i2c-core.c	2010-11-05 11:37:34.000000000 +0100
+++ linux-2.6.37-rc1/drivers/i2c/i2c-core.c	2010-11-05 11:54:34.000000000 +0100
@@ -848,6 +848,21 @@ static int i2c_register_adapter(struct i
 		goto out_list;
 	}
 
+	/* Sanity checks */
+	if (adap->name[0] == '\0') {
+		pr_err("i2c-core: Attempt to register an adapter with "
+		       "no name!\n");
+		return -EINVAL;
+	}
+	if (!adap->algo) {
+		pr_err("i2c-core: Attempt to register adapter '%s' with "
+		       "no algo!\n", adap->name);
+		return -EINVAL;
+	}
+	if (!adap->owner)
+		pr_warn("i2c-core: Attempt to register adapter '%s' with "
+		       "no owner!\n", adap->name);
+
 	rt_mutex_init(&adap->bus_lock);
 	mutex_init(&adap->userspace_clients_lock);
 	INIT_LIST_HEAD(&adap->userspace_clients);


-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux