Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2421885imj; Mon, 18 Feb 2019 05:49:46 -0800 (PST) X-Google-Smtp-Source: AHgI3Ibh2TKq8WCJb4U/yqFse2HeJPzuTkK2hi8DZb+GZaT+8Dy14CjsthVZelz2KU07nZ5koK8L X-Received: by 2002:a62:5c87:: with SMTP id q129mr12319697pfb.180.1550497786918; Mon, 18 Feb 2019 05:49:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550497786; cv=none; d=google.com; s=arc-20160816; b=vnX+4HsSx45H00tzzQUcw7dg9+vUtXu2mmkFIJkqH6NoSw08vm23h/Nc8LXXZ+ACE+ mCaRQmax7GJWCMN02n2OGdz4/vJaFRdB6NYl6r2utBGwBMRfQEM1/58PDrUbtV+0hUgN iacGoEJHMSA97Ee3HPPG5qlTOMalUPriebwEoydIkkxk/jnunQgY1znrv1uEvVAdbQ1c TxS8+R4INe0wi111hj3yOaRFi7ydh4Q2aES65a5s8+VXCoTDQRCNN13fu2ll1yb83yXE HmZ5Lz84hrF1vQjo/GQVHM7ZhhY19ooTdPMxUQOV/BuGPt0p10n9OZxHYWPhqfiUtjB+ olRg== 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=p0QxuJhKPc1wAK79U5KW58sf7FAluAeNzQg9a7op674=; b=I2oSdUk+zLw/NHwwT+Lihe+xt+BqTVPCbXA8TTAcYOmMh0gtKPaVD/mPuIyt/Q2j9S HLgNjE54IN2NbE4WvWxbNa7BLK54LIEm0/ABh3Tm7u1QH2w7rHUUHY8B/JHBG7s/E140 K6YpwEIdJuzZP8MTvKCrC3op+qxk9OEC5xxxkz2awkGmYOG/dvDv5IJivPqn44Q/9RDk F7Q+bzX5wxcT8nwtYgtOVQzOVTzW/hHxVYWj1N546zWX1bcXpuBhuKwuLwQ7otQLESuu 9TkESdMffWKNA74AZakQ5aBTUl6QRi2xtfl//HZ9sO9QTrW5jeeXgcEaHDPG4JeWcdOg KcYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=L2e0MFqe; 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 z188si9623857pgb.330.2019.02.18.05.49.30; Mon, 18 Feb 2019 05:49:46 -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=L2e0MFqe; 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 S1731836AbfBRNt1 (ORCPT + 99 others); Mon, 18 Feb 2019 08:49:27 -0500 Received: from mail.kernel.org ([198.145.29.99]:56674 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729275AbfBRNtY (ORCPT ); Mon, 18 Feb 2019 08:49:24 -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 7484B20842; Mon, 18 Feb 2019 13:49:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550497764; bh=T6PtAuttmc5ch7k6SZUkwFLrO6ELqtxo+vxE0BT+x6c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L2e0MFqey6+K5Kh7XZQr/rXUTpU2N1fziLq26HzZUE3cHTGzo05CPM1M9WCKnpw5y Cq80KL+wqXuVRKc1xDsq20Lo2XrKBZJEr7L4rqXFTZaPGTod//HA+DdYQh6HpUwKLl 1cDAvAdhYj/2eCVYMJGvl/wrkKX77mkPTZCZDxXA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ingo Molnar , Masami Hiramatsu , Andreas Ziegler , "Steven Rostedt (VMware)" Subject: [PATCH 4.20 77/92] tracing: probeevent: Correctly update remaining space in dynamic area Date: Mon, 18 Feb 2019 14:43:20 +0100 Message-Id: <20190218133502.114106103@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190218133454.668268457@linuxfoundation.org> References: <20190218133454.668268457@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 4.20-stable review patch. If anyone has any objections, please let me know. ------------------ From: Andreas Ziegler commit f6675872db57305fa957021efc788f9983ed3b67 upstream. Commit 9178412ddf5a ("tracing: probeevent: Return consumed bytes of dynamic area") improved the string fetching mechanism by returning the number of required bytes after copying the argument to the dynamic area. However, this return value is now only used to increment the pointer inside the dynamic area but misses updating the 'maxlen' variable which indicates the remaining space in the dynamic area. This means that fetch_store_string() always reads the *total* size of the dynamic area from the data_loc pointer instead of the *remaining* size (and passes it along to strncpy_from_{user,unsafe}) even if we're already about to copy data into the middle of the dynamic area. Link: http://lkml.kernel.org/r/20190206190013.16405-1-andreas.ziegler@fau.de Cc: Ingo Molnar Cc: stable@vger.kernel.org Fixes: 9178412ddf5a ("tracing: probeevent: Return consumed bytes of dynamic area") Acked-by: Masami Hiramatsu Signed-off-by: Andreas Ziegler Signed-off-by: Steven Rostedt (VMware) Signed-off-by: Greg Kroah-Hartman --- kernel/trace/trace_probe_tmpl.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/kernel/trace/trace_probe_tmpl.h +++ b/kernel/trace/trace_probe_tmpl.h @@ -180,10 +180,12 @@ store_trace_args(void *data, struct trac if (unlikely(arg->dynamic)) *dl = make_data_loc(maxlen, dyndata - base); ret = process_fetch_insn(arg->code, regs, dl, base); - if (unlikely(ret < 0 && arg->dynamic)) + if (unlikely(ret < 0 && arg->dynamic)) { *dl = make_data_loc(0, dyndata - base); - else + } else { dyndata += ret; + maxlen -= ret; + } } }