From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 C631E34027B for ; Sun, 2 Aug 2026 21:08:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785704912; cv=none; b=kXjqa/iHiS9KbbjriQUPFdWcw1ZuVa+Sf1DNXNIvHi4CdcU7KU6O5px3IyzDEYuelXdPjFMyFY5bMRZJcEzJX1xvig894smvcawhO9Ozy8o6kq9DJLUSy8plsEIf0Y3IdlOfgiBzEq2XL8wa1Al8RFFjOu0akuOPd/sjCyzDgO4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785704912; c=relaxed/simple; bh=V5r7QIrQPvds6l+pD3FjfXC43XlRt28TuckiYHbmcJI=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZUbftqFdM0Z62aRm76GDaGqjH7G635E7GHEMeijCnuoEgNo8TPDbhJoJ2R0b4bSs9XgmrEH2c6zz7FtFRR8Dni2HyR/YrHbozTVhq2NHi0JNbNLPbErN4Ah5fWhUyb8SNZKmIQNkudfLmlbWCXuEV3JE6MkINQ7YWFSU9KvLu+Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jCkM/bRo; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jCkM/bRo" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4954f5e8020so6344045e9.2 for ; Sun, 02 Aug 2026 14:08:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785704909; x=1786309709; darn=vger.kernel.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=fFuId5/et30IIYrYQj18+p/LDPIR45GxUSBdCpaynGE=; b=jCkM/bRoilSuD9BlBxZyWj1a9HuDTenH6psopcH2fNfI2kL7b/mnB4KXG8R/M0F8Z7 G+me/lmHhKvEejxPsyZurkED/YOZLMZmajKznAKkbK973pzmAuv9t46Griw4nJ3b+U3n Ng/HOI46RCazvsOn3wGWDTyS9H4YVGIJShxpwCAsYtgqZqcAvlBijJxnCkssKHkYnFDe oap1CsJk43zmfmyQ0VM+jLyNjKwXl1avsLgLDIqj3iSBDbQrySvXOYFphEqH0eX1WG8W bUN2z6vBSAj581mkTKhUIJTZtIuzR5mnKupL/JrdG479jKaA0OzxYu+zySeNE0lOOWap 77EA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785704909; x=1786309709; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=fFuId5/et30IIYrYQj18+p/LDPIR45GxUSBdCpaynGE=; b=pH+OVoNe/t/g7r+/vsDLmgHOFAA8gSAx8+3/zgGT8ol/QSlPefWh92YTeFEKU13zMY HPL9iO1tdMO/zKRjwVxhVWRFz8M1DgByQtqKVCVeyjQ9vn3l8/xAJQ8AG516CVHwG+9p 7osJu+VZBd68f18upgW3wAYKLUo9c28nkzWqSdNPJ3jNzLHrGLoZo1XHzmsS2RjagcET 6X7BsmFTkO+DshTREPs3KzLcWg6XZUJmmLyeGS+yZ9DlCBWMxVaq96k7p98Vj382+7wK SHvmjBwEbZJUuByFwyiSLEEKdprNYZ0oKN6dQ6LJH2mSzieRnpFGKdn38n49Mns/Kxzr XEQA== X-Forwarded-Encrypted: i=1; AHgh+RqnYhGMctOwK3rVsi1WIfMwAKAlAAfdWxspr866oGZSpwpk8pcUQXRBN9iJunU/OFpTPyow1bTuPZJhO78=@vger.kernel.org X-Gm-Message-State: AOJu0YxWnmDLl74GdWfWYlLwklaFrBxTzB3I+h94WA/azk8IkUKqwhAL WENbChQcRzYtveg/o6ChUQjCRWc/jX8bswfD7n6pgEZyPqXcdPlatIrp X-Gm-Gg: AR+sD133K9WQmqQ7k17uGJN1JCkOKB0D6QZ39BNJ8SEy/8O8KnYJhb8wPbJoQPTAq9j PyrvmrgJ3a5CJepXvSpGXzkH4Vea8l9GACiM4gXrvdIeiDfVCvYBV6QyRkmLfhZrPouyDTYXXJS AjhWRtLEGk5mkJ2UoEIzWwFiqT5I55e8LM2ybmHleeXOn6BVWXP5uoN2NKXOTW57QptW6P+8exn oRK7rvTx/P2GnZYxYv2srlmO4QdnUdfJwNGNC3bnEqdcw9KS1JB+IeeUJMrsai/WpOM5gHaGMpD qfmQ9mwQjWJd647faqM/tYE3cel8ZpwYrXmNn9p6cOpNuJ91TB5Dn3N9wzVm0NjOe9sXFpLVuLY IMiRW6By7NGFBV0sTN2vdKIPIl0gRYziTQc2fXBQQmCdmY80hvQv556yBOwdwuKIjC+oy4C4lMW 6OHAw6VYAw1/KzGa5xKNZW7Toga2Q24F9suvH3TB7E3kZEbElTlffbTo5PqBkl/b4XSOy0ZuPr/ EzSo6sqVbuZMlQp5OU4OlW4cw== X-Received: by 2002:a05:600c:840f:b0:495:5fdf:2075 with SMTP id 5b1f17b1804b1-4980c5fa29amr140848065e9.0.1785704908822; Sun, 02 Aug 2026 14:08:28 -0700 (PDT) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49808691014sm163988045e9.11.2026.08.02.14.08.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 14:08:28 -0700 (PDT) Date: Sun, 2 Aug 2026 22:08:27 +0100 From: David Laight To: Arnaldo Carvalho de Melo Cc: Namhyung Kim , Ingo Molnar , Thomas Gleixner , James Clark , Jiri Olsa , Ian Rogers , Adrian Hunter , Clark Williams , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Arnaldo Carvalho de Melo , sashiko-bot Subject: Re: [PATCH 1/5] perf dso: Guard against errno==0 when dso__get_filename() returns NULL Message-ID: <20260802220827.38ea6e32@pumpkin> In-Reply-To: <20260802142022.154219-2-acme@kernel.org> References: <20260802142022.154219-1-acme@kernel.org> <20260802142022.154219-2-acme@kernel.org> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, 2 Aug 2026 11:20:18 -0300 Arnaldo Carvalho de Melo wrote: > From: Arnaldo Carvalho de Melo >=20 > __open_dso() computes fd =3D -errno when dso__get_filename() returns NULL. > Some failure paths in dso__get_filename() (e.g. binary type mismatch) > return NULL without making a syscall, leaving errno at 0 from a prior > successful call. Except that errno isn't set to zero by successful syscalls. It is only ever set by ones that fail. The application may set errno to zero (eg to detect errors from some library functions). So paths that don't make syscalls will be returning a 'random' errno. David > fd =3D -0 =3D 0, which is stdin =E2=80=94 subsequent code treats > it as a valid file descriptor. >=20 > Fall back to ENOENT when errno is 0, ensuring fd is always negative on > failure. >=20 > Fixes: eba5102d2f0b ("perf tools: Add global list of opened dso objects") > Reported-by: sashiko-bot > Cc: Jiri Olsa > Assisted-by: Claude:claude-opus-4.6 > Signed-off-by: Arnaldo Carvalho de Melo > --- > tools/perf/util/dso.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c > index 2309196d8df3111c..e087a89066bdbc02 100644 > --- a/tools/perf/util/dso.c > +++ b/tools/perf/util/dso.c > @@ -643,7 +643,7 @@ static int __open_dso(struct dso *dso, struct machine= *machine) > if (name) > fd =3D do_open(name); > else > - fd =3D -errno; > + fd =3D errno ? -errno : -ENOENT; > =20 > if (decomp) > unlink(name);