Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1608529ybz; Thu, 30 Apr 2020 02:20:34 -0700 (PDT) X-Google-Smtp-Source: APiQypJEgtfgBrQGSfiZBWWY1DjbPozTq93Apb8dIuDeqXiqelQxp6LGRid3t+69UVbto1f/3aJE X-Received: by 2002:aa7:c98a:: with SMTP id c10mr1774436edt.94.1588238434780; Thu, 30 Apr 2020 02:20:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588238434; cv=none; d=google.com; s=arc-20160816; b=0dWV5brkay1/3vrUNkIvYvuHyZyuLNlRVrYEacWD1XdqdbfmQq4U6W5dcsVgJb64Um e2EIih0V7yR+WOsmvSKNqCdDMw5kMLxQh8s1hBSb373nrmAQ32RYwcDeDgzmhd1s+uBh cmUSMhrZbWrnIxq6Gx09ZayEsC/x7Z+I8yt6D7+rHDjNx5HDcVrCO7/CYXDye2xIx2y/ kU3BO0haeJODFONZqGH0Q/qKqPR/gAYPJqwLqovU09+ENOvC+jh3mw2/+c38UvInZopL Vu8o7eeMDCJqOOJAg+HQH8Sq59p0vKbratXlc0z4sQ8IpFKxk/OlcCJF3q1zU20ViDPY dbdg== 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:mime-version :references:in-reply-to:date:to:from:subject:message-id; bh=L8cm93OYWbt2usR73pMhhLt0QPjz0/F7VXhyO+N7Dqk=; b=ZWmWUMM8ND1Kz3D/Zg11JcP5eapSobORRubByPN2wap9OD3fQrvqm1YbPMUkQHVFKa eUKElFpbTpsJjTRPZlTS2RhOJ1lyGDGEl8teOu817fjQn9ah5/dt4kzTr6sJItOyktdX uL97EKuL/Npp16Rz87qdk7aJZu6i3XJvgG6/Lb7BxTFbCk6osj0jLfXLi+/9JgffljhW u8WozCJpQi/KOJS00h7Xx+V40vaIpwP5IPiybaHdXd0AofOrUBKYW8Is4gAqzUhUvQ65 e8zxOEud3FsLtPjxTJeuYLmh/ZGa60bj1GkttcRWPc3WQFaag777pm/ohKngO0QnZoKk jwbg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l15si5395608edv.74.2020.04.30.02.20.10; Thu, 30 Apr 2020 02:20:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726781AbgD3JS3 (ORCPT + 99 others); Thu, 30 Apr 2020 05:18:29 -0400 Received: from mx2.suse.de ([195.135.220.15]:52408 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726127AbgD3JS3 (ORCPT ); Thu, 30 Apr 2020 05:18:29 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 6D2E0ABC7; Thu, 30 Apr 2020 09:18:26 +0000 (UTC) Message-ID: <1588238283.16510.11.camel@suse.com> Subject: Re: KASAN: use-after-free Read in usblp_bulk_read From: Oliver Neukum To: syzbot , andreyknvl@google.com, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, syzkaller-bugs@googlegroups.com, zaitcev@redhat.com Date: Thu, 30 Apr 2020 11:18:03 +0200 In-Reply-To: <00000000000046503905a3cec366@google.com> References: <00000000000046503905a3cec366@google.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.26.6 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Dienstag, den 21.04.2020, 08:35 -0700 schrieb syzbot: > Hello, > > syzbot found the following crash on: > > HEAD commit: 0fa84af8 Merge tag 'usb-serial-5.7-rc1' of https://git.ker.. > git tree: https://github.com/google/kasan.git usb-fuzzer > console output: https://syzkaller.appspot.com/x/log.txt?x=126f75d7e00000 > kernel config: https://syzkaller.appspot.com/x/.config?x=6b9c154b0c23aecf > dashboard link: https://syzkaller.appspot.com/bug?extid=be5b5f86a162a6c281e6 > compiler: gcc (GCC) 9.0.0 20181231 (experimental) > > Unfortunately, I don't have any reproducer for this crash yet. > > IMPORTANT: if you fix the bug, please add the following tag to the commit: > Reported-by: syzbot+be5b5f86a162a6c281e6@syzkaller.appspotmail.com > > usblp0: nonzero read bulk status received: -71 OK, we have this report and nobody understands it. If I may summarize: 1. We do not conclusively know how the URB was submitted 2. We are clear about which memory was freed and accessed 3. We agree that the URB should have been unlinked Do we agree on what we agree on? Theories: A. There is a race that would allow disconnect() and resume() to run concurrently B. There is a race in usblp which affects 'used' C. There is a bug in the virtual driver that can make unlinking an URB fail What do you think? How to investigate this further and is it worth it? Do we have documentation on what KASAN does? Regards Oliver