========
0: 0f 85 b6 00 00 00 jne 0xbc
6: 48 8d bb 38 05 00 00 lea 0x538(%rbx),%rdi
d: e8 f2 01 d5 fb callq 0xfffffffffbd50204
12: 4c 8b bb 38 05 00 00 mov 0x538(%rbx),%r15
19: 49 8d bf 1e 02 00 00 lea 0x21e(%r15),%rdi
20: e8 2f 01 d5 fb callq 0xfffffffffbd50154
25: 66 41 83 7e 04 00 cmpw $0x0,0x4(%r14)
2b:* 45 0f b7 af 1e 02 00 movzwl 0x21e(%r15),%r13d <-- trapping instruction
32: 00
33: 75 1a jne 0x4f
35: 48 8d bb d0 02 00 00 lea 0x2d0(%rbx),%rdi
3c: e8 53 00 d5 00 callq 0xd50094
Code starting with the faulting instruction
===========================================
0: 45 0f b7 af 1e 02 00 movzwl 0x21e(%r15),%r13d
7: 00
8: 75 1a jne 0x24
a: 48 8d bb d0 02 00 00 lea 0x2d0(%rbx),%rdi
11: e8 53 00 d5 00 callq 0xd50069
[ 430.551939] RIP llc_ui_sendmsg (net/llc/af_llc.c:912)
[ 430.551939] RSP <ffff88005edcbcd8>
[ 430.551939] CR2: 000000000000021e
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
---
net/llc/af_llc.c | 3 +++
1 file changed, 3 insertions(+)
@@ -909,6 +909,9 @@ static int llc_ui_sendmsg(struct kiocb *iocb, struct socket *sock,
if (rc)
goto release;
}
+ rc = -ENODEV;
+ if (!llc->dev)
+ goto release;
hdrlen = llc->dev->hard_header_len + llc_ui_header_len(sk, addr);
size = hdrlen + len;
if (size > llc->dev->mtu)