From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 CA7793C343F for ; Wed, 8 Apr 2026 12:28:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775651305; cv=none; b=ax+Y0qsSr+WGRa0AeA0WRc8+8lNNuzJzXq7P6j+XtEf71TWOjGCZNtoA/YOaMt4eoMQDtY/56e41Zp1H6+c6GSIYc/PA85cGSFlxBpEZJMQOw8Sth67v/jEliXhmRvZMo4JPSprQfT/m5vJEm4mKqzeCqmXN3SI13GwPHR8YVMg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775651305; c=relaxed/simple; bh=6Kdnwxr96EsTxfaWezkGx9SRHGwg1QyMdUpR0cWOVZs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=Ea+ux6EPYfCCVrrQUvpxySyIP7iOChqklP2vp+jMcTLqnhfDV/q/IqDmKEK64k2vor3IKIiWSPZLHt5xk3rqNpeE2QLPelQMpCGewOgQ9jHVfjta9gz19nTnlmwbBZ2Vqx+ZADrfK/zCQ/MOvBesd+Ok70kaqxCFRTX+X3VvjO8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=fDJZlrxB; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="fDJZlrxB" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-488ad135063so30113715e9.0 for ; Wed, 08 Apr 2026 05:28:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775651302; x=1776256102; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=VTIuaNAsV64v9k7CIPCdYWOTBbCxwaMb4Lz1Bijxn3c=; b=fDJZlrxBsgRpiteycXqOi6MlJSKV15syGtHnA88gg+lpFDXaBQU1Z3tCTPZr6orub9 6y8VpPgDqgpz6eZT3eLsn00rHKwT9xaAdZH4Odk9PgDhwlo1F4jXjg72ilKE6wuWYlLe ANd945a+Ty+J2DKzU3VKY8gwbvFrHvdaUZfPx+LA7qgS7XiwvkzoehkwuvCw11KVcfFf gukYafLN5ZFnQ/Rr4C5HZAiSNQSQqAGHX5ihoYrMBkkV1dWL1JjL5rfbqUwFfeSizmY1 mmrZvBuWI16z/PT/eH5+Tk1NOmNpe4TF216eBynuIfvnxZgrkOFqCPQ4UKjSH7p8RLCu JJrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775651302; x=1776256102; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VTIuaNAsV64v9k7CIPCdYWOTBbCxwaMb4Lz1Bijxn3c=; b=XrRlFD3fuQchJi07wKuML/67dsybXLSCRUBlGHTBFC3n9wTjclyuyDXllmpt2VYSIJ 7K62Iw3BWIEwMdiAzgRNAxsR6hLDAA36WSF25FL4CNui0CE3qyylD6FQbEfSlwSsjchM /CYq4LJnLXUZyl14rVirC5+gGS1HshIaeGz5eJ9Rn3sebuFHR2yDQR68SDFH1zv0evnL MbdODi638IEctn6QAnUejfNKtxKLU9z/v0JhVL7fGTFDhbzkxju358rDRur6QDSeS899 tCgM4U6vlHFk06jOr0VKKnbpR6CwZ00Tq8mVhH66LM03ugEho9GvgdDFweIDheXKSoVC wQxQ== X-Forwarded-Encrypted: i=1; AJvYcCUgIojcJ2UuMT42jbg60knYTHJz+taZMOkxEV/dkFssvU2xhthgzM9VmF8Fce+XIiYzYjETOpt6S3RtkPw=@vger.kernel.org X-Gm-Message-State: AOJu0YyLat1ExdVqsFBZ5v3zCwotaBIeEMq+ltyjVkxiWpysAGW0zTbf FZFNdXpybYmU1Wdb60ZF30DXRi4cviIZWG1LeiADT6uphdshNkLbdkvsDs8EDWCZD0g= X-Gm-Gg: AeBDietAF3IlNYkvhq+9fCf+tOnaR3sCLZw94n2h4RCHmJX2bKbcudxXOeAqKpfFDeS qzm6bymRvYWGjvDOiEVfbiJUUYroSS4cXLd+Lj93cx5sCPG32aDElK4C/MzHIQP/ndNJameFqkk wf8axo38cJshLPzgdP4Sp+P4npU4edg+HgdsSPmnnmm6Bz1pGxzOM6s7feHJ9fBfYg5yN6nkxoy UWOy0meOIMlGAkahIGbGPoqp/vE2u79shpjT2xYz9FyTpJ/QU5SU3+PZRW/P8ptvZT3aRR0X2VP FqBLyo0jKIUPyZ90Lv+NYVG0gG75PDot2Wdqc+DfZ1549H+W0aWuagPHgR/B4qq/Wj2CRv9ajR7 OLLO49uAu2eq/bzfAKaoEmwLMpu9FkUSOz4ulKRnH+YNhnB76QQkuRU2Z3b5EkO/9SGnHNWgGkc 0tcOYEohIW3BnFsHl4yaRMZ4z2zgV/dDnPQDxV X-Received: by 2002:a05:600c:6305:b0:480:690e:f14a with SMTP id 5b1f17b1804b1-4889978c561mr284463935e9.14.1775651302143; Wed, 08 Apr 2026 05:28:22 -0700 (PDT) Received: from pathway.suse.cz ([176.114.240.130]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488c535dbb1sm30926145e9.2.2026.04.08.05.28.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Apr 2026 05:28:21 -0700 (PDT) Date: Wed, 8 Apr 2026 14:28:19 +0200 From: Petr Mladek To: Tamir Duberstein Cc: Steven Rostedt , Andy Shevchenko , Rasmus Villemoes , Sergey Senozhatsky , linux-kernel@vger.kernel.org, stable@vger.kernel.org, kernel test robot Subject: [PATCH v2] printf: Compile the kunit test with DISABLE_BRANCH_PROFILING Message-ID: References: <20260405-printf-test-old-gcc-v1-1-76d24d9bb60e@kernel.org> <20260406111531.779571d7@gandalf.local.home> <20260406123232.3dacbe94@gandalf.local.home> 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=us-ascii Content-Disposition: inline In-Reply-To: Old GCC can miscompile printf_kunit's errptr() test when branch profiling is enabled. BUILD_BUG_ON(IS_ERR(PTR)) is a constant false expression, but CONFIG_TRACE_BRANCH_PROFILING and CONFIG_PROFILE_ALL_BRANCHES make the IS_ERR() path side-effectful. GCC's IPA splitter can then outline the cold assert arm into errptr.part.* and leave that clone with an unconditional __compiletime_assert_*() call, causing a false build failure. This started showing up after test_hashed() became a macro and moved its local buffer into errptr(), which changed GCC's inlining and splitting decisions enough to expose the compiler bug. Workaround the problem by disabling the branch profiling for printf_kunit.o. It is a straightforward and acceptable solution. Fixes: 9bfa52dac27a ("printf: convert test_hashed into macro") Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202604030636.NqjaJvYp-lkp@intel.com/ Cc: stable@vger.kernel.org Signed-off-by: Petr Mladek --- Changes against v1: + Disable the branch profiling for the whole printf_kunit.o instead of using "noinline". lib/tests/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/tests/Makefile b/lib/tests/Makefile index 05f74edbc62b..fbb2aad26994 100644 --- a/lib/tests/Makefile +++ b/lib/tests/Makefile @@ -40,6 +40,7 @@ obj-$(CONFIG_MEMCPY_KUNIT_TEST) += memcpy_kunit.o obj-$(CONFIG_MIN_HEAP_KUNIT_TEST) += min_heap_kunit.o CFLAGS_overflow_kunit.o = $(call cc-disable-warning, tautological-constant-out-of-range-compare) obj-$(CONFIG_OVERFLOW_KUNIT_TEST) += overflow_kunit.o +CFLAGS_printf_kunit.o += -DDISABLE_BRANCH_PROFILING obj-$(CONFIG_PRINTF_KUNIT_TEST) += printf_kunit.o obj-$(CONFIG_RANDSTRUCT_KUNIT_TEST) += randstruct_kunit.o obj-$(CONFIG_SCANF_KUNIT_TEST) += scanf_kunit.o -- 2.53.0