Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp254652ybl; Thu, 23 Jan 2020 23:05:07 -0800 (PST) X-Google-Smtp-Source: APXvYqzWI6ZG/e0J3DVTJLI6FsvT+UgCrTXTnIl7W/XxBT//ipsjFYKIdRuuhH/LueHDHUnffF8/ X-Received: by 2002:aca:1012:: with SMTP id 18mr1071148oiq.151.1579849507801; Thu, 23 Jan 2020 23:05:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579849507; cv=none; d=google.com; s=arc-20160816; b=hvPQrLIOtnwkh7wEFdMXCQ9ktuaYxJHDNxSQ8ROuI+EJNN2LahiZhY3XqiqczsfLFM K2jVcZ6fJqSiXmLa6WVitzy13d7sCeOmC+Ad07k42wnwMxbmrhiZ7DphB8KdfsJXzsek RWAKTxA5ROVD5awdaRO+5rbC4Y8UXShlYjIqs14/zdwFW6NdudvUBwtkE+tIpfkimLtm ymfpRUDb0xIn6qSfKswOsXK63XtxJsmdzIQtlrBlZZCaG/djZ+YIlBpC2rc0iilz3uIf +gymSinkRvYe41n6AuqRs/OvQhiIhXHpabL803wT8EGmb5QL94teGLjZDl7UOxCXiv/a 7FJg== 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 :content-language:mime-version:user-agent:date:message-id:cc:to :subject:from; bh=9Jt2v8fTbH6Cq7LeEdgzvpB+s+MkH/gphwJmLESEvOg=; b=VVjDqR6P15tVmPHGTm/8IMnyYmi8t/R92X3eApAzhyb2QGIar0JsQ9FNBKxsQ1ilYf +wTkxiel0CIN2wlVIQTCdeg4HYAZrDYxv/vkuCGVa4rekOef3wmlKlLWNx9QfH08FFEJ zmwNY0s8vqqHBPV/5MUDaPo0jKCae5HRuVPhgpWvDMVKk4Z3oXpf1vkpSsJaPTHKBHfq qbA4bYLUaBJpO4dBj/6/p+ZB1JuDIx9/lkGeuI5yh/e8Klsrs4Cqwjhaum/PipPg5tIq h+4ilSlSy268o/LSuP0xg1DAjYQWfXTATe1GRcR1vouTtiMSCMrO3jVH+ERoU25KFBKy xhdA== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b141si183073oii.79.2020.01.23.23.04.55; Thu, 23 Jan 2020 23:05:07 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729868AbgAXHDO (ORCPT + 99 others); Fri, 24 Jan 2020 02:03:14 -0500 Received: from relay.sw.ru ([185.231.240.75]:53128 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726657AbgAXHDN (ORCPT ); Fri, 24 Jan 2020 02:03:13 -0500 Received: from vvs-ws.sw.ru ([172.16.24.21]) by relay.sw.ru with esmtp (Exim 4.92.3) (envelope-from ) id 1iuszZ-000865-4r; Fri, 24 Jan 2020 10:02:57 +0300 From: Vasily Averin Subject: [PATCH 4/7] fpid_next should increase position index To: linux-kernel@vger.kernel.org Cc: Andrew Morton , NeilBrown , Waiman Long , Steven Rostedt , Ingo Molnar , Peter Oberparleiter Message-ID: <4f87c6ad-f114-30bb-8506-c32274ce2992@virtuozzo.com> Date: Fri, 24 Jan 2020 10:02:56 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org if seq_file .next fuction does not change position index, read after some lseek can generate unexpected output. https://bugzilla.kernel.org/show_bug.cgi?id=206283 Signed-off-by: Vasily Averin --- kernel/trace/ftrace.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index ca25210..7c64b2b 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -7033,9 +7033,10 @@ static void *fpid_next(struct seq_file *m, void *v, loff_t *pos) struct trace_array *tr = m->private; struct trace_pid_list *pid_list = rcu_dereference_sched(tr->function_pids); - if (v == FTRACE_NO_PIDS) + if (v == FTRACE_NO_PIDS) { + (*pos)++; return NULL; - + } return trace_pid_next(pid_list, v, pos); } -- 1.8.3.1