{"id":2226640,"url":"http://patchwork.ozlabs.org/api/patches/2226640/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260422173545.73144-1-atrajeev@linux.ibm.com/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/","list_archive_url":"https://lore.kernel.org/linuxppc-dev/","list_archive_url_format":"https://lore.kernel.org/linuxppc-dev/{}/","commit_url_format":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"},"msgid":"<20260422173545.73144-1-atrajeev@linux.ibm.com>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/20260422173545.73144-1-atrajeev@linux.ibm.com/","date":"2026-04-22T17:35:45","name":"perf sched: Fix crash in sched stats diff due to uninitialized perf_data structure","commit_ref":null,"pull_url":null,"state":"handled-elsewhere","archived":false,"hash":"ad6b6fbe3357a4f0efc1deb4a06ec4bb5ce1abee","submitter":{"id":90290,"url":"http://patchwork.ozlabs.org/api/people/90290/?format=json","name":"Athira Rajeev","email":"atrajeev@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260422173545.73144-1-atrajeev@linux.ibm.com/mbox/","series":[{"id":501052,"url":"http://patchwork.ozlabs.org/api/series/501052/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=501052","date":"2026-04-22T17:35:45","name":"perf sched: Fix crash in sched stats diff due to uninitialized perf_data structure","version":1,"mbox":"http://patchwork.ozlabs.org/series/501052/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2226640/comments/","check":"success","checks":"http://patchwork.ozlabs.org/api/patches/2226640/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linuxppc-dev+bounces-19973-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=i7EOUKez;\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-19973-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=i7EOUKez;\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=atrajeev@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 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 4g15xV2lSCz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 03:36:28 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4g15xR2JWZz2yrl;\n\tThu, 23 Apr 2026 03:36:27 +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 4g15xP5Cp2z2yrM\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 23 Apr 2026 03:36:24 +1000 (AEST)","from pps.filterd (m0360083.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63MGMep03515444;\n\tWed, 22 Apr 2026 17:36:20 GMT","from ppma11.dal12v.mail.ibm.com\n (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dpeu24sgp-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tWed, 22 Apr 2026 17:36:19 +0000 (GMT)","from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63MHZKeV003564;\n\tWed, 22 Apr 2026 17:36:18 GMT","from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230])\n\tby ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dpjkxu7kv-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tWed, 22 Apr 2026 17:36:18 +0000 (GMT)","from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com\n [10.20.54.100])\n\tby smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63MHaEo130409064\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tWed, 22 Apr 2026 17:36:14 GMT","from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id A613820043;\n\tWed, 22 Apr 2026 17:36:14 +0000 (GMT)","from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id C721020040;\n\tWed, 22 Apr 2026 17:36:11 +0000 (GMT)","from localhost.localdomain (unknown [9.39.30.235])\n\tby smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP;\n\tWed, 22 Apr 2026 17:36:11 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776879387;\n\tcv=none;\n b=ZOpvfpcFFGVjdi25dn2wVOJHNqtbLYK1T+OSGY1Ytt1dZlmvfw0FMRRFx/iydPJzs/xZ0cqH7Ow5MwIxiiFg+U7FMWDinbMDnswFd4lF3WqZP7mVOsnOdKovZYmr+AEfgCN+2s7IbBe8TGNIyvumybHSZfwCyVWBKKi2RbE+rCoR865eZh7kalTaBjhqaZBh8VfiioPZh+FLdvUIDO8zm9ZctSahv6j9G2uVuL6MHIJTkGUNQbMo7z9BKYnCL5undCuD+mKC3NlG1veWX+Pa7r875mdIemGGQLNlp11Az7Evjss9Ss9B4UJEZRke5L1FkWB7kk5dqd2NfzVrpc1+0Q==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776879387; c=relaxed/relaxed;\n\tbh=s2BqK87P3busZvwnKMqLZKct+u+esfha5cyZCzHRZkU=;\n\th=From:To:Cc:Subject:Date:Message-Id:MIME-Version;\n b=OMHtNXOKsIjFo3bbvns3NxmO1BcvP4mnSgiESkn7aCLA7tMu2/yXq+/9MOTDn1TIjuneAiIVZ8dJoy3be686eJE3jrNyrdCQs9kBVilYL/uLiWEMf2ub38tM0d3WgtesEIQQAEWDZ1EE+LaiA8c6Zq9GYjjjONge7Rg8UER/dJE8Z7seb6RYJPiwuKrpl15ElHJWozfC4y4tCPCzRVXZP7ydTtAOFzh3ux/Ctns9B5q6pFiDxTVTtVw0YwdTr+CKHLH7N3fUQZ6R+TdYZ8Ny+l1FgXb6NS0WV0tydqmY65W8pDRjdzHz6Fz5G3tdz+A/pjckaWwzcUMFS611aA27Pg==","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=i7EOUKez; dkim-atps=neutral;\n spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=atrajeev@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:date:from:message-id:mime-version\n\t:subject:to; s=pp1; bh=s2BqK87P3busZvwnKMqLZKct+u+esfha5cyZCzHRZ\n\tkU=; b=i7EOUKezNPThLibWCTqm9JzX1lp+JxOtgcYWCSBB1wbgsfCWv/UaWSP6K\n\tjLKePsQCWhRTl/MSS/ouZVuZ5nccm1Tof1388I+qHgnZzpc0i4A9RpiVyOtGmZVJ\n\tBrsvBSc2tWKiYp+lLW7T85f+xwNOOlV+H4FoVoev8BkM/URWLsx4LOrxxTv4k2vS\n\tG3i8oKknqQYcoBb9ncdN1dMC91bvoQpNzhWBg4hd1xZTN8PEuRTZsgjdDiXWZjSQ\n\tMklf0qrLz1PAllob4kW/29/0IrW5DzJ/jT9526QobFAvEeG+za6+FGpiPvpcRMTu\n\tyNz2FbyatguckwVrSQyQ0mXOcKD4A==","From":"Athira Rajeev <atrajeev@linux.ibm.com>","To":"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","Cc":"linux-perf-users@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,\n        atrajeev@linux.ibm.com, hbathini@linux.vnet.ibm.com,\n        Tejas.Manhas1@ibm.com, Tanushree.Shah@ibm.com, Shivani.Nittor@ibm.com","Subject":"[PATCH] perf sched: Fix crash in sched stats diff due to\n uninitialized perf_data structure","Date":"Wed, 22 Apr 2026 23:05:45 +0530","Message-Id":"<20260422173545.73144-1-atrajeev@linux.ibm.com>","X-Mailer":"git-send-email 2.39.5 (Apple Git-154)","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","Content-Transfer-Encoding":"8bit","X-TM-AS-GCONF":"00","X-Proofpoint-Reinject":"loops=2 maxloops=12","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDIyMDE2NyBTYWx0ZWRfXz7XoSV/kWtvR\n YznATFeblMFplDhVI5eegDomNE30dm7QopcRBNthuIZSQ26z0MDEYeF3gw3m/SPoAy6CyfmRx0Y\n lgMUCRaJpyetNy/6ib6yhDOL14Srp0o3Xaos5r9xScB1HOVfNTNOoRXA77pSEDymYuwgOb/SRyT\n QULz66Z4YbiQhj/5q7Psdkr3/dx1k4YwNtifVks0/Q+CeS1TNsU4nyl2tcicY6cRFdyPriq7Yjj\n dAj+KkgbhP/W5S1vKj1qC+FM6MI6SPFsjnMn7QfvBJj61JPz56zgAUQOnCCHSo5SFDgKJRIBodL\n 5urd01EUcKWxXGI79+bpQLMfv8oPQywlncjGEKBACGLDB9zJQTn4iH6mQP77owVuWq6mpMpbm4z\n dBU4YMfswRY+uhp0CfhmhJaNL1RUo4q8yLUddU4nDYyMmkwRPgoPChnDKrD1+eXd5V0PgvdKPVv\n sZURajTxo+zFlOmHcjg==","X-Proofpoint-ORIG-GUID":"kO37_hnscnMYR81Tnn_nPId96kExk12C","X-Proofpoint-GUID":"NM2Xa-JT7Lu4q0-Md1peximJP9oTjLfd","X-Authority-Analysis":"v=2.4 cv=XMUAjwhE c=1 sm=1 tr=0 ts=69e90713 cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=iQ6ETzBq9ecOQQE5vZCe:22 a=VnNF1IyMAAAA:8 a=gqBEGFNiBRC4Mxh7sp8A:9","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-22_02,2026-04-21_02,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n malwarescore=0 clxscore=1015 priorityscore=1501 impostorscore=0 bulkscore=0\n spamscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 suspectscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604220167","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"},"content":"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\nAlso 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\nThe valgrind logs and error message from the logs points to\nbelow 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\nThe \"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\nHere due to uninitialized \"struct perf_data\", the arguments to \"open\"\nis getting wrongly passed sometimes depending on value in stack.\nWhen perf_data__open() function calls open_file_read(),the\n\"in_place_update\" could contain garbage value.\n\nAfter initializing \"struct perf_data\" in perf_sched__schedstat_diff() function,\nperf sched stats tests runs without issues in multiple attempts and also\n\"perf sched stats diff\" ran individual without issues.\n\nfor 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\nSigned-off-by: Athira Rajeev <atrajeev@linux.ibm.com>\n---\n tools/perf/builtin-sched.c | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)","diff":"diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c\nindex 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","prefixes":[]}