diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c index e602addc959e..e437aed324ad 100644 --- a/net/qrtr/qrtr.c +++ b/net/qrtr/qrtr.c @@ -1731,6 +1731,11 @@ static int qrtr_recvmsg(struct socket *sock, struct msghdr *msg, rc = copied; if (addr) { + /* There is an anonymous 2-byte hole after sq_family, + * make sure to clear it. + */ + memset(addr, 0, sizeof(*addr)); + addr->sq_family = AF_QIPCRTR; addr->sq_node = cb->src_node; addr->sq_port = cb->src_port;