Received: by 10.223.164.221 with SMTP id h29csp3074003wrb; Mon, 30 Oct 2017 14:47:03 -0700 (PDT) X-Google-Smtp-Source: ABhQp+TFPkgH1kUh+8q+7lMszDpX2nPUbBGj98Ft0kXcAOeIu3UqPapkgtX6IfMRBdyGJ6oYdU1i X-Received: by 10.98.194.16 with SMTP id l16mr9907944pfg.139.1509400023372; Mon, 30 Oct 2017 14:47:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509400023; cv=none; d=google.com; s=arc-20160816; b=VFax8Qbm81cYwkjrR/CQOrEcA1t1kBmF8qdVHjLC5yQ5mi8SKL5iyFPjpOIdq1x/3Y bBwxawxzjUx4Pnbm4mBnAf0tp9AGFga2r/a73MVCQzyZOha+xJMUU3qOnaqBSzWrhCqE txditGclp9IcXByiGGoLiM6p16epjjwWd10l7Hbwtr+wQmfr78zJJLwXYjOzbp6yEJMI 8e8xGb+0NZ6ysu79m76P0deyKSlQkR/VAKplMCRSakowstpOVpQDsjHNvIN5+3gCrCE0 k/ICRXy1wPWySNKHijlo/o8NdPGn1loPijskKjSSP6aCBZADGep8U3I1cIeqQT2VkSox 87MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:cc:from:references:to:subject:dkim-signature :arc-authentication-results; bh=KjHh/12Ca2R3ddBzDnneJ+yj1aXWjWyJsSU7JG91eOE=; b=VSbDX95LqhrMcWHUu4qYy9lSFdfk+KNFNp9QKifL5StN+07Ej5hIhd1MRSvF6yDqhi WYcXlIPY5GwHDaxOtV4YHMEVHQFYZSV/SLoJcIRN9a34HfR1YudXRhY4rynUiVbPkBJe L6M+N0hdVCZsNK5O28LW99xE4kXfPRDZ77ENWSnxYVjijFSkg0ltVNFs8Si4obEcMjpO 9x/zbHUzexAPB8NMsvZjKA3mT4YSoXV4xnddmwL5lSI5J3Ubz6QEPs1f8Kn8nmlj3QeL fCPUrLhgNqy2D2p0EDNckiK0OnGN50Ykws7frKgWR73rmHF8WYkufj8GVeUhthsdGzNR 4iRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fW31gP/z; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p10si10932661pge.499.2017.10.30.14.46.50; Mon, 30 Oct 2017 14:47:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fW31gP/z; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933194AbdJ3Vo1 (ORCPT + 99 others); Mon, 30 Oct 2017 17:44:27 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:57315 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932274AbdJ3VoY (ORCPT ); Mon, 30 Oct 2017 17:44:24 -0400 Received: by mail-pf0-f194.google.com with SMTP id b85so12050040pfj.13; Mon, 30 Oct 2017 14:44:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:cc:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=KjHh/12Ca2R3ddBzDnneJ+yj1aXWjWyJsSU7JG91eOE=; b=fW31gP/z7lSJzcP4S2L1meiGoIQzwvu+oCRLU6cNyHQz0iMULnl97Rdz/R4Q/0zdgB EGIAq8nFHTm9ykzHCGuiape5+mQSxeTm+b3PADFP9I4TZ4ALFYvdsY9TPBLnWc5XRDm0 Odwwy4sv0aXHm2dCVgdIv6yep63WwBjOALWwudh0iCKXXtVYutdth0YVjjJUDLtweh4v QEUO6AMtRTIaO+wW6oElQwCLy31J1GK2JIr3lhuzejP/zKfaF5qhpjR6XASPIsk8U5Gl /1/4U7TzCQzifxQoZN+GxavZ3tC/R9rPJ2LOBE8eYP+Lnmg5KPIXTPB5dX0h6KZKUfEm NSLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:cc:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=KjHh/12Ca2R3ddBzDnneJ+yj1aXWjWyJsSU7JG91eOE=; b=M+G9fOzEtISxzrpcG2vQZR3HzA+5sYHlsNv2A7I1MyXfC5YNjyo2r5Pjq8EfaMtN74 EB62FM2AJdx8MCiG9eFL0Ro7NB0xNk+ePMru3tsVJM2+QvZcEfJ5EqiSXlvfZ/vUDt0D MasmPZmeH6LHrD9LgX7ZiE2bzE6gQL3gcwbyBpwNRdP76EE/jjmncb5FNqWs/adagjRg yKCro7dMiny/lpL/3e61/yRE2LwZRsatOzvs2xk2xDAzDMJj1MvMXA7vpk+pm4fUgUw1 RjqjLEo+Sf2dpErTU4SwhP7q7RGwBLlwofOaVdDEeMl7I7m9tU4eCiiIp+sCI/7HbUTX lHYg== X-Gm-Message-State: AMCzsaVN1ZjQCM4VMfqzzkSTwFdbPUhBhtX0p37FfgLWrMWeGzUtztg3 cNZ01DK+IkAwozQrf7mGd4iCnr5H X-Received: by 10.98.198.138 with SMTP id x10mr10275816pfk.55.1509399863767; Mon, 30 Oct 2017 14:44:23 -0700 (PDT) Received: from [192.168.86.135] ([72.168.144.206]) by smtp.gmail.com with ESMTPSA id 3sm30583464pfo.17.2017.10.30.14.44.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Oct 2017 14:44:23 -0700 (PDT) Subject: Re: WARNING in strp_data_ready To: syzbot , davem@davemloft.net, ebiggers@google.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, syzkaller-bugs@googlegroups.com, tom@quantonium.net, xiyou.wangcong@gmail.com References: <001a11421c7436e541055c4c7cf0@google.com> From: John Fastabend Cc: "netdev@vger.kernel.org" Message-ID: Date: Mon, 30 Oct 2017 14:44:06 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <001a11421c7436e541055c4c7cf0@google.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/24/2017 08:20 AM, syzbot wrote: > Hello, > > syzkaller hit the following crash on 73d3393ada4f70fa3df5639c8d438f2f034c0ecb > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/master > compiler: gcc (GCC) 7.1.1 20170620 > .config is attached > Raw console output is attached. > C reproducer is attached > syzkaller reproducer is attached. See https://goo.gl/kgGztJ > for information about syzkaller reproducers > > > WARNING: CPU: 0 PID: 2996 at ./include/net/sock.h:1505 sock_owned_by_me include/net/sock.h:1505 [inline] > WARNING: CPU: 0 PID: 2996 at ./include/net/sock.h:1505 sock_owned_by_user include/net/sock.h:1511 [inline] > WARNING: CPU: 0 PID: 2996 at ./include/net/sock.h:1505 strp_data_ready+0x2b7/0x390 net/strparser/strparser.c:404 > Kernel panic - not syncing: panic_on_warn set ... > > CPU: 0 PID: 2996 Comm: syzkaller142210 Not tainted 4.14.0-rc5+ #138 > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 > Call Trace: >   >  __dump_stack lib/dump_stack.c:16 [inline] >  dump_stack+0x194/0x257 lib/dump_stack.c:52 >  panic+0x1e4/0x417 kernel/panic.c:181 >  __warn+0x1c4/0x1d9 kernel/panic.c:542 >  report_bug+0x211/0x2d0 lib/bug.c:183 >  fixup_bug+0x40/0x90 arch/x86/kernel/traps.c:178 >  do_trap_no_signal arch/x86/kernel/traps.c:212 [inline] >  do_trap+0x260/0x390 arch/x86/kernel/traps.c:261 >  do_error_trap+0x120/0x390 arch/x86/kernel/traps.c:298 >  do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:311 >  invalid_op+0x18/0x20 arch/x86/entry/entry_64.S:905 > RIP: 0010:sock_owned_by_me include/net/sock.h:1505 [inline] > RIP: 0010:sock_owned_by_user include/net/sock.h:1511 [inline] > RIP: 0010:strp_data_ready+0x2b7/0x390 net/strparser/strparser.c:404 > RSP: 0018:ffff8801db206b18 EFLAGS: 00010206 > RAX: ffff8801d1e02080 RBX: ffff8801dad74c48 RCX: 0000000000000000 > RDX: 0000000000000100 RSI: ffff8801d29fa0a0 RDI: ffffffff85cbede0 > RBP: ffff8801db206b38 R08: 0000000000000005 R09: 1ffffffff0ce0bcd > R10: ffff8801db206a00 R11: dffffc0000000000 R12: ffff8801d29fa000 > R13: ffff8801dad74c50 R14: ffff8801d4350a92 R15: 0000000000000001 >  psock_data_ready+0x56/0x70 net/kcm/kcmsock.c:353 Looks like KCM is calling sk_data_ready() without first taking the sock lock. /* Called with lower sock held */ static void kcm_rcv_strparser(struct strparser *strp, struct sk_buff *skb) { [...] if (kcm_queue_rcv_skb(&kcm->sk, skb)) { In this case kcm->sk is not the same lock the comment is referring to. And kcm_queue_rcv_skb() will eventually call sk_data_ready(). @Tom, how about wrapping the sk_data_ready call in {lock|release}_sock? I don't have anything better in mind immediately. Thanks, John From 1582152825737332416@xxx Tue Oct 24 15:21:54 +0000 2017 X-GM-THRID: 1582152825737332416 X-Gmail-Labels: Inbox,Category Forums