Patch "PCI: rpaphp: Fix up pointer to first drc-info entry" has been added to the 4.19-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    PCI: rpaphp: Fix up pointer to first drc-info entry

to the 4.19-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     pci-rpaphp-fix-up-pointer-to-first-drc-info-entry.patch
and it can be found in the queue-4.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit d04857d729ec856c835fbe828db370c2a1ccbbd3
Author: Tyrel Datwyler <tyreld@xxxxxxxxxxxxx>
Date:   Sun Nov 10 23:21:31 2019 -0600

    PCI: rpaphp: Fix up pointer to first drc-info entry
    
    [ Upstream commit 9723c25f99aff0451cfe6392e1b9fdd99d0bf9f0 ]
    
    The first entry of the ibm,drc-info property is an int encoded count
    of the number of drc-info entries that follow. The "value" pointer
    returned by of_prop_next_u32() is still pointing at the this value
    when we call of_read_drc_info_cell(), but the helper function
    expects that value to be pointing at the first element of an entry.
    
    Fix up by incrementing the "value" pointer to point at the first
    element of the first drc-info entry prior.
    
    Signed-off-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxx>
    Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
    Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/1573449697-5448-5-git-send-email-tyreld@xxxxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c
index cc860c5f7d26..f56004243591 100644
--- a/drivers/pci/hotplug/rpaphp_core.c
+++ b/drivers/pci/hotplug/rpaphp_core.c
@@ -239,6 +239,8 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name,
 	value = of_prop_next_u32(info, NULL, &entries);
 	if (!value)
 		return -EINVAL;
+	else
+		value++;
 
 	for (j = 0; j < entries; j++) {
 		of_read_drc_info_cell(&info, &value, &drc);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux