lkml.org 
[lkml]   [2015]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v8 1/9] nvmem: Add a simple NVMEM framework for nvmem providers
    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



    \
     
     \ /
      Last update: 2015-07-21 20:21    [W:8.045 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site