Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp849843pxj; Fri, 11 Jun 2021 13:15:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxYFIApv1flGWu3pfzJaHyNTkM+eFu4WTjzpvEYHG9G01EtJrkP8mYuJscLtGJoltfMVybk X-Received: by 2002:a17:906:4a17:: with SMTP id w23mr3112625eju.460.1623442502643; Fri, 11 Jun 2021 13:15:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623442502; cv=none; d=google.com; s=arc-20160816; b=O/3uhMFPYHvQmo5Epd5dFa1YnyT/l7CPeGnm7AcSF3STHTNk6YSlvgvX8oFO6Uyo81 vAOkCS1sGFqb1fnjUHMHLNvt6M5Vip9HBEnO1/JB6n4sFEZKiYAY7HMBwmNBhS7ujbO1 N5hp+55148zs2O2Laa2nk+ImpK5QaSJDai7ZQoMoFpSKVx82J5SdTywDpp7kidcsGWMw VD3sikHsMsXyEkmjjgmeRYWKBINFKbqRNW+3jY49H+/Buf9EZYr4HC55NuBsFk7GDaOm H8kgfP0lipje5fQlsa2V13Ge+TSg1iPpf7FuFmYP3edXdz6N/EyvrWRbFZez3vFoTNbG eT1w== 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 :message-id:subject:cc:to:from:date; bh=/GHy2vNJYmWbHxZ7523wFlXQeklt1JG/WSRA566wbdw=; b=wzIDKTCWdlu2/21+XBVrviSvIytjJq3PbWYyBp97cCqvtVkxPxYscSysA1bwF8Zg6I KW1PvcD3WpE/o5t69q2y8UErX+T4YHLm2/szAHVYee3Npefz2EUMxK8Xppl9TK8BkR4f t5oz+3KAdSKxx6evBYm37FUKgfPevjtA+c8WpirXQTI3S/vVj8UqlZXxqMqFE2ItuWb0 5L8WwtdiJgoj0w9fl2+p9xhGD8yjoLqPPZQ/d0JrmQO286qYRzddthk0hIQWUNql4gYb amW724Lga3a93ncSKVX68CggjcS2PPDX6v0tTd32+sszUL9ipBwGC6+e1CrBiPtx2tXw TE6A== 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 bh7si5520132ejb.383.2021.06.11.13.14.39; Fri, 11 Jun 2021 13:15:02 -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 S230168AbhFKUPk (ORCPT + 99 others); Fri, 11 Jun 2021 16:15:40 -0400 Received: from mail.kernel.org ([198.145.29.99]:59452 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229572AbhFKUPj (ORCPT ); Fri, 11 Jun 2021 16:15:39 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (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 AC3D3601FA; Fri, 11 Jun 2021 20:13:40 +0000 (UTC) Date: Fri, 11 Jun 2021 16:13:39 -0400 From: Steven Rostedt To: Linus Torvalds Cc: LKML , Ingo Molnar , Andrew Morton Subject: [GIT PULL] tracing: Fixes for 5.13 Message-ID: <20210611161339.25d815f7@gandalf.local.home> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Liangyan , Masami Hiramatsu , Steven Rostedt (VMware) , Zhen Lei Linus, Tracing fixes for 5.13: - Fix the length check in the temp buffer filter - Fix build failure in bootconfig tools for "fallthrough" macro - Fix error return of bootconfig apply_xbc() routine [ Removed Peter's recordmcount fix from this one ] Please pull the latest trace-v5.13-rc5-2 tree, which can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git trace-v5.13-rc5-2 Tag SHA1: 03bc3d44c6ea2395ee6f0d05ac27e7fb492747d9 Head SHA1: 3e08a9f9760f4a70d633c328a76408e62d6f80a3 Liangyan (1): tracing: Correct the length check which causes memory corruption Masami Hiramatsu (1): tools/bootconfig: Fix a build error accroding to undefined fallthrough Steven Rostedt (VMware) (1): ftrace: Do not blindly read the ip address in ftrace_bug() Zhen Lei (1): tools/bootconfig: Fix error return code in apply_xbc() ---- kernel/trace/ftrace.c | 8 +++++++- kernel/trace/trace.c | 2 +- tools/bootconfig/include/linux/bootconfig.h | 4 ++++ tools/bootconfig/main.c | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) --------------------------- diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 2e8a3fde7104..72ef4dccbcc4 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -1967,12 +1967,18 @@ static int ftrace_hash_ipmodify_update(struct ftrace_ops *ops, static void print_ip_ins(const char *fmt, const unsigned char *p) { + char ins[MCOUNT_INSN_SIZE]; int i; + if (copy_from_kernel_nofault(ins, p, MCOUNT_INSN_SIZE)) { + printk(KERN_CONT "%s[FAULT] %px\n", fmt, p); + return; + } + printk(KERN_CONT "%s", fmt); for (i = 0; i < MCOUNT_INSN_SIZE; i++) - printk(KERN_CONT "%s%02x", i ? ":" : "", p[i]); + printk(KERN_CONT "%s%02x", i ? ":" : "", ins[i]); } enum ftrace_bug_type ftrace_bug_type; diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index a21ef9cd2aae..9299057feb56 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2736,7 +2736,7 @@ trace_event_buffer_lock_reserve(struct trace_buffer **current_rb, (entry = this_cpu_read(trace_buffered_event))) { /* Try to use the per cpu buffer first */ val = this_cpu_inc_return(trace_buffered_event_cnt); - if ((len < (PAGE_SIZE - sizeof(*entry))) && val == 1) { + if ((len < (PAGE_SIZE - sizeof(*entry) - sizeof(entry->array[0]))) && val == 1) { trace_event_setup(entry, type, trace_ctx); entry->array[0] = len; return entry; diff --git a/tools/bootconfig/include/linux/bootconfig.h b/tools/bootconfig/include/linux/bootconfig.h index 078cbd2ba651..de7f30f99af3 100644 --- a/tools/bootconfig/include/linux/bootconfig.h +++ b/tools/bootconfig/include/linux/bootconfig.h @@ -4,4 +4,8 @@ #include "../../../../include/linux/bootconfig.h" +#ifndef fallthrough +# define fallthrough +#endif + #endif diff --git a/tools/bootconfig/main.c b/tools/bootconfig/main.c index 7362bef1a368..6cd6080cac04 100644 --- a/tools/bootconfig/main.c +++ b/tools/bootconfig/main.c @@ -399,6 +399,7 @@ static int apply_xbc(const char *path, const char *xbc_path) } /* TODO: Ensure the @path is initramfs/initrd image */ if (fstat(fd, &stat) < 0) { + ret = -errno; pr_err("Failed to get the size of %s\n", path); goto out; }