Re: v4.14-rc2/arm64 kernel BUG at net/core/skbuff.c:2626
From: Mark Rutland <mark.rutland@arm.com>
Date: 2017-10-02 17:35:48
Also in:
linux-arm-kernel, lkml
On Mon, Oct 02, 2017 at 10:27:15AM -0700, Eric Dumazet wrote:
On Mon, Oct 2, 2017 at 10:21 AM, Mark Rutland [off-list ref] wrote:quoted
On Mon, Oct 02, 2017 at 07:48:28AM -0700, Eric Dumazet wrote:quoted
Please try the following fool proof patch. This is what I had in my local tree back in August but could not conclude on the syzkaller bug I was working on.diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index 681e33998e03b609fdca83a83e0fc62a3fee8c39..e51d777797a927058760a1ab7af00579f7488cb5 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c@@ -732,7 +732,8 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info) room = 576; room -= sizeof(struct iphdr) + icmp_param.replyopts.opt.opt.optlen; room -= sizeof(struct icmphdr); - + if (room < 0) + goto ende; icmp_param.data_len = skb_in->len - icmp_param.offset; if (icmp_param.data_len > room) icmp_param.data_len = room;Unfortuantely, with this applied I still see the issue. Syzkaller came up with a minimized reproducer [1], which can trigger the issue near instantly under syz-execprog. If there's anything that would help to narrow this down, I'm more than happy to give it a go. Thanks, Mark. [1] https://www.kernel.org/pub/linux/kernel/people/mark/bugs/20171002-skb_clone-misaligned-atomic/syzkaller.reproNote that I was not trying to address the misaligned stuff.
Aargh, I put the reproducer in the wrong folder thanks to tab-completing my kup command. :/ The reproducer linked above is for the kernel BUG at net/core/skbuff.c:2626. I've uploaded a copy into the relevant bug directory [1], but that'll take a little while to sync out. I'll drop it from the misalignment bug folder once that's visible to all. Sorry about that! Thanks, Mark. [1] https://www.kernel.org/pub/linux/kernel/people/mark/bugs/20171002-skbuff-bug/