lkml.org 
[lkml]   [2018]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 066/100] NFC: nfcmrvl_uart: fix OF child-node lookup
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit 5bf59773aaf36dd62117dc83d50e1bbf9ef432da ]

    Use the new of_get_compatible_child() helper to lookup the nfc child
    node instead of using of_find_compatible_node(), which searches the
    entire tree from a given start node and thus can return an unrelated
    (i.e. non-child) node.

    This also addresses a potential use-after-free (e.g. after probe
    deferral) as the tree-wide helper drops a reference to its first
    argument (i.e. the parent node).

    Fixes: e097dc624f78 ("NFC: nfcmrvl: add UART driver")
    Fixes: d8e018c0b321 ("NFC: nfcmrvl: update device tree bindings for Marvell NFC")
    Cc: stable <stable@vger.kernel.org> # 4.2
    Cc: Vincent Cuissard <cuissard@marvell.com>
    Cc: Samuel Ortiz <sameo@linux.intel.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/nfc/nfcmrvl/uart.c | 5 ++---
    1 file changed, 2 insertions(+), 3 deletions(-)

    diff --git a/drivers/nfc/nfcmrvl/uart.c b/drivers/nfc/nfcmrvl/uart.c
    index 91162f8e0366..9a22056e8d9e 100644
    --- a/drivers/nfc/nfcmrvl/uart.c
    +++ b/drivers/nfc/nfcmrvl/uart.c
    @@ -73,10 +73,9 @@ static int nfcmrvl_uart_parse_dt(struct device_node *node,
    struct device_node *matched_node;
    int ret;

    - matched_node = of_find_compatible_node(node, NULL, "marvell,nfc-uart");
    + matched_node = of_get_compatible_child(node, "marvell,nfc-uart");
    if (!matched_node) {
    - matched_node = of_find_compatible_node(node, NULL,
    - "mrvl,nfc-uart");
    + matched_node = of_get_compatible_child(node, "mrvl,nfc-uart");
    if (!matched_node)
    return -ENODEV;
    }
    --
    2.17.1


    \
     
     \ /
      Last update: 2018-11-29 15:47    [W:4.275 / U:0.664 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site