Received: by 2002:ac0:aed5:0:0:0:0:0 with SMTP id t21csp5904588imb; Fri, 8 Mar 2019 05:10:03 -0800 (PST) X-Google-Smtp-Source: APXvYqw68qdld+H3GhLFMqlbmo4f16E1B+V4+e8vvTXFpytJhwVju738fQ6BnymN1ok5VDi3y25O X-Received: by 2002:a63:b0b:: with SMTP id 11mr16807740pgl.187.1552050603713; Fri, 08 Mar 2019 05:10:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1552050603; cv=none; d=google.com; s=arc-20160816; b=kKl181vI8xvqxGrvrEFzDWeNwjBdhwRsquG3v0lg1mJ1CCfo5rJrDtVSFcKYoMq0gV /lotQTz+WhcPK5fLljcb2RylByWuWmPnhxUvdTEsFBh32Rlrjqo4qoxcKLPl+EdjzKxR wgRNGQFXt5ijzLRcfRti0cc5uf6ITUDlKRzIFDpoxSJlLniA+b5THAKzeoib/wXQH3Sq XFLoLuFbcSsru1zpWo3S+0hssOhDlgy+PyueDxvPH6KnlwVZq/WA8uuTBGrAXa2ZKX5R l/3MSEjGkmqlcFjy8ETu6YcMTDarWCdtzKe+ohFlHBwxLNWgGPXbA8s//sOl8QARoS9O 7PKA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LaPkFH1qvNp+M5tQEsEPHTYNLaGp8seSJjIavDwRV4w=; b=pLtfrLWUgAYyWLyYg12eYmv2FNYWd7w2jVtHhvuel4HkbWuGALRHNquBvjYLZcYtH9 a0aPSbYg4eTDtCk6feDA2GIY9v7lMnNV6FI595ioK24iGhAwtf1Y2fjndmgRTj+r9Zyp 6drb8JZgIEDkKW8oCzVvo6pCOgh+Q7AImdELutzD7i31v4rSnK4MMc3T5rdhqj5sziN4 cgcZCU/MkJJQlj0o/ROFWdPSfFo40nrUv2tmowbM78WOh6ljSmoRA1z+JiNvijWcCMUZ PSMcEDh1/fEg2OLVicS2AZ/KMfvTNJ8kYTB1Nq1PGFjkE+Tf27nHOkR54YEjYXF0PYSa tU7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="i97yD/pc"; 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 y16si7077095pll.83.2019.03.08.05.09.47; Fri, 08 Mar 2019 05:10:03 -0800 (PST) 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.org header.s=default header.b="i97yD/pc"; 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 S1726934AbfCHMwS (ORCPT + 99 others); Fri, 8 Mar 2019 07:52:18 -0500 Received: from mail.kernel.org ([198.145.29.99]:55804 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726920AbfCHMwP (ORCPT ); Fri, 8 Mar 2019 07:52:15 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9026D2133F; Fri, 8 Mar 2019 12:52:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1552049535; bh=rc10ssGyNqn3eBycMw4Z1WjUheVx6y77q+CGXIqx3ec=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=i97yD/pcXqsV2IiB9G5LtWfOH61+Kk/9t+G7q+N7h1VEvIqf3GYIufqb08yFJ8Buv pvPKglGjAqaj6mYiJH6J3r4we9URauJLbPwdsFh8CdI8+mMNRbfx0i3EHCj+7C+4pS piPHvy6ur7UB2W6GuOEwpVoaAr8/YXy5qrKli0fw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Pavel Tikhomirov , "Steven Rostedt (VMware)" Subject: [PATCH 5.0 31/46] tracing: Fix event filters and triggers to handle negative numbers Date: Fri, 8 Mar 2019 13:50:04 +0100 Message-Id: <20190308124904.282819500@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190308124902.257040783@linuxfoundation.org> References: <20190308124902.257040783@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 5.0-stable review patch. If anyone has any objections, please let me know. ------------------ From: Pavel Tikhomirov commit 6a072128d262d2b98d31626906a96700d1fc11eb upstream. Then tracing syscall exit event it is extremely useful to filter exit codes equal to some negative value, to react only to required errors. But negative numbers does not work: [root@snorch sys_exit_read]# echo "ret == -1" > filter bash: echo: write error: Invalid argument [root@snorch sys_exit_read]# cat filter ret == -1 ^ parse_error: Invalid value (did you forget quotes)? Similar thing happens when setting triggers. These is a regression in v4.17 introduced by the commit mentioned below, testing without these commit shows no problem with negative numbers. Link: http://lkml.kernel.org/r/20180823102534.7642-1-ptikhomirov@virtuozzo.com Cc: stable@vger.kernel.org Fixes: 80765597bc58 ("tracing: Rewrite filter logic to be simpler and faster") Signed-off-by: Pavel Tikhomirov Signed-off-by: Steven Rostedt (VMware) Signed-off-by: Greg Kroah-Hartman --- kernel/trace/trace_events_filter.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/kernel/trace/trace_events_filter.c +++ b/kernel/trace/trace_events_filter.c @@ -1301,7 +1301,7 @@ static int parse_pred(const char *str, v /* go past the last quote */ i++; - } else if (isdigit(str[i])) { + } else if (isdigit(str[i]) || str[i] == '-') { /* Make sure the field is not a string */ if (is_string_field(field)) { @@ -1314,6 +1314,9 @@ static int parse_pred(const char *str, v goto err_free; } + if (str[i] == '-') + i++; + /* We allow 0xDEADBEEF */ while (isalnum(str[i])) i++;