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

Re: [PATCH] xen/arm: smmuv1: Fixed stream matching register allocation

Hi Rahul,

On 25/06/2021 17:37, Rahul Singh wrote:
SMR allocation should be based on the number of supported stream
matching register for each SMMU device.

Issue introduced by commit 5e08586afbb90b2e2d56c175c07db77a4afa873c
when backported the patches from Linux to XEN to fix the stream match
conflict issue when two devices have the same stream-id.

Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
Tested-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
Signed-off-by: Rahul Singh <rahul.singh@xxxxxxx>
  xen/drivers/passthrough/arm/smmu.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c 
index d9a3a0cbf6..da2cd457d7 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -149,6 +149,7 @@ typedef enum irqreturn irqreturn_t;
  #define kzalloc(size, flags)          _xzalloc(size, sizeof(void *))
  #define devm_kzalloc(dev, size, flags)        _xzalloc(size, sizeof(void *))
  #define kmalloc_array(size, n, flags) _xmalloc_array(size, sizeof(void *), n)
+#define kzalloc_array(size, n, flags)  _xzalloc_array(size, sizeof(void *), n)
static void __iomem *devm_ioremap_resource(struct device *dev,
                                           struct resource *res)
@@ -2221,7 +2222,7 @@ static int arm_smmu_device_cfg_probe(struct 
arm_smmu_device *smmu)
                smmu->smr_mask_mask = smr >> SMR_MASK_SHIFT;
/* Zero-initialised to mark as invalid */
-               smmu->smrs = devm_kzalloc(smmu->dev, sizeof(*smmu->smrs), 
+               smmu->smrs = kzalloc_array(sizeof(*smmu->smrs), size, 

I noticed this is already in... However, I am a bit puzzled into why this was switched devm_kzalloc() to kzalloc_array(). This doesn't matter for Xen as they are just wrappers to x*alloc() but a mention in the commit message would have been useful.

Also, when sending series, please remember to create a cover letter and number each patch.


Julien Grall



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.