Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba024f25 authored by Tetsuo Handa's avatar Tetsuo Handa Committed by David S. Miller
Browse files

bpf: Check address length before reading address family



KMSAN will complain if valid address length passed to bpf_bind() is
shorter than sizeof("struct sockaddr"->sa_family) bytes.

Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Acked-by: default avatarAndrey Ignatov <rdna@fb.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c68e747d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -4383,6 +4383,8 @@ BPF_CALL_3(bpf_bind, struct bpf_sock_addr_kern *, ctx, struct sockaddr *, addr,
	 * Only binding to IP is supported.
	 */
	err = -EINVAL;
	if (addr_len < offsetofend(struct sockaddr, sa_family))
		return err;
	if (addr->sa_family == AF_INET) {
		if (addr_len < sizeof(struct sockaddr_in))
			return err;