Messages in this thread Patch in this message | | | Subject | [PATCH] Avoid zero size allocation in cache_k8_northbridges() | From | Ben Collins <> | Date | Wed, 16 May 2007 14:44:02 -0400 |
| |
kmalloc for flush_words resulted in zero size allocation when no k8_northbridges existed. Short circuit the code path for this case.
Also remove uneeded zeroing of num_k8_northbridges just after checking if it is zero.
Signed-off-by: Ben Collins <bcollins@ubuntu.com>
diff --git a/arch/x86_64/kernel/k8.c b/arch/x86_64/kernel/k8.c index bc11b32..7377ccb 100644 --- a/arch/x86_64/kernel/k8.c +++ b/arch/x86_64/kernel/k8.c @@ -39,10 +39,10 @@ int cache_k8_northbridges(void) { int i; struct pci_dev *dev; + if (num_k8_northbridges) return 0; - num_k8_northbridges = 0; dev = NULL; while ((dev = next_k8_northbridge(dev)) != NULL) num_k8_northbridges++; @@ -52,6 +52,11 @@ int cache_k8_northbridges(void) if (!k8_northbridges) return -ENOMEM; + if (!num_k8_northbridges) { + k8_northbridges[0] = NULL; + return 0; + } + flush_words = kmalloc(num_k8_northbridges * sizeof(u32), GFP_KERNEL); if (!flush_words) { kfree(k8_northbridges);
-- Ubuntu : http://www.ubuntu.com/ Linux1394: http://wiki.linux1394.org/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |