Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2558321imu; Thu, 29 Nov 2018 06:53:30 -0800 (PST) X-Google-Smtp-Source: AFSGD/XSu6VhuYDsdC+H3Otg2kgpHC5VtfkeUMvysrtEQ7Uzz70/WgWnfT2ZfeFyqd5GiZgkrYXT X-Received: by 2002:a62:ab0d:: with SMTP id p13mr1654484pff.211.1543503210714; Thu, 29 Nov 2018 06:53:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543503210; cv=none; d=google.com; s=arc-20160816; b=olTCZpt7TnECzVS7rw5OfNmlFHpLkAiRh6OoH98rUnjlfa4BjT46oCozHoCGWmgJ4n DcKrS1CicAyqguroB096P5wY7so7VF4B3Wb8TavKjRC925MdJTwvrmpmGTswImVuDxAA VwdwEzWGs1QSI5dzJkihuc2mmlrpNS5CDcNeCNghmO95Od3n3l/tn1aJqwacobdjOWyv t1sD9jCEhUX9oRFysGNRaSKJUsDpseh8qF1ED/kLBVyKq2NtDRoTWIIoxNjMSzz0g+d/ 8Kbz56BfTx5qHkXf3R6Wdae3sb9TT3/d9ZjQnsbj9r6sfBgP7dMj62VJ2At9Z4cAtj7j zpYA== 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=v/Zndq1KW4YD0nUsHi2YDNcUYNbqGcpK0uQUcImABOg=; b=n71USAOsC+v1KFsL6vov0BkwTzf325ubFyNP9F0clNUxzyYHwfu2lvRXi6hkaxVRoE EHIgGheY/socmXLlsWdUQQf51TMyLsJyNxXIbP6h8QaMPsfKG6OrbT8CswV18gxppcL0 CUzkDjiBZBjr/zLdn7vTRTTtsK9yvZNnf+C9Bs7qf9o3eob3o4ylui7C65woJgdGnnr3 vvPdHy9xReSnvs2I5md/qADIpW+LcPGo8CU7DSJMrYrXG1GAwbKTT9BlFvveZNQm8HJ8 Gmxl5MR40T54oQBJT3jZZSbVcSA5Om8UHdKRG3Kzf/lMqqv/LqeXMngy74m5poPm4LlC bUNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=q71B5sQK; 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 f95si2508308plb.60.2018.11.29.06.53.08; Thu, 29 Nov 2018 06:53:30 -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=q71B5sQK; 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 S1732346AbeK3B3E (ORCPT + 99 others); Thu, 29 Nov 2018 20:29:04 -0500 Received: from mail.kernel.org ([198.145.29.99]:55142 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731250AbeK3B3D (ORCPT ); Thu, 29 Nov 2018 20:29:03 -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 2E7A4205C9; Thu, 29 Nov 2018 14:23:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543501411; bh=C3G01JOFDxEUP2Eot0XpCkOeWYfllh/+HIiIRjXS3jk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=q71B5sQKNH8O3AKK3c3yY99jDDe/WoufbrOFzgQb9e9o3r6Dwxw+I+53ylxOW/DE4 NZ71p0dmwsQPFlnSzkkcU3s0NLfTHxMsXjvYWVjX+mftsyvh1mTw/CgCV+nwyWWyUM qL6bV00fldL6KhkKmf82S0Mmprw2E12j8dnshIiY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sebastien Boisvert , Dan Williams , "Steven Rostedt (VMware)" , Arnaldo Carvalho de Melo , "Tzvetomir Stoyanov (VMware)" , Namhyung Kim , Ross Zwisler , Elenie Godzaridis , stable@vger.kerenl.org, Andrew Morton , Linus Torvalds Subject: [PATCH 4.9 79/92] include/linux/pfn_t.h: force ~ to be parsed as an unary operator Date: Thu, 29 Nov 2018 15:12:48 +0100 Message-Id: <20181129140112.950360995@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181129140106.520639693@linuxfoundation.org> References: <20181129140106.520639693@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review 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 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Sebastien Boisvert commit 4d54954a197175c0dcb3c82af0c0740d0c5f827a upstream. Tracing the event "fs_dax:dax_pmd_insert_mapping" with perf produces this warning: [fs_dax:dax_pmd_insert_mapping] unknown op '~' It is printed in process_op (tools/lib/traceevent/event-parse.c) because '~' is parsed as a binary operator. perf reads the format of fs_dax:dax_pmd_insert_mapping ("print fmt") from /sys/kernel/debug/tracing/events/fs_dax/dax_pmd_insert_mapping/format . The format contains: ~(((u64) ~(~(((1UL) << 12)-1))) ^ \ interpreted as a binary operator by process_op(). This part is generated in the declaration of the event class dax_pmd_insert_mapping_class in include/trace/events/fs_dax.h : __print_flags_u64(__entry->pfn_val & PFN_FLAGS_MASK, "|", PFN_FLAGS_TRACE), This patch adds a pair of parentheses in the declaration of PFN_FLAGS_MASK to make sure that '~' is parsed as a unary operator by perf. The part of the format that was problematic is now: ~(((u64) (~(~(((1UL) << 12)-1)))) Now, all the '~' are parsed as unary operators. Link: http://lkml.kernel.org/r/20181021145939.8760-1-sebhtml@videotron.qc.ca Signed-off-by: Sebastien Boisvert Acked-by: Dan Williams Cc: "Steven Rostedt (VMware)" Cc: Arnaldo Carvalho de Melo Cc: "Tzvetomir Stoyanov (VMware)" Cc: Namhyung Kim Cc: Ross Zwisler Cc: Elenie Godzaridis Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- include/linux/pfn_t.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/include/linux/pfn_t.h +++ b/include/linux/pfn_t.h @@ -9,7 +9,7 @@ * PFN_DEV - pfn is not covered by system memmap by default * PFN_MAP - pfn has a dynamic page mapping established by a device driver */ -#define PFN_FLAGS_MASK (((u64) ~PAGE_MASK) << (BITS_PER_LONG_LONG - PAGE_SHIFT)) +#define PFN_FLAGS_MASK (((u64) (~PAGE_MASK)) << (BITS_PER_LONG_LONG - PAGE_SHIFT)) #define PFN_SG_CHAIN (1ULL << (BITS_PER_LONG_LONG - 1)) #define PFN_SG_LAST (1ULL << (BITS_PER_LONG_LONG - 2)) #define PFN_DEV (1ULL << (BITS_PER_LONG_LONG - 3))