Explorar o código

solos: Fix under-allocation of skb size for get/set parameters

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
David Woodhouse %!s(int64=17) %!d(string=hai) anos
pai
achega
3456b22111
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      drivers/atm/solos-pci.c

+ 2 - 2
drivers/atm/solos-pci.c

@@ -159,7 +159,7 @@ static ssize_t solos_param_show(struct device *dev, struct device_attribute *att
 
 	buflen = strlen(attr->attr.name) + 10;
 
-	skb = alloc_skb(buflen, GFP_KERNEL);
+	skb = alloc_skb(sizeof(*header) + buflen, GFP_KERNEL);
 	if (!skb) {
 		dev_warn(&card->dev->dev, "Failed to allocate sk_buff in solos_param_show()\n");
 		return -ENOMEM;
@@ -215,7 +215,7 @@ static ssize_t solos_param_store(struct device *dev, struct device_attribute *at
 
 	buflen = strlen(attr->attr.name) + 11 + count;
 
-	skb = alloc_skb(buflen, GFP_KERNEL);
+	skb = alloc_skb(sizeof(*header) + buflen, GFP_KERNEL);
 	if (!skb) {
 		dev_warn(&card->dev->dev, "Failed to allocate sk_buff in solos_param_store()\n");
 		return -ENOMEM;