From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D646225784 for ; Tue, 1 Apr 2025 18:25:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531953; cv=none; b=IFVE6rbW22vAVqxGu4RxJqN9L5ckE6vl6hM1/SmyxxuJSzq8NlpC5OhxzNzdMPOM0nDaSNDuLk2VVbHpTznhtP+TVM3j0F8TPIpNcJrbSpcZwUTVuUnM6dJI5mSC9zQUz3AbQRedGWSa2IWjtKU6mCemsu+aJ0vbW4EaDpH3dOk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743531953; c=relaxed/simple; bh=jNRHk+HoP4LC7aVMHfDNdLRSleTyuQPlCBkTlkM17/o=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Content-Type; b=bKAkeBy3C46TR8MToK/sowwwcclRlDfCJAbaj3cDjIf09ua/GOFjQ8BQRdAWU2ktH7pqEIKDghxgqWGHu+tWDdueD6VDMY3q6r40FKBNmlG+2UYcePZVvJJLIsEMN83YfQNPeMXdwu0sSlYRf49pifqJaiqBin1T6XoMWYtzvxc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=XqPefRg6; arc=none smtp.client-ip=209.85.214.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--irogers.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="XqPefRg6" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-22403329f9eso104553425ad.3 for ; Tue, 01 Apr 2025 11:25:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743531951; x=1744136751; darn=lists.linux.dev; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=KR8kCL7xwq040/uGoJTgKcPRCll2n3dLmKu7Yyfytk4=; b=XqPefRg6hgrirfq63rwW+AaKJJvJFTISNz8hcKe7lOrN32KTLHtBmyPd3B2rfsKoJ4 JG1hip45CZJO1Qs6JJ2FSGCBa8piOQTp/kO1p1etcviYQCo5sDIwPDGSsGocwQmxRU9L C0WF4mwoNWsfkW9PB4hSX3+CedLL8FUa5RQUm1pRFdQtSw0X+B3u2ABHqzoZYTAIJtuL qOE8rhzPe5lTgsI64SjPZjwPZA3MZbqAk6+eYcbLkGJf1j16hskmtSIbn3tDewmNxv20 lexaTV8OaNDZtUoZV0Ca1o34cU7dQfDJ6nWA15xEdEqZF+ZEV9waADE+pPRfVf2hsFKZ 4o3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743531951; x=1744136751; h=to:from:subject:message-id:references:mime-version:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KR8kCL7xwq040/uGoJTgKcPRCll2n3dLmKu7Yyfytk4=; b=U+A/gboDBnSJKHkmNp8EIpxCgHYYjeXJ9K1tuwRtm3u5XAr8Peo7wP+eiMWHgUpKAS clBV/kCeQj6J4GI6nRHkfw24gVEn2jphbuA9YWjSM7I7yVn/BIcLZ1/FXd0YL1z4JuJ4 3l/+wpaEHT4RgJA84755j0YSzg5xXv+ZnivUo9jv/htjWTBn0KQoUaM1nNVm9OtdSECS /qf/4Fh479TKLRHaRtHtCLKQfdClxoLUf0nGt0Cm3CdA7pX92vlEzPFd/GBx1BbeLKO7 YEYYhM86FkpLUvZIPSGmqQyFGO7l73E5bO7qTXFM2Iux6qg9eFpK7F4s0pMYm5GcaXao a4gg== X-Forwarded-Encrypted: i=1; AJvYcCXqg+mACkUbkFRWIlWFx1uS9Wy4nv9UmRT90nJ0uxmS4XoYii2euAoXocG94M2MasQ9RQHp@lists.linux.dev X-Gm-Message-State: AOJu0YyZpo6FjJdfhol1dN/vrV6yTXH0HWsWm7Au7a6JFFRmvVG/CZgZ AOcptLoBKKJOiJbj+Zxx+1vAF/YpnHzytduI7uW7DlzfzRyXoJMWMgVAUnPyiwtlIEtmUDwaEro HzlMO5A== X-Google-Smtp-Source: AGHT+IEPqgz+rFeXBdNtdF9MopmgtL+fIX9Z60fCNyZbM/1JhnyjvKKLZ8SDjN8bE87gqdGCj1ypt69T/4tz X-Received: from pfblb4.prod.google.com ([2002:a05:6a00:4f04:b0:730:96d1:c213]) (user=irogers job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:f54a:b0:223:432b:593d with SMTP id d9443c01a7336-2292f9f3b90mr199136565ad.42.1743531951082; Tue, 01 Apr 2025 11:25:51 -0700 (PDT) Date: Tue, 1 Apr 2025 11:23:35 -0700 In-Reply-To: <20250401182347.3422199-1-irogers@google.com> Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250401182347.3422199-1-irogers@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250401182347.3422199-38-irogers@google.com> Subject: [PATCH v1 37/48] perf inject: Silence -Wshorten-64-to-32 warnings From: Ian Rogers To: Yury Norov , Rasmus Villemoes , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , Kan Liang , Thomas Gleixner , Darren Hart , Davidlohr Bueso , "=?UTF-8?q?Andr=C3=A9=20Almeida?=" , John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Yicong Yang , Jonathan Cameron , Nathan Chancellor , Bill Wendling , Justin Stitt , Josh Poimboeuf , Al Viro , Kyle Meyer , Ben Gainey , Athira Rajeev , Kajol Jain , Aditya Gupta , Eder Zulian , Dapeng Mi , Kuan-Wei Chiu , He Zhe , Dirk Gouders , Brian Geffon , Ravi Bangoria , Howard Chu , Charlie Jenkins , Colin Ian King , Dominique Martinet , Jann Horn , Masahiro Yamada , Arnd Bergmann , Yang Jihong , Dmitry Vyukov , Andi Kleen , Graham Woodward , Ilkka Koskinen , Anshuman Khandual , Zhongqiu Han , Hao Ge , Tengda Wu , Gabriele Monaco , Chun-Tse Shao , Casey Chen , "Dr. David Alan Gilbert" , Li Huafei , "Steinar H. Gunderson" , Levi Yun , Weilin Wang , Thomas Falcon , Thomas Richter , Andrew Kreimer , "=?UTF-8?q?Krzysztof=20=C5=81opatowski?=" , Christophe Leroy , Jean-Philippe Romain , Junhao He , "Masami Hiramatsu (Google)" , Xu Yang , Steve Clevenger , Zixian Cai , Stephen Brennan , Yujie Liu , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-arm-kernel@lists.infradead.org, llvm@lists.linux.dev Content-Type: text/plain; charset="UTF-8" The clang warning -Wshorten-64-to-32 can be useful to catch inadvertent truncation. In some instances this truncation can lead to changing the sign of a result, for example, truncation to return an int to fit a sort routine. Silence the warning by making the implicit truncation explicit. Signed-off-by: Ian Rogers --- tools/perf/builtin-inject.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c index 11e49cafa3af..09a99cec8f78 100644 --- a/tools/perf/builtin-inject.c +++ b/tools/perf/builtin-inject.c @@ -390,7 +390,7 @@ static int perf_event__repipe_sample(const struct perf_tool *tool, if (inject->itrace_synth_opts.set && sample->aux_sample.size) { event = perf_inject__cut_auxtrace_sample(inject, event, sample); if (IS_ERR(event)) - return PTR_ERR(event); + return (int)PTR_ERR(event); } return perf_event__repipe_synth(tool, event); @@ -697,13 +697,13 @@ static struct strlist *perf_inject__parse_known_build_ids( { struct str_node *pos, *tmp; struct strlist *known_build_ids; - int bid_len; known_build_ids = strlist__new(known_build_ids_string, NULL); if (known_build_ids == NULL) return NULL; strlist__for_each_entry_safe(pos, tmp, known_build_ids) { const char *build_id, *dso_name; + size_t bid_len; build_id = skip_spaces(pos->s); dso_name = strchr(build_id, ' '); @@ -717,7 +717,7 @@ static struct strlist *perf_inject__parse_known_build_ids( strlist__remove(known_build_ids, pos); continue; } - for (int ix = 0; 2 * ix + 1 < bid_len; ++ix) { + for (size_t ix = 0; 2 * ix + 1 < bid_len; ++ix) { if (!isxdigit(build_id[2 * ix]) || !isxdigit(build_id[2 * ix + 1])) { strlist__remove(known_build_ids, pos); @@ -732,10 +732,10 @@ static bool perf_inject__lookup_known_build_id(struct perf_inject *inject, struct dso *dso) { struct str_node *pos; - int bid_len; strlist__for_each_entry(pos, inject->known_build_ids) { const char *build_id, *dso_name; + size_t bid_len; build_id = skip_spaces(pos->s); dso_name = strchr(build_id, ' '); @@ -743,7 +743,7 @@ static bool perf_inject__lookup_known_build_id(struct perf_inject *inject, dso_name = skip_spaces(dso_name); if (strcmp(dso__long_name(dso), dso_name)) continue; - for (int ix = 0; 2 * ix + 1 < bid_len; ++ix) { + for (size_t ix = 0; 2 * ix + 1 < bid_len; ++ix) { dso__bid(dso)->data[ix] = (hex(build_id[2 * ix]) << 4 | hex(build_id[2 * ix + 1])); } @@ -1006,7 +1006,7 @@ static int perf_inject__sched_stat(const struct perf_tool *tool, union perf_event *event_sw; struct perf_sample sample_sw; struct perf_inject *inject = container_of(tool, struct perf_inject, tool); - u32 pid = evsel__intval(evsel, sample, "pid"); + u32 pid = (u32)evsel__intval(evsel, sample, "pid"); list_for_each_entry(ent, &inject->samples, node) { if (pid == ent->tid) @@ -1038,7 +1038,7 @@ static int guest_session__output_bytes(struct guest_session *gs, void *buf, size { ssize_t ret = writen(gs->tmp_fd, buf, sz); - return ret < 0 ? ret : 0; + return ret < 0 ? (int)ret : 0; } static int guest_session__repipe(const struct perf_tool *tool, @@ -1444,7 +1444,7 @@ static int guest_session__start(struct guest_session *gs, const char *name, bool session = perf_session__new(&gs->data, &gs->tool); if (IS_ERR(session)) - return PTR_ERR(session); + return (int)PTR_ERR(session); gs->session = session; /* @@ -1518,7 +1518,7 @@ static void guest_session__exit(struct guest_session *gs) static void get_tsc_conv(struct perf_tsc_conversion *tc, struct perf_record_time_conv *time_conv) { tc->time_shift = time_conv->time_shift; - tc->time_mult = time_conv->time_mult; + tc->time_mult = (u32)time_conv->time_mult; tc->time_zero = time_conv->time_zero; tc->time_cycles = time_conv->time_cycles; tc->time_mask = time_conv->time_mask; @@ -1578,7 +1578,7 @@ static int guest_session__fetch(struct guest_session *gs) hdr = buf; ret = readn(gs->tmp_fd, buf, hdr_sz); if (ret < 0) - return ret; + return (int)ret; if (!ret) { /* Zero size means EOF */ @@ -1590,7 +1590,7 @@ static int guest_session__fetch(struct guest_session *gs) ret = readn(gs->tmp_fd, buf, hdr->size - hdr_sz); if (ret < 0) - return ret; + return (int)ret; gs->ev.event = (union perf_event *)gs->ev.event_buf; gs->ev.sample.time = 0; @@ -1603,7 +1603,7 @@ static int guest_session__fetch(struct guest_session *gs) ret = evlist__parse_sample(gs->session->evlist, gs->ev.event, &gs->ev.sample); if (ret) { pr_err("Parse failed fetching guest event"); - return ret; + return (int)ret; } if (!gs->have_tc) { @@ -1982,7 +1982,7 @@ static int parse_guest_data(const struct option *opt, const char *str, int unset tok = strsep(&s, ","); if (!tok) goto bad_args; - gs->machine_pid = strtoul(tok, NULL, 0); + gs->machine_pid = (u32)strtoul(tok, NULL, 0); if (!inject->guest_session.machine_pid) goto bad_args; @@ -2535,7 +2535,7 @@ int cmd_inject(int argc, const char **argv) /*trace_event_repipe=*/inject.output.is_pipe); if (IS_ERR(inject.session)) { - ret = PTR_ERR(inject.session); + ret = (int)PTR_ERR(inject.session); goto out_close_output; } -- 2.49.0.504.g3bcea36a83-goog