Skip to contentSkip to conversation

Fix up 4KB stack allocation in DVB USB driver.

PATCH Dave Jones 1 participant 1 message Jan 21, 2004 Media (V4L/DVB)

lore
Share & tools
lore

Dave Jones

author
#0 lore raw

Allocating 4KB on the stack can't be healthy.

Dave

drivers/media/dvb/ttusb-dec/ttusb_dec.c +7 -1
diff -Nru a/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/drivers/media/dvb/ttusb-dec/ttusb_dec.c
@@ -1145,7 +1145,7 @@
 		    0x00, 0x00, 0x00, 0x00,
 		    0x61, 0x00 };
 	u8 b1[] = { 0x61 };
-	u8 b[ARM_PACKET_SIZE];
+	u8 *b;
 	char idstring[21];
 	u8 *firmware = NULL;
 	size_t firmware_size = 0;
@@ -1202,6 +1202,10 @@
 	trans_count = 0;
 	j = 0;
 
+	b = kmalloc(ARM_PACKET_SIZE, GFP_KERNEL);
+	if (b == NULL)
+		return -ENOMEM;
+
 	for (i = 0; i < firmware_size; i += COMMAND_PACKET_SIZE) {
 		size = firmware_size - i;
 		if (size > COMMAND_PACKET_SIZE)
@@ -1228,6 +1232,8 @@
 	}
 
 	result = ttusb_dec_send_command(dec, 0x43, sizeof(b1), b1, NULL, NULL);
+
+	kfree(b);
 
 	return result;
 }