[{"id":3681912,"web_url":"http://patchwork.ozlabs.org/comment/3681912/","msgid":"<e6358476-d85a-441e-97e9-80abc9e1dee6@linaro.org>","date":"2026-04-24T09:27:42","subject":"Re: [PATCH] perf sched: Fix crash in sched stats diff due to\n uninitialized perf_data structure","submitter":{"id":88902,"url":"http://patchwork.ozlabs.org/api/people/88902/","name":"James Clark","email":"james.clark@linaro.org"},"content":"On 22/04/2026 18:35, Athira Rajeev wrote:\n> perf sched stats diff fails sometimes with below logs:\n> \n>   # perf sched stats record ls\n> \n>   # perf sched stats diff\n>    *** invalid open64 call: O_CREAT or O_TMPFILE without mode ***: terminated\n>    Aborted (core dumped)\n> \n> Also in some runs, perf sched stats tests fails\n> \n>   ./perf test \"perf sched stats tests\"\n>   92: perf sched stats tests                                          : FAILED!\n> \n> ==172375== Conditional jump or move depends on uninitialised value(s)\n> ==172375==    at 0x10393BD0: open_file_read (data.c:264)\n> ==172375==    by 0x10393F63: open_file (data.c:317)\n> ==172375==    by 0x10394067: open_file_dup (data.c:334)\n> ==172375==    by 0x103942DF: perf_data__open (data.c:379)\n> ==172375==    by 0x102F7CAF: __perf_session__new (session.c:169)\n> ==172375==    by 0x100B5E63: perf_session__new (session.h:116)\n> ==172375==    by 0x100D5D37: perf_sched__schedstat_diff (builtin-sched.c:4568)\n> ==172375==    by 0x100D7D6F: cmd_sched (builtin-sched.c:5061)\n> ==172375==    by 0x1010231F: run_builtin (perf.c:348)\n> ==172375==    by 0x1010262F: handle_internal_command (perf.c:398)\n> ==172375==    by 0x1010286F: run_argv (perf.c:442)\n> ==172375==    by 0x10102C67: main (perf.c:549)\n> ==172375==\n> ==172375== Conditional jump or move depends on uninitialised value(s)\n> ==172375==    at 0x10393D20: open_file_read (data.c:282)\n> ==172375==    by 0x10393F63: open_file (data.c:317)\n> ==172375==    by 0x10394067: open_file_dup (data.c:334)\n> ==172375==    by 0x103942DF: perf_data__open (data.c:379)\n> ==172375==    by 0x102F7CAF: __perf_session__new (session.c:169)\n> ==172375==    by 0x100B5E63: perf_session__new (session.h:116)\n> ==172375==    by 0x100D5D37: perf_sched__schedstat_diff (builtin-sched.c:4568)\n> ==172375==    by 0x100D7D6F: cmd_sched (builtin-sched.c:5061)\n> ==172375==    by 0x1010231F: run_builtin (perf.c:348)\n> ==172375==    by 0x1010262F: handle_internal_command (perf.c:398)\n> ==172375==    by 0x1010286F: run_argv (perf.c:442)\n> ==172375==    by 0x10102C67: main (perf.c:549)\n> \n> The valgrind logs and error message from the logs points to\n> below snippet:\n> \n>       static int open_file_read(struct perf_data *data)\n>       {\n>              int flags = data->in_place_update ? O_RDWR : O_RDONLY;\n>              struct stat st;\n>              int fd;\n> \n>              fd = open(data->file.path, flags);\n> \n> The \"struct perf_data\" is defined here :\n> \n>      static int perf_sched__schedstat_diff(struct perf_sched *sched,\n>                                        int argc, const char **argv)\n>      {\n>          struct cpu_domain_map **cd_map0 = NULL, **cd_map1 = NULL;\n>          struct list_head cpu_head_ses0, cpu_head_ses1;\n>          struct perf_session *session[2];\n>          struct perf_data data[2];\n>          int ret = 0, err = 0;\n>          static const char *defaults[] = {\n>                  \"perf.data.old\",\n>                  \"perf.data\",\n>          };\n> \n> Here due to uninitialized \"struct perf_data\", the arguments to \"open\"\n> is getting wrongly passed sometimes depending on value in stack.\n> When perf_data__open() function calls open_file_read(),the\n> \"in_place_update\" could contain garbage value.\n> \n> After initializing \"struct perf_data\" in perf_sched__schedstat_diff() function,\n> perf sched stats tests runs without issues in multiple attempts and also\n> \"perf sched stats diff\" ran individual without issues.\n> \n> for i in {0..20}; do ./perf test \"perf sched stats tests\"; done\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n>   92: perf sched stats tests                                          : Ok\n> \n> Signed-off-by: Athira Rajeev <atrajeev@linux.ibm.com>\n> ---\n>   tools/perf/builtin-sched.c | 2 +-\n>   1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c\n> index 555247568e7a..5d2740099eed 100644\n> --- a/tools/perf/builtin-sched.c\n> +++ b/tools/perf/builtin-sched.c\n> @@ -4538,7 +4538,7 @@ static int perf_sched__schedstat_diff(struct perf_sched *sched,\n>   \tstruct cpu_domain_map **cd_map0 = NULL, **cd_map1 = NULL;\n>   \tstruct list_head cpu_head_ses0, cpu_head_ses1;\n>   \tstruct perf_session *session[2];\n> -\tstruct perf_data data[2];\n> +\tstruct perf_data data[2] = { 0 };\n>   \tint ret = 0, err = 0;\n>   \tstatic const char *defaults[] = {\n>   \t\t\"perf.data.old\",\n\nReviewed-by: James Clark <james.clark@linaro.org>\n\nI had a quick look for other instances of the same thing and didn't see any.","headers":{"Return-Path":"\n <linuxppc-dev+bounces-20057-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=PWy54yGE;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-20057-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2a00:1450:4864:20::332\"","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linaro.org","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=PWy54yGE;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linaro.org\n (client-ip=2a00:1450:4864:20::332; helo=mail-wm1-x332.google.com;\n envelope-from=james.clark@linaro.org; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g270m4xYsz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 19:27:51 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4g270l22V2z2yTQ;\n\tFri, 24 Apr 2026 19:27:51 +1000 (AEST)","from mail-wm1-x332.google.com (mail-wm1-x332.google.com\n [IPv6:2a00:1450:4864:20::332])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4g270h4Txmz2xZK\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 24 Apr 2026 19:27:47 +1000 (AEST)","by mail-wm1-x332.google.com with SMTP id\n 5b1f17b1804b1-488a8ca4aadso104471285e9.3\n        for <linuxppc-dev@lists.ozlabs.org>;\n Fri, 24 Apr 2026 02:27:47 -0700 (PDT)","from [192.168.178.64] ([84.246.200.167])\n        by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43fe4cc0d51sm59874331f8f.10.2026.04.24.02.27.43\n        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n        Fri, 24 Apr 2026 02:27:43 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1777022871;\n\tcv=none;\n b=ZIrjBXFx8QS2GkgMQkydNWuNEvZ+qdugPzoGC+/Gy5KDjx8RUcLDjDpSQbUnei4u7B2jV7qEHAvfjNd1YNMukOnp4jU72UQty6QSFfc1ZZXRRFVnTpuJMsml+01alGmUoeDp9fOMB2wXPhzyKuCssrMN7JhTLvctdLjHhbu3QpnXfbdX1YIY8JMOrwWvP5TXJcKEUD8KrYsrwlg8PVf7P5GmUb1qEEAAQoB6Lxsup+CATa+iTkg+UYkz+92sXaw8mJUeFaQ7thisYCJ5WQP67E0w5tX7xf7Ij0s6W16XFMQxeKCx4vDhSfDusHVJH4BsC7isr4gIrMuOF+rIzD0yqw==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1777022871; c=relaxed/relaxed;\n\tbh=aQGPdSUZArT+x56gw3hYUPcGQkhIE6zaM5Sc2CVHtBo=;\n\th=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:\n\t In-Reply-To:Content-Type;\n b=YiKtlzMiPo0Ult6zU2ue3Wdr7AXLZhFImIjrHtwWm4guFv7Kxx7x/TnYPa6/1ql2b4PvPBdUOHbkGX9XNsnXp6cTf+p3EuFytjtfdpAF2pqKWbxzo5qDgHMlEhJKrkaQTUGV3WOCPv0CyWdEEov44TeP69AOJeyGRc8zBsVQ0k1lvkw2xisP0FYIgT0/poSr7kPIIH12+I7tKpqVl3buC+2t9JKi8UxkX88YYTK7cAEy9xok+GIFOvaUohC2npSeUaY+kDRomqll+WK1xpz/2Vp9ST6Q7kdaH8ov8UFimQ5KwuBF+ZxmtEffWn8wul8e3Y+QZp+KNYB9lAJGAh+qwA==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linaro.org; dkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=PWy54yGE; dkim-atps=neutral;\n spf=pass (client-ip=2a00:1450:4864:20::332; helo=mail-wm1-x332.google.com;\n envelope-from=james.clark@linaro.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=linaro.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=linaro.org; s=google; t=1777022864; x=1777627664;\n darn=lists.ozlabs.org;\n        h=content-transfer-encoding:in-reply-to:from:content-language\n         :references:cc:to:subject:user-agent:mime-version:date:message-id\n         :from:to:cc:subject:date:message-id:reply-to;\n        bh=aQGPdSUZArT+x56gw3hYUPcGQkhIE6zaM5Sc2CVHtBo=;\n        b=PWy54yGE/f/YB2gtbQMHx2J4uAK24Wwl1N2Cqo7lViPZmccokBKwDV5FG935rk4cGl\n         v4BoaYNW0t6A+ySIPKiz7GMqJ66v+atTeiiETYR7X/wfTEGCsl8Dpg0b3cSsolkZF16r\n         lxuOTl7gq+7Ib7cAs3kazuEv8HDGXOEKDo97H2vPu+VJpTGUSgrHZGDOfkuAUlK+Io7C\n         /K9LpIoVa8rEdJ5lI1QwML2ZjnoweeOOb2JPRHbQYcbcBa3JrTCvWDghSj00IJVkT15W\n         pUWdMXPB11nMX8zlbPkS1knT5+80Kn91mVRSY2g2PzH3SyIKoxi9OBrN1ZDRwDXZde9i\n         DSeg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1777022864; x=1777627664;\n        h=content-transfer-encoding:in-reply-to:from:content-language\n         :references:cc:to:subject:user-agent:mime-version:date:message-id\n         :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n         :reply-to;\n        bh=aQGPdSUZArT+x56gw3hYUPcGQkhIE6zaM5Sc2CVHtBo=;\n        b=VDm+ePb/Rpeb3owAZFRI0sGo9AHDjSNbVbQAhicToL2fdX0/BkVfSiTGte5iQwjT5b\n         QeWZNkR5e+Os80oqZdnpZAT5SAFFVagt1aNoNda26+XG6V84lXN03vsuy+hxdmNIllg1\n         NWwA+5Q6fxWv1HobvRmJOPcDDm9hb4GQtTCz3Ud5I2CiVbVTPqOH8KRkf7U4EBS8ZcT9\n         +dTvnGWo7CPf8xGPpdW7hCN4IP0eOX4EzEAV6dA/WM7n8akSnc8fSPv9BjMTo3AkQWCq\n         AHtRAHiQ1xoVhsM7i5AGMsEJ32a0xAsNeWLbMm+OXoNMmtTZN8oZ3SQM8nc/2HApCVYo\n         Sv4g==","X-Forwarded-Encrypted":"i=1;\n AFNElJ9qDGmOf8zhdyx5+cpQrcwExf56KVKuefg8BxRjD9GgYt0T/OBLX3FIuEg33rhJzUXHVH0vZrAYuf7XKOo=@lists.ozlabs.org","X-Gm-Message-State":"AOJu0Yyv9s6bUpigvnki2msY5HgszGcOSPOwQ6ve3YFHZXHDVWxHdoQT\n\tNELIuLh64tCUVq+ptR0siFah579v3tsptRstEyQZBgI1MIZGz/rVWXUy1J8VvbHZsro=","X-Gm-Gg":"AeBDietKEkhpujFIgrcnWo20EKtg+gXNTxOkirLtflXuMc+ybYZGOzoKmfajpCCr4Xl\n\tCiT3PamesffEFjQcmbiMp8pgMWf5SHaE430IBg/cXtCK4dCzxzE5C74QrYjuc+PSrOsHOJa3uhq\n\tlJj1VXR59Jeoy9dy8S3kZ23UcynILptjK7O66ev4Kh40LXmHzXwbayX+TJ7TYjqzlfEzJtizhRL\n\t/x9swGejlyPfaGYPLGpEqK+FIAly/GIoTwbHdTZ8t6gJRhVYM3wqqVJMgMjPjzPnDao6EE36dTR\n\tYp28GMixpAHhXP+Jc6HUcdWcQZXjRBSNZ6BK4R132pqZUAcOljuBMLuK/ZMnvMRg1GbvRF7yROL\n\txgVTXcSnXy+AXsfrgEOS5ENWRgQFN/5/yahJUgEvryClLlTbwgEZ8GTvdDlkntR+ojPXySJBhy9\n\tJKDMrntUQbo42beTneJ3UxUxCgi04bp0Emr2ZMQY1NkKE=","X-Received":"by 2002:a05:600c:c09c:b0:48a:5363:8cac with SMTP id\n 5b1f17b1804b1-48a53638e07mr183977195e9.22.1777022864225;\n        Fri, 24 Apr 2026 02:27:44 -0700 (PDT)","Message-ID":"<e6358476-d85a-441e-97e9-80abc9e1dee6@linaro.org>","Date":"Fri, 24 Apr 2026 10:27:42 +0100","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH] perf sched: Fix crash in sched stats diff due to\n uninitialized perf_data structure","To":"Athira Rajeev <atrajeev@linux.ibm.com>","Cc":"linux-perf-users@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,\n hbathini@linux.vnet.ibm.com, Tejas.Manhas1@ibm.com, Tanushree.Shah@ibm.com,\n Shivani.Nittor@ibm.com, acme@kernel.org, jolsa@kernel.org,\n adrian.hunter@intel.com, mpetlan@redhat.com, tmricht@linux.ibm.com,\n maddy@linux.ibm.com, irogers@google.com, namhyung@kernel.org","References":"<20260422173545.73144-1-atrajeev@linux.ibm.com>","Content-Language":"en-US","From":"James Clark <james.clark@linaro.org>","In-Reply-To":"<20260422173545.73144-1-atrajeev@linux.ibm.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}},{"id":3681937,"web_url":"http://patchwork.ozlabs.org/comment/3681937/","msgid":"<E2E0C2AA-F6D5-427C-92DB-47777491C76D@linux.ibm.com>","date":"2026-04-24T09:40:34","subject":"Re: [PATCH] perf sched: Fix crash in sched stats diff due to\n uninitialized perf_data structure","submitter":{"id":89673,"url":"http://patchwork.ozlabs.org/api/people/89673/","name":"Venkat","email":"venkat88@linux.ibm.com"},"content":"> On 24 Apr 2026, at 2:57 PM, James Clark <james.clark@linaro.org> wrote:\n> \n> \n> \n> On 22/04/2026 18:35, Athira Rajeev wrote:\n>> perf sched stats diff fails sometimes with below logs:\n>>  # perf sched stats record ls\n>>  # perf sched stats diff\n>>   *** invalid open64 call: O_CREAT or O_TMPFILE without mode ***: terminated\n>>   Aborted (core dumped)\n>> Also in some runs, perf sched stats tests fails\n>>  ./perf test \"perf sched stats tests\"\n>>  92: perf sched stats tests                                          : FAILED!\n>> ==172375== Conditional jump or move depends on uninitialised value(s)\n>> ==172375==    at 0x10393BD0: open_file_read (data.c:264)\n>> ==172375==    by 0x10393F63: open_file (data.c:317)\n>> ==172375==    by 0x10394067: open_file_dup (data.c:334)\n>> ==172375==    by 0x103942DF: perf_data__open (data.c:379)\n>> ==172375==    by 0x102F7CAF: __perf_session__new (session.c:169)\n>> ==172375==    by 0x100B5E63: perf_session__new (session.h:116)\n>> ==172375==    by 0x100D5D37: perf_sched__schedstat_diff (builtin-sched.c:4568)\n>> ==172375==    by 0x100D7D6F: cmd_sched (builtin-sched.c:5061)\n>> ==172375==    by 0x1010231F: run_builtin (perf.c:348)\n>> ==172375==    by 0x1010262F: handle_internal_command (perf.c:398)\n>> ==172375==    by 0x1010286F: run_argv (perf.c:442)\n>> ==172375==    by 0x10102C67: main (perf.c:549)\n>> ==172375==\n>> ==172375== Conditional jump or move depends on uninitialised value(s)\n>> ==172375==    at 0x10393D20: open_file_read (data.c:282)\n>> ==172375==    by 0x10393F63: open_file (data.c:317)\n>> ==172375==    by 0x10394067: open_file_dup (data.c:334)\n>> ==172375==    by 0x103942DF: perf_data__open (data.c:379)\n>> ==172375==    by 0x102F7CAF: __perf_session__new (session.c:169)\n>> ==172375==    by 0x100B5E63: perf_session__new (session.h:116)\n>> ==172375==    by 0x100D5D37: perf_sched__schedstat_diff (builtin-sched.c:4568)\n>> ==172375==    by 0x100D7D6F: cmd_sched (builtin-sched.c:5061)\n>> ==172375==    by 0x1010231F: run_builtin (perf.c:348)\n>> ==172375==    by 0x1010262F: handle_internal_command (perf.c:398)\n>> ==172375==    by 0x1010286F: run_argv (perf.c:442)\n>> ==172375==    by 0x10102C67: main (perf.c:549)\n>> The valgrind logs and error message from the logs points to\n>> below snippet:\n>>      static int open_file_read(struct perf_data *data)\n>>      {\n>>             int flags = data->in_place_update ? O_RDWR : O_RDONLY;\n>>             struct stat st;\n>>             int fd;\n>>             fd = open(data->file.path, flags);\n>> The \"struct perf_data\" is defined here :\n>>     static int perf_sched__schedstat_diff(struct perf_sched *sched,\n>>                                       int argc, const char **argv)\n>>     {\n>>         struct cpu_domain_map **cd_map0 = NULL, **cd_map1 = NULL;\n>>         struct list_head cpu_head_ses0, cpu_head_ses1;\n>>         struct perf_session *session[2];\n>>         struct perf_data data[2];\n>>         int ret = 0, err = 0;\n>>         static const char *defaults[] = {\n>>                 \"perf.data.old\",\n>>                 \"perf.data\",\n>>         };\n>> Here due to uninitialized \"struct perf_data\", the arguments to \"open\"\n>> is getting wrongly passed sometimes depending on value in stack.\n>> When perf_data__open() function calls open_file_read(),the\n>> \"in_place_update\" could contain garbage value.\n>> After initializing \"struct perf_data\" in perf_sched__schedstat_diff() function,\n>> perf sched stats tests runs without issues in multiple attempts and also\n>> \"perf sched stats diff\" ran individual without issues.\n>> for i in {0..20}; do ./perf test \"perf sched stats tests\"; done\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>>  92: perf sched stats tests                                          : Ok\n>> Signed-off-by: Athira Rajeev <atrajeev@linux.ibm.com>\n>> ---\n>>  tools/perf/builtin-sched.c | 2 +-\n>>  1 file changed, 1 insertion(+), 1 deletion(-)\n>> diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c\n>> index 555247568e7a..5d2740099eed 100644\n>> --- a/tools/perf/builtin-sched.c\n>> +++ b/tools/perf/builtin-sched.c\n>> @@ -4538,7 +4538,7 @@ static int perf_sched__schedstat_diff(struct perf_sched *sched,\n>>   struct cpu_domain_map **cd_map0 = NULL, **cd_map1 = NULL;\n>>   struct list_head cpu_head_ses0, cpu_head_ses1;\n>>   struct perf_session *session[2];\n>> - struct perf_data data[2];\n>> + struct perf_data data[2] = { 0 };\n>>   int ret = 0, err = 0;\n>>   static const char *defaults[] = {\n>>   \"perf.data.old\",\n\nTested this patch by applying on top of linux mainline kernel and it fixes the issue.\n\nWithOut this Patch:\n\n# ./perf sched stats diff\n*** invalid open64 call: O_CREAT or O_TMPFILE without mode ***: terminated\nAborted (core dumped)\n\n# ./perf test -v \"perf sched stats tests\"\n--- start ---\ntest child forked, pid 11151\nBasic perf sched stats record test\nBasic perf sched stats record test [Success]\nBasic perf sched stats report test\n[ perf sched stats: Wrote samples to /tmp/__perf_test_sched_stats.perf.data.dysu3 ]\nBasic perf sched stats report test [Success]\nBasic perf sched stats live mode test\nBasic perf sched stats live mode test [Success]\nBasic perf sched stats diff test\n[ perf sched stats: Wrote samples to /tmp/__perf_test_sched_stats.perf.data.dysu3 ]\n[ perf sched stats: Wrote samples to /tmp/__perf_test_sched_stats.perf.data.p0lnk ]\n*** invalid open64 call: O_CREAT or O_TMPFILE without mode ***: terminated\n/linux/tools/perf/tests/shell/perf_sched_stats.sh: line 67: 11170 Aborted                 (core dumped) perf sched stats diff \"${perfdata}\" \"${perfdata2}\" > /dev/null\nBasic perf sched stats diff test [Failed]\n---- end(-1) ----\n 92: perf sched stats tests                                          : FAILED!\n\nWith This Patch:\n\n# \nfor i in {1..20}; do\n    ./perf test \"perf sched stats tests\"\ndone\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n 92: perf sched stats tests                                          : Ok\n\nPlease add below tag.\n\nTested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>\n\nRegards,\nVenkat.\n> \n> Reviewed-by: James Clark <james.clark@linaro.org>\n> \n> I had a quick look for other instances of the same thing and didn't see any.","headers":{"Return-Path":"\n <linuxppc-dev+bounces-20059-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=T/sspNRH;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-20059-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.156.1","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=T/sspNRH;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=venkat88@linux.ibm.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g27tT162bz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 20:07:28 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4g27tS1Bytz2yYs;\n\tFri, 24 Apr 2026 20:07:28 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4g27tQ0KJFz2xnl\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 24 Apr 2026 20:07:25 +1000 (AEST)","from pps.filterd (m0356517.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63NKBQkw3229166;\n\tFri, 24 Apr 2026 10:07:14 GMT","from ppma21.wdc07v.mail.ibm.com\n (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dpeu2d75k-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tFri, 24 Apr 2026 10:07:13 +0000 (GMT)","from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1])\n\tby ppma21.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63OA5GdL024228;\n\tFri, 24 Apr 2026 10:07:12 GMT","from smtprelay03.dal12v.mail.ibm.com ([172.16.1.5])\n\tby ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4dpjkyjb82-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tFri, 24 Apr 2026 10:07:12 +0000 (GMT)","from smtpav06.dal12v.mail.ibm.com (smtpav06.dal12v.mail.ibm.com\n [10.241.53.105])\n\tby smtprelay03.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63OA7A7Q27787882\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tFri, 24 Apr 2026 10:07:10 GMT","from smtpav06.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 8E1225812F;\n\tFri, 24 Apr 2026 09:40:52 +0000 (GMT)","from smtpav06.dal12v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id A910C58127;\n\tFri, 24 Apr 2026 09:40:47 +0000 (GMT)","from smtpclient.apple (unknown [9.61.242.34])\n\tby smtpav06.dal12v.mail.ibm.com (Postfix) with ESMTPS;\n\tFri, 24 Apr 2026 09:40:47 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1777025248;\n\tcv=none;\n b=Plf6Gilwkeev89/Bb9F2SWpt51QqIW4hJmxxKg1lsZ1r0tsT92gqDgDryPXVq7AyC4L9YLNkdFvOetbSj/+9n2fsFCE65czYC7CpcZgZoiORLNnFVyMNKUQQWFGnBAXn4p92WX05pVjuuW05KGMmRh5OcFTf6txP2Xz2pDsdpl3EDs5/Eq98mO2FK2YgQmIC2e86SWpA+zHpllvW8M8xKkIL7uQUWlmI8N7sCB2P5vdm+9337Xd9TUgr2jkhbWBnNXQdcvVVM+rrGIp0MUeWjuZ7luq3eDbAchJbXhZfOWhU/QXAFVsQ5Db584fGfUiF3e8xwfJkK4humu7mtzXK6A==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1777025248; c=relaxed/relaxed;\n\tbh=2e4cLyvCeUYn/m/JWr1++G6Lw+UXEferIhyfZI1nahg=;\n\th=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc:\n\t Message-Id:References:To;\n b=lxz9NDIouJoxY+BU0A8iMJuRD+7yvlUSZzqWnnEf94slY1unz4Pji3Do5Z3kAJqZwQKMNfG1ScqhQwR9pC3c2pEpPNOlILowPYVAXriiZtEOrDgzECnuZM4FGxgZNCxA4KUuvN1LUfg9IrZRCraRaYJg5Lq9mAQeQBIcN7a8N9ch8+a/AgYZeGelInDJ1ZWFYa5lbyLj9D+uIcOgLDw5uz9u09piQPqKKps9TV8rNM1oML6ySckKi2BkWS3Ky3fkPR+wiS04CEEuIBZ7QApmeCqVuHJmM1Z/dSdkRKPASAt2E6qGKD5f4nVqQ4yLvEx8W2SHAFQhwUNKUc0lOBTp4A==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=T/sspNRH; dkim-atps=neutral;\n spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=venkat88@linux.ibm.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=pp1; bh=2e4cLy\n\tvCeUYn/m/JWr1++G6Lw+UXEferIhyfZI1nahg=; b=T/sspNRHjvS2upDJKfLqE6\n\tEah5RBBur5vIl9gYj2+fWe2RD9WVGxkc+cVq7GBLn2NYW5ABi34yCnxmxYVd5ULw\n\tU/JgBmWD6BTWkKZqV+1zFb6LiVs8LZImN11xlm3xUlnDUFGmi4AM+2JEItFpfW0p\n\tCjjY+T5Vqrgi+BJXdXAnUnNUST02Uxp0VFmyG2wLQArYwrK7xi/t9phY+8p7cuQk\n\ttrON7QE05rqOouNEUZY35Vbm1UndNFEUc58DyIsndctTx02TxOsvEWGph2ppGswy\n\tUe0pSPodE3ox0qv1bjzHOKwIva4EgwPGppoUY56ytY/sCAZ57rMLY4kHZ+Y7GNbQ\n\t==","Content-Type":"text/plain;\n\tcharset=utf-8","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","Mime-Version":"1.0 (Mac OS X Mail 16.0 \\(3864.300.41.1.7\\))","Subject":"Re: [PATCH] perf sched: Fix crash in sched stats diff due to\n uninitialized perf_data structure","From":"Venkat <venkat88@linux.ibm.com>","In-Reply-To":"<e6358476-d85a-441e-97e9-80abc9e1dee6@linaro.org>","Date":"Fri, 24 Apr 2026 15:10:34 +0530","Cc":"Athira Rajeev <atrajeev@linux.ibm.com>, linux-perf-users@vger.kernel.org,\n        linuxppc-dev@lists.ozlabs.org, hbathini@linux.vnet.ibm.com,\n        Tejas.Manhas1@ibm.com, Tanushree.Shah@ibm.com, Shivani.Nittor@ibm.com,\n        acme@kernel.org, jolsa@kernel.org, adrian.hunter@intel.com,\n        mpetlan@redhat.com, tmricht@linux.ibm.com, maddy@linux.ibm.com,\n        irogers@google.com, namhyung@kernel.org","Content-Transfer-Encoding":"quoted-printable","Message-Id":"<E2E0C2AA-F6D5-427C-92DB-47777491C76D@linux.ibm.com>","References":"<20260422173545.73144-1-atrajeev@linux.ibm.com>\n <e6358476-d85a-441e-97e9-80abc9e1dee6@linaro.org>","To":"James Clark <james.clark@linaro.org>,\n        Athira Rajeev <atrajeev@linux.ibm.com>","X-Mailer":"Apple Mail (2.3864.300.41.1.7)","X-TM-AS-GCONF":"00","X-Proofpoint-Reinject":"loops=2 maxloops=12","X-Proofpoint-GUID":"0VQAzIRii6Ewj9C4fKNGiXCx9TwcCJyr","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDI0MDA5MSBTYWx0ZWRfXzzU3XwzMMTau\n R7vWjLK1r3cB2qV/OxdFqWtqhQSaQ1UuQmqyo9xSPLQU4bPPqjVXGkTdfuUVTl2z8uzRQHyMAJt\n jgMDuwZINQ6ea3n1a+DKZCguRlPFPh5FxYrnvjo604vV9UlwImziDLdblvONAhNUFB1uGAbUFOn\n fKWuMKo9IdGoq4aCM6joX8CyszPaFl6mQ9NrX0uudpt3G6R7VTBSsyeZVw8JKv765DPJ3rQDKIc\n Q0LcVHZxzPgROa2SJRjE7R6+VELfL869ldMUQymK+2/Ir2L8QeCcVtNC004Y+2URON1RMVCGqnH\n TxL92Cn+32T9ny62P7g+f0iqQGqfRXCFHdPj2zLwA+drltPBzpnJAofYVZdGkwp72tsNQJNOSmt\n cBzPN1Kf26vh4iER+IBYMlL+0dOgT5sCWuOvFway8Tfi3zyqaZ4kY3Tcw4gOILlw2MZt9G0R5ng\n ibDAuZxRO/zCYK05fmA==","X-Authority-Analysis":"v=2.4 cv=C8LZDwP+ c=1 sm=1 tr=0 ts=69eb40d1 cx=c_pps\n a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17\n a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=RnoormkPH1_aCDwRdu11:22 a=U7nrCbtTmkRpXpFmAIza:22 a=KKAkSRfTAAAA:8\n a=VnNF1IyMAAAA:8 a=9k4NiTpGiv_xEMfOVrAA:9 a=QEXdDO2ut3YA:10\n a=cvBusfyB2V15izCimMoJ:22","X-Proofpoint-ORIG-GUID":"BxHAVBhDVeiwQbiBGzSSdhPOSaO93wmD","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-23_03,2026-04-21_02,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n adultscore=0 suspectscore=0 priorityscore=1501 malwarescore=0\n lowpriorityscore=0 clxscore=1015 bulkscore=0 impostorscore=0 spamscore=0\n phishscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000\n definitions=main-2604240091","X-Spam-Status":"No, score=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}}]