net: qrtr: Avoid potential use after free in MHI send
authorBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 21 Apr 2021 17:40:07 +0000 (10:40 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Apr 2021 18:01:03 +0000 (11:01 -0700)
commit47a017f33943278570c072bc71681809b2567b3a
treec66d2abce9babf4914ff97d2e3b20b8cd76023b1
parent357a07c26697a770d39d28b6b111f978deb4017d
net: qrtr: Avoid potential use after free in MHI send

It is possible that the MHI ul_callback will be invoked immediately
following the queueing of the skb for transmission, leading to the
callback decrementing the refcount of the associated sk and freeing the
skb.

As such the dereference of skb and the increment of the sk refcount must
happen before the skb is queued, to avoid the skb to be used after free
and potentially the sk to drop its last refcount..

Fixes: 6e728f321393 ("net: qrtr: Add MHI transport layer")
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/qrtr/mhi.c