net: qrtr: make checks in qrtr_endpoint_post() stricter
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 30 Aug 2021 08:37:17 +0000 (11:37 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Aug 2021 11:26:57 +0000 (12:26 +0100)
commitaaa8e4922c887ff47ad66ef918193682bccc1905
treebdedc982e850092ab7fced04a915278f406fb49e
parentefe487fce3061d94222c6501d7be3aa549b3dc78
net: qrtr: make checks in qrtr_endpoint_post() stricter

These checks are still not strict enough.  The main problem is that if
"cb->type == QRTR_TYPE_NEW_SERVER" is true then "len - hdrlen" is
guaranteed to be 4 but we need to be at least 16 bytes.  In fact, we
can reject everything smaller than sizeof(*pkt) which is 20 bytes.

Also I don't like the ALIGN(size, 4).  It's better to just insist that
data is needs to be aligned at the start.

Fixes: 0baa99ee353c ("net: qrtr: Allow non-immediate node routing")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/qrtr/qrtr.c