Re: [PATCH v8 1/9] nvmem: Add a simple NVMEM framework for nvmem providers

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

 



On 07/21/2015 02:41 AM, Srinivas Kandagatla wrote:
Thanks Stephen for review,

On 20/07/15 22:11, Stephen Boyd wrote:
On 07/20/2015 07:43 AM, Srinivas Kandagatla wrote:
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
new file mode 100644
index 0000000..bde5528
--- /dev/null
+++ b/drivers/nvmem/core.c
@@ -0,0 +1,384 @@

+
+static int nvmem_add_cells(struct nvmem_device *nvmem,
+               const struct nvmem_config *cfg)
+{
+    struct nvmem_cell **cells;
+    const struct nvmem_cell_info *info = cfg->cells;
+    int i, rval;
+
+    cells = kzalloc(sizeof(*cells) * cfg->ncells, GFP_KERNEL);

kcalloc?

Only reason for using kzalloc is to give the code more flexibility to free any pointer in the array in case of errors.

Still lost. The arrays are allocated down below in the for loop. This is allocating a bunch of pointers so using kcalloc() here avoids problems with overflows causing kzalloc() to allocate fewer pointers than requested. I'm not suggesting we replace the for loop with a kcalloc, just this single line.



+    if (!cells)
+        return -ENOMEM;
+
+    for (i = 0; i < cfg->ncells; i++) {
+        cells[i] = kzalloc(sizeof(**cells), GFP_KERNEL);
+        if (!cells[i]) {
+            rval = -ENOMEM;
+            goto err;
+        }
+

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux