Andrew Donnellan <andrew.donnel...@au1.ibm.com> writes:

> When writing a value to config space, cxl_pcie_write_config() calls
> cxl_pcie_config_info() to obtain a mask and shift value, shifts the new
> value accordingly, then uses the mask to combine the shifted value with the
> existing value at the address as part of a read-modify-write pattern.
>
> Currently, we use a logical OR operator rather than a bitwise OR operator,
> which means any use of this function results in an incorrect value being
> written. Replace the logical OR operator with a bitwise OR operator so the
> value is written correctly.
>
> Reported-by: Michael Ellerman <m...@ellerman.id.au>
> Cc: sta...@vger.kernel.org

Given that there are no current users of this function, does this need
to go to stable? Does it actually fix a real (as opposed to theoretical)
bug?

Regards,
Daniel

> Fixes: 6f7f0b3df6d4 ("cxl: Add AFU virtual PHB and kernel API")
> Signed-off-by: Andrew Donnellan <andrew.donnel...@au1.ibm.com>
> ---
>  drivers/misc/cxl/vphb.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/misc/cxl/vphb.c b/drivers/misc/cxl/vphb.c
> index 94b5208..9be09bb 100644
> --- a/drivers/misc/cxl/vphb.c
> +++ b/drivers/misc/cxl/vphb.c
> @@ -203,7 +203,7 @@ static int cxl_pcie_write_config(struct pci_bus *bus, 
> unsigned int devfn,
>       mask <<= shift;
>       val <<= shift;
>  
> -     v = (in_le32(ioaddr) & ~mask) || (val & mask);
> +     v = (in_le32(ioaddr) & ~mask) | (val & mask);
>  
>       out_le32(ioaddr, v);
>       return PCIBIOS_SUCCESSFUL;
> -- 
> Andrew Donnellan              Software Engineer, OzLabs
> andrew.donnel...@au1.ibm.com  Australia Development Lab, Canberra
> +61 2 6201 8874 (work)        IBM Australia Limited
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to