Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2537658pxj; Mon, 10 May 2021 05:27:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyhk+dxgNd814mkyB6s8gcarLJkba9pvvCTPhs5nJsbqk8u2gmNFvYgSo32jdkm5bNqHIWG X-Received: by 2002:a50:fe03:: with SMTP id f3mr29086844edt.92.1620649629499; Mon, 10 May 2021 05:27:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620649629; cv=none; d=google.com; s=arc-20160816; b=GcJL27GUke4LfuCHgaT2wRvI9D6M/N50pm/1gM7rxtkpNVDR6rxTnQZfVlTG3rLMmt j0nlsU7zYBT+rQfD8tMi8K5GM0rnsQVgNmakzdrhqdB9J3HbYNS9hmg3HDujx4YXS26O XxXyoQBgA7/2zjnEyF3tbs4CbCcpfOGlwHmFjh+7Bgwn4/7U2VPEGmlJQ23geCBLu+Dt B6hS61/9Oc5/V0OmECELk/WQlMwb3+R2YXWiXeO2IWi2sYPaRHiEHWWj4Do7QCjmY9Du agk/qitshA0zUk71a4rzGmK9d6D/QlJrialo/NyQhxOy84uz8vzrZrFDwTbe9MxOWJib OyYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=+AjbNt9NPgI4NU/MWtCxBoSFssjZlIPoUe0h8IAQO2Y=; b=v8bRStRD1tTDm9Z8ONO0/GnIjObIn3qucoLIk7OdLqb7kwG61DXriJ3vUYtxt0rlB9 FVUkl8aWvOoR6uo6YffLWggseZnkah4OVHltXrCMgN0goLuUmccreLA7I9j5RESEo1jh 0ZkBaSYC/mtmbir7a+3XqdDXNQiYNpQFycJFErVj5LfWBMnVm11fNXMCPeHQhYSjMAVw dHIhWZLnhCh//viJIoUFpNFz8PLyo6jvSV87ApgmokAFqcTFQBx+ywzYJfiS8X28DUrT eEG/HfMrbmja2EDrgAiTt45p+qbhpKWJyzobp/OUDRPc4ie27dRDpbDVXdG9gcAg81g3 bQ7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Y4TVGUcm; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z26si6897458ejr.406.2021.05.10.05.26.41; Mon, 10 May 2021 05:27:09 -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; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Y4TVGUcm; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344354AbhEJMPg (ORCPT + 99 others); Mon, 10 May 2021 08:15:36 -0400 Received: from mail.kernel.org ([198.145.29.99]:40838 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236064AbhEJLHZ (ORCPT ); Mon, 10 May 2021 07:07:25 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id E19C3617ED; Mon, 10 May 2021 10:57:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620644279; bh=bbNokWG/OOTmYxR7K9p8wj7ATK+qZNNE29KRCIpvPAA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Y4TVGUcmmGuI/V61quXrT2GmFZE+LpZR0nzvRvXuCZRS87IHWqNhEA8wCjTy37zf/ l0lDObOdT3lQiFArvYgjBDePWTw8xXd1xigkFnb8fKpboe1yQhjXmJ9eacTzzMlL0Q Fl4ZpXvTRjugNQWKTtCKX2khgJUi67hSZfsNwOR8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Steven Rostedt (VMware)" Subject: [PATCH 5.12 018/384] ftrace: Handle commands when closing set_ftrace_filter file Date: Mon, 10 May 2021 12:16:47 +0200 Message-Id: <20210510102015.475313343@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102014.849075526@linuxfoundation.org> References: <20210510102014.849075526@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Steven Rostedt (VMware) commit 8c9af478c06bb1ab1422f90d8ecbc53defd44bc3 upstream. # echo switch_mm:traceoff > /sys/kernel/tracing/set_ftrace_filter will cause switch_mm to stop tracing by the traceoff command. # echo -n switch_mm:traceoff > /sys/kernel/tracing/set_ftrace_filter does nothing. The reason is that the parsing in the write function only processes commands if it finished parsing (there is white space written after the command). That's to handle: write(fd, "switch_mm:", 10); write(fd, "traceoff", 8); cases, where the command is broken over multiple writes. The problem is if the file descriptor is closed, then the write call is not processed, and the command needs to be processed in the release code. The release code can handle matching of functions, but does not handle commands. Cc: stable@vger.kernel.org Fixes: eda1e32855656 ("tracing: handle broken names in ftrace filter") Signed-off-by: Steven Rostedt (VMware) Signed-off-by: Greg Kroah-Hartman --- kernel/trace/ftrace.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -5631,7 +5631,10 @@ int ftrace_regex_release(struct inode *i parser = &iter->parser; if (trace_parser_loaded(parser)) { - ftrace_match_records(iter->hash, parser->buffer, parser->idx); + int enable = !(iter->flags & FTRACE_ITER_NOTRACE); + + ftrace_process_regex(iter, parser->buffer, + parser->idx, enable); } trace_parser_put(parser);