1 From 78d7ca0927cfd9346d46a5f187eac456eecae535 Mon Sep 17 00:00:00 2001
2 From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
3 Date: Fri, 12 Apr 2019 19:52:36 +0900
4 Subject: mISDN: Check address length before reading address family
6 [ Upstream commit 238ffdc49ef98b15819cfd5e3fb23194e3ea3d39 ]
8 KMSAN will complain if valid address length passed to bind() is shorter
9 than sizeof("struct sockaddr_mISDN"->family) bytes.
11 Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
12 Signed-off-by: David S. Miller <davem@davemloft.net>
13 Signed-off-by: Sasha Levin <sashal@kernel.org>
15 drivers/isdn/mISDN/socket.c | 4 ++--
16 1 file changed, 2 insertions(+), 2 deletions(-)
18 diff --git a/drivers/isdn/mISDN/socket.c b/drivers/isdn/mISDN/socket.c
19 index c5603d1a07d6e..65cb4aac8dce7 100644
20 --- a/drivers/isdn/mISDN/socket.c
21 +++ b/drivers/isdn/mISDN/socket.c
22 @@ -712,10 +712,10 @@ base_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
23 struct sock *sk = sock->sk;
26 - if (!maddr || maddr->family != AF_ISDN)
27 + if (addr_len < sizeof(struct sockaddr_mISDN))
30 - if (addr_len < sizeof(struct sockaddr_mISDN))
31 + if (!maddr || maddr->family != AF_ISDN)