From 03cebd478b80677252a0f48d71d0de05e6c82740 Mon Sep 17 00:00:00 2001
From: Laurent Caumont <lcaumont2@gmail.com>
Date: Sat, 11 Nov 2017 18:44:46 +0100
Subject: [PATCH] media: dvb: i2c transfers over usb - use kmalloc instead
stack
---
drivers/media/usb/dvb-usb/dibusb-common.c | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
@@ -223,8 +223,26 @@ EXPORT_SYMBOL(dibusb_i2c_algo);
int dibusb_read_eeprom_byte(struct dvb_usb_device *d, u8 offs, u8 *val)
{
- u8 wbuf[1] = { offs };
- return dibusb_i2c_msg(d, 0x50, wbuf, 1, val, 1);
+ u8 *wbuf;
+ u8 *rbuf;
+ int rc;
+
+ rbuf = kmalloc(1, GFP_KERNEL);
+ if (!rbuf)
+ return -ENOMEM;
+
+ wbuf = kmalloc(1, GFP_KERNEL);
+ if (!wbuf)
+ return -ENOMEM;
+
+ *wbuf = offs;
+
+ rc = dibusb_i2c_msg(d, 0x50, wbuf, 1, rbuf, 1);
+ kfree(wbuf);
+ *val = *rbuf;
+ kfree(rbuf);
+
+ return rc;
}
EXPORT_SYMBOL(dibusb_read_eeprom_byte);
--
2.14.1