Received: by 10.223.164.197 with SMTP id h5csp269786wrb; Sat, 4 Nov 2017 10:27:16 -0700 (PDT) X-Google-Smtp-Source: ABhQp+TzqMHY7BdL8seziafWjehshay81fO4zMP20gcaeKnceqSiS3Q19gmOHlr3T+nr8IzrhrUr X-Received: by 10.99.95.76 with SMTP id t73mr10706452pgb.57.1509816436141; Sat, 04 Nov 2017 10:27:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509816436; cv=none; d=google.com; s=arc-20160816; b=af9uhLavtBY9UV/ZTc8tVKWbabQDwMf1q5uAWrbNP8GhEa1T2GP6PKqYpzaCQR1nug kqqn7Px4a3iXkH2HAoJCgdAlINxKIn2kHZLYJPxrITX4NG1RfE1RU7tWl5MV4Z8srQ2q QBYHoGdqIhe9aPUCfeOSDuOo+5Fw04ewxrRJIH1tDwci+FyKyx9wPfJuujOPExvfJWWl GAWmyt23OAM3DYkEIYcCAfdDoSrhykFT1mX7MevALlOyjGdJCWLvdqIMgGXgeDuQXuqT 2e0uEHWeF30dMbscYw82VMjcFfViHUClNXII+fgtdCRqJYC+CskFbL3DoBPfiAXP6TrX e0ng== 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:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=kFRTwkwY951vklpExhQgZpiDjAt+ltjt1NrZ9ii9ctY=; b=g5CUB/5MTWhzWl28MsYLWIKzu6szDQkbc7xrdPDnCDAr/a6cbtRNlf7cRFi//SGYBP gKdHotMkATDG6NBxB2q/e+zWgQg5ur4JH3haLowY3KYhDjTCrE47GN94r5J3O0s7cPEh qDieTjjG8r3fsSmOz3N3ihA3IVHuAsaPOVDCD7+ECK1jo9S/NT4E3Pmgz8NkFTh5v0tn F5D+j7ekjOLEJJRu84sXXZx/LYCmaDpoY1tb2X7UW1Odv7rtxKEabnuWLHhFM6MRJvUU fXoFm+aOp0c0GE6FFh87H8E7gX3o1Zyq2/YA1lP7yUmB7aowPrJ5sSHIIUVVVFHumrxV nY+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=yLl/UEFK; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 60si7379619plc.264.2017.11.04.10.27.02; Sat, 04 Nov 2017 10:27:16 -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=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=yLl/UEFK; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932441AbdKDR0Y (ORCPT + 93 others); Sat, 4 Nov 2017 13:26:24 -0400 Received: from mail-it0-f66.google.com ([209.85.214.66]:51271 "EHLO mail-it0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932273AbdKDR0X (ORCPT ); Sat, 4 Nov 2017 13:26:23 -0400 Received: by mail-it0-f66.google.com with SMTP id o135so875025itb.0 for ; Sat, 04 Nov 2017 10:26:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=kFRTwkwY951vklpExhQgZpiDjAt+ltjt1NrZ9ii9ctY=; b=yLl/UEFKnnzFP5zRjVRRYdImWRWUvdx5Him+EetRrT2GdqCtFMUPraB0iAW/XyGDHu IWgRjtqET2cOqjmJ1yD8XB9NTyhPMl3ySdvCIP+w2HGDVKSSBZflw9RLsBZYmuPu2Cuc VE3PdaxxTrxiWOEAQMqfQql0vcx2weHb5ILMtuilnWW02qNsTgdtLM5aSgY6FMZDbQhA ht6Y72la3NuD0AvI17q7APDQcXfA8lu7RZo65Wh7n5NGT7LHJx883nmbLgSlxrh3dCpc mLfwyTe8A0x8wEbPG/QlBySmXkouqVsXoO7qDMd75zomiTXsapu4H71MFbrRjN262u+3 ggBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=kFRTwkwY951vklpExhQgZpiDjAt+ltjt1NrZ9ii9ctY=; b=RglYB0hAumPfItr2NQKO+LmnwjV4TYzek53rJwWhPHHb7uFMhJM4saZ3xv9R29cWf2 POnphiv2lo7q3YQw5VHxKd20Q0B1SkI0ELQjPqqeVXu8ebZuuJbgA1dRUWWJmQ9MV30v WfT7kbO7tdzW9FhS2ZfHyo95el1LpsqtmB2XszdSeXIfAXiH+jUBjLzPoAsr4UbyQMw4 oVeGz8bMejKJGSGcViKCxVb8BFo8L9PsWtrrXI/sfsBqxRh/v8Ql1JbVyDd5R88CQ6aY zSSDSG+IMIVhs58ziALCf77yJDB7kEdsSUrQ1CSgBysJU/L4WsjY8wFGYfbKy+UWlSCS 2wbA== X-Gm-Message-State: AJaThX78zJdZSw+hh0/3wg45cWQAeh5s2no2soB/hV6pa0UwaFLq0fPz clEdwXdRjlkincxRDvGCnk1cbQ== X-Received: by 10.36.4.212 with SMTP id 203mr3517787itb.10.1509816382842; Sat, 04 Nov 2017 10:26:22 -0700 (PDT) Received: from [192.168.1.154] ([216.160.245.98]) by smtp.gmail.com with ESMTPSA id v76sm2458827itb.1.2017.11.04.10.26.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 04 Nov 2017 10:26:22 -0700 (PDT) Subject: Re: WARNING in tracepoint_probe_register_prio To: Steven Rostedt Cc: syzbot , linux-kernel@vger.kernel.org, mingo@kernel.org, syzkaller-bugs@googlegroups.com, Mathieu Desnoyers References: <001a1146fbf6025d35055cb624df@google.com> <20171031182116.3e34c518@gandalf.local.home> <6d3f6847-b368-37f1-b7c5-2abbba074235@kernel.dk> <20171031191416.08aad0b4@gandalf.local.home> From: Jens Axboe Message-ID: <96953804-88dc-f844-9051-115c649ed19c@kernel.dk> Date: Sat, 4 Nov 2017 11:26:21 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171031191416.08aad0b4@gandalf.local.home> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/31/2017 05:14 PM, Steven Rostedt wrote: > On Tue, 31 Oct 2017 16:30:41 -0600 > Jens Axboe wrote: > >> This code dates back to: >> >> commit c71a896154119f4ca9e89d6078f5f63ad60ef199 >> Author: Arnaldo Carvalho de Melo >> Date: Fri Jan 23 12:06:27 2009 -0200 >> >> blktrace: add ftrace plugin >> >> so not really a recent regression :-) > > How many people run two instances of blktrace? ;-> > Love fuzzers! The core code is fine, the bug is actually in sg which added hooks for both doing setup/teardown and start/stop of tracing. This was done bypassing the internal locking... The below should do the trick. It's a fix for this commit: commit 6da127ad0918f93ea93678dad62ce15ffed18797 Author: Christof Schmitt Date: Fri Jan 11 10:09:43 2008 +0100 blktrace: Add blktrace ioctls to SCSI generic devices diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c index 45a3928544ce..ea57dd94b2b2 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c @@ -336,7 +336,7 @@ static void blk_trace_cleanup(struct blk_trace *bt) blk_unregister_tracepoints(); } -int blk_trace_remove(struct request_queue *q) +static int __blk_trace_remove(struct request_queue *q) { struct blk_trace *bt; @@ -349,6 +349,17 @@ int blk_trace_remove(struct request_queue *q) return 0; } + +int blk_trace_remove(struct request_queue *q) +{ + int ret; + + mutex_lock(&q->blk_trace_mutex); + ret = __blk_trace_remove(q); + mutex_unlock(&q->blk_trace_mutex); + + return ret; +} EXPORT_SYMBOL_GPL(blk_trace_remove); static ssize_t blk_dropped_read(struct file *filp, char __user *buffer, @@ -550,9 +561,8 @@ static int do_blk_trace_setup(struct request_queue *q, char *name, dev_t dev, return ret; } -int blk_trace_setup(struct request_queue *q, char *name, dev_t dev, - struct block_device *bdev, - char __user *arg) +static int __blk_trace_setup(struct request_queue *q, char *name, dev_t dev, + struct block_device *bdev, char __user *arg) { struct blk_user_trace_setup buts; int ret; @@ -571,6 +581,19 @@ int blk_trace_setup(struct request_queue *q, char *name, dev_t dev, } return 0; } + +int blk_trace_setup(struct request_queue *q, char *name, dev_t dev, + struct block_device *bdev, + char __user *arg) +{ + int ret; + + mutex_lock(&q->blk_trace_mutex); + ret = __blk_trace_setup(q, name, dev, bdev, arg); + mutex_unlock(&q->blk_trace_mutex); + + return ret; +} EXPORT_SYMBOL_GPL(blk_trace_setup); #if defined(CONFIG_COMPAT) && defined(CONFIG_X86_64) @@ -607,7 +630,7 @@ static int compat_blk_trace_setup(struct request_queue *q, char *name, } #endif -int blk_trace_startstop(struct request_queue *q, int start) +static int __blk_trace_startstop(struct request_queue *q, int start) { int ret; struct blk_trace *bt = q->blk_trace; @@ -646,6 +669,17 @@ int blk_trace_startstop(struct request_queue *q, int start) return ret; } + +int blk_trace_startstop(struct request_queue *q, int start) +{ + int ret; + + mutex_lock(&q->blk_trace_mutex); + ret = __blk_trace_startstop(q, start); + mutex_unlock(&q->blk_trace_mutex); + + return ret; +} EXPORT_SYMBOL_GPL(blk_trace_startstop); /* @@ -676,7 +710,7 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) switch (cmd) { case BLKTRACESETUP: bdevname(bdev, b); - ret = blk_trace_setup(q, b, bdev->bd_dev, bdev, arg); + ret = __blk_trace_setup(q, b, bdev->bd_dev, bdev, arg); break; #if defined(CONFIG_COMPAT) && defined(CONFIG_X86_64) case BLKTRACESETUP32: @@ -687,10 +721,10 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) case BLKTRACESTART: start = 1; case BLKTRACESTOP: - ret = blk_trace_startstop(q, start); + ret = __blk_trace_startstop(q, start); break; case BLKTRACETEARDOWN: - ret = blk_trace_remove(q); + ret = __blk_trace_remove(q); break; default: ret = -ENOTTY; @@ -708,10 +742,14 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) **/ void blk_trace_shutdown(struct request_queue *q) { + mutex_lock(&q->blk_trace_mutex); + if (q->blk_trace) { - blk_trace_startstop(q, 0); - blk_trace_remove(q); + __blk_trace_startstop(q, 0); + __blk_trace_remove(q); } + + mutex_unlock(&q->blk_trace_mutex); } #ifdef CONFIG_BLK_CGROUP -- Jens Axboe From 1582816809004001989@xxx Tue Oct 31 23:15:38 +0000 2017 X-GM-THRID: 1582628660594689087 X-Gmail-Labels: Inbox,Category Forums