On Tue 19 May 11:14 PDT 2020, Manivannan Sadhasivam wrote:
> Once the traversal of the list is completed with list_for_each_entry(),
> the iterator (node) will point to an invalid object. So passing this to
> qrtr_local_enqueue() which is outside of the iterator block is erroneous
> eventhough the object is not used.
>
> So fix this by passing NULL to qrtr_local_enqueue().
>
> Fixes: bdabad3e363d ("net: Add Qualcomm IPC router")
> Reported-by: kbuild test robot <[email protected]>
> Reported-by: Julia Lawall <[email protected]>
Reviewed-by: Bjorn Andersson <[email protected]>
Regards,
Bjorn
> Signed-off-by: Manivannan Sadhasivam <[email protected]>
> ---
> net/qrtr/qrtr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c
> index 7ed31b5e77e4..2d8d6131bc5f 100644
> --- a/net/qrtr/qrtr.c
> +++ b/net/qrtr/qrtr.c
> @@ -854,7 +854,7 @@ static int qrtr_bcast_enqueue(struct qrtr_node *node,
> struct sk_buff *skb,
> }
> mutex_unlock(&qrtr_node_lock);
>
> - qrtr_local_enqueue(node, skb, type, from, to);
> + qrtr_local_enqueue(NULL, skb, type, from, to);
>
> return 0;
> }
> --
> 2.17.1
>