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

[xen master] vPCI: resolve MISRA R10.1 boolean arithmetic type violation



commit b19c512d19a970e9ab297164fd89a81f63ff3955
Author:     Dmytro Prokopchuk <dmytro_prokopchuk1@xxxxxxxx>
AuthorDate: Wed Oct 14 09:24:19 2026 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Oct 14 09:24:19 2026 +0200

    vPCI: resolve MISRA R10.1 boolean arithmetic type violation
    
    MISRA C Rule 10.1 states: "Operands shall not be of an inappropriate
    essential type".
    
    bar_write() and guest_mem_bar_write() added the boolean 'hi' to a
    pointer difference when printing the ignored BAR index. These handlers
    are registered only for the memory BAR registers, so print
    (reg - PCI_BASE_ADDRESS_0) / 4 instead. The expression has type
    unsigned int, so use %u.
    
    No functional changes.
    
    Suggested-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@xxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Roger Pau Monné <roger@xxxxxxxxxxxxxx>
---
 xen/drivers/vpci/header.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index d1c92cf77f..7e5f4b8a00 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -585,8 +585,8 @@ static void cf_check bar_write(
         /* If the value written is the current one avoid printing a warning. */
         if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
             gprintk(XENLOG_WARNING,
-                    "%pp: ignored BAR %zu write while mapped\n",
-                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
+                    "%pp: ignored BAR %u write while mapped\n",
+                    &pdev->sbdf, (reg - PCI_BASE_ADDRESS_0) / 4);
         return;
     }
 
@@ -646,8 +646,8 @@ static void cf_check guest_mem_bar_write(const struct 
pci_dev *pdev,
         /* If the value written is the current one avoid printing a warning. */
         if ( guest_addr != bar->guest_addr )
             gprintk(XENLOG_WARNING,
-                    "%pp: ignored guest BAR %zu write while mapped\n",
-                    &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
+                    "%pp: ignored guest BAR %u write while mapped\n",
+                    &pdev->sbdf, (reg - PCI_BASE_ADDRESS_0) / 4);
         return;
     }
     bar->guest_addr = guest_addr;
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

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