lkml.org 
[lkml]   [2016]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 01/13] genirq/msi: Add cpumask allocation to alloc_msi_entry
    On Wed, Sep 14, 2016 at 04:18:47PM +0200, Christoph Hellwig wrote:
    > diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
    > index 19e9dfb..8a3e8727 100644
    > --- a/kernel/irq/msi.c
    > +++ b/kernel/irq/msi.c
    > @@ -18,20 +18,42 @@
    > /* Temparory solution for building, will be removed later */
    > #include <linux/pci.h>
    >
    > -struct msi_desc *alloc_msi_entry(struct device *dev)
    > +/**
    > + * alloc_msi_entry - Allocate an initialize msi_entry
    > + * @dev: Pointer to the device for which this is allocated
    > + * @nvec: The number of vectors used in this entry
    > + * @affinity: Optional pointer to an affinity mask array size of @nvec
    > + *
    > + * If @affinity is not NULL then a an affinity array[@nvec] is allocated
    > + * and the affinity masks from @affinity are copied.
    > + */
    > +struct msi_desc *
    > +alloc_msi_entry(struct device *dev, int nvec, const struct cpumask *affinity)
    > {
    > - struct msi_desc *desc = kzalloc(sizeof(*desc), GFP_KERNEL);
    > + struct msi_desc *desc;
    > +
    > + desc = kzalloc(sizeof(*desc), GFP_KERNEL);
    > if (!desc)
    > return NULL;
    >
    > INIT_LIST_HEAD(&desc->list);
    > desc->dev = dev;
    > + desc->nvec_used = nvec;
    > + if (affinity) {
    > + desc->affinity = kmemdup(affinity,
    > + nvec * sizeof(*desc->affinity), GFP_KERNEL);
    > + if (!desc->affinity) {
    > + kfree(desc);
    > + return NULL;
    > + }
    > + }

    nit - should not "desc" initialization follow "desc->affinity" allocation?

    > return desc;
    > }
    >
    > void free_msi_entry(struct msi_desc *entry)
    > {
    > + kfree(entry->affinity);
    > kfree(entry);
    > }
    >
    > --
    > 2.1.4
    >

    \
     
     \ /
      Last update: 2016-09-19 09:26    [W:2.709 / U:1.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site