From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B8E211DF25C for ; Tue, 9 Jun 2026 04:52:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780980737; cv=none; b=n2tDn5eWNolhaoXzWm+5RPf9AsFPIaAPEvzgb6MPnYQFaOIiZA6rOlPe5Quo0RuL2pSW9Y2AItUG30OwEXpV+NXiJ0H6coNsDLfjTkpmCHYjXI1kley4bA4BR+dKMFC1sxqdWZOwqPoZXhS8o+PlshaaluKnlRhl9EpDNWS6Fvk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780980737; c=relaxed/simple; bh=XakLhLWv7nO6DNs/mUgDaKFHnT0RVqvsgQyAdBnoupc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=uL1MCZYl2BYaa1KIria89Y9Y7JJgbdYLJR3b3kGcdNy7hvrcfk5lEQi5LlmDsu/oBS37f8yZ+sf3MKDDKbPFABIoLDVrbtQU9wMDGNlUWyUEGDJRxczxq1ZdHJDRYjK3R9Udxyy2wqFaPWORqePV+2FipPh0R7l2VA+wra79dNI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GlsVQjbx; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="GlsVQjbx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C7BEA1F00893; Tue, 9 Jun 2026 04:52:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1780980736; bh=AM4HP9aFANNRY7F981Mb8s4GwwvUAYw+GseftHT/r2U=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=GlsVQjbxDJ6cu5d9TO6afwLdL9IBaSdsCAr4lqTjRiDjKpVc3vf2HjFHqUPj+EDbe c5FjlxeQcOr6mC86y6Rzr7c94qqO+yW5hohgljI/8FEcT9DxEiNaJgL9E0W2Pjgjyq wSZjiFeznDtKAOpGQ+tco1OZ4egdJ9X9QLSI2nb4GYAIgHK8Ek7aRl5+LI7PAVpPi0 4SL3A3Zy1kwdsPnHSzvsiU4BrzBPOQtFNQOX9NRg3z9MWLGwzdAIMMDVbvHlmrHquh WI78EeZ89QFnxCptUM07qi+o2WnPUll9bIVT/f1CXaSpr0M+S0fXM4DS4cok9umlgW 8c7ytDebdRNHQ== Message-ID: <8b3dcd60-e4dd-40ac-80e0-c2561e3b89e6@kernel.org> Date: Tue, 9 Jun 2026 06:52:11 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] powerpc: replace strlcat to simplify ppc_kallsyms_lookup_name To: Thorsten Blum , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org References: <20260608193203.163266-2-thorsten.blum@linux.dev> Content-Language: fr-FR From: "Christophe Leroy (CS GROUP)" In-Reply-To: <20260608193203.163266-2-thorsten.blum@linux.dev> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Le 08/06/2026 à 21:32, Thorsten Blum a écrit : > strlcat() should not be used anymore (see fortify-string.h), and since > name is guaranteed to be NUL-terminated within KSYM_NAME_LEN bytes, use > memcpy() instead. > > Rename dot_appended to the semantically clearer prepend_dot while at it. > > Signed-off-by: Thorsten Blum Please take https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260506021143.13797-1-xieyuanbin1@huawei.com/ instead Christophe > --- > arch/powerpc/include/asm/text-patching.h | 17 ++++++++--------- > 1 file changed, 8 insertions(+), 9 deletions(-) > > diff --git a/arch/powerpc/include/asm/text-patching.h b/arch/powerpc/include/asm/text-patching.h > index e7f14720f630..c47b813bd067 100644 > --- a/arch/powerpc/include/asm/text-patching.h > +++ b/arch/powerpc/include/asm/text-patching.h > @@ -227,22 +227,21 @@ static inline unsigned long ppc_kallsyms_lookup_name(const char *name) > #ifdef CONFIG_PPC64_ELF_ABI_V1 > /* check for dot variant */ > char dot_name[1 + KSYM_NAME_LEN]; > - bool dot_appended = false; > + bool prepend_dot = name[0] != '.'; > + size_t len = strnlen(name, KSYM_NAME_LEN); > > - if (strnlen(name, KSYM_NAME_LEN) >= KSYM_NAME_LEN) > + if (len == KSYM_NAME_LEN) > return 0; > > - if (name[0] != '.') { > + if (prepend_dot) { > dot_name[0] = '.'; > - dot_name[1] = '\0'; > - strlcat(dot_name, name, sizeof(dot_name)); > - dot_appended = true; > + memcpy(dot_name + 1, name, len + 1); > } else { > - dot_name[0] = '\0'; > - strlcat(dot_name, name, sizeof(dot_name)); > + memcpy(dot_name, name, len + 1); > } > + > addr = kallsyms_lookup_name(dot_name); > - if (!addr && dot_appended) > + if (!addr && prepend_dot) > /* Let's try the original non-dot symbol lookup */ > addr = kallsyms_lookup_name(name); > #elif defined(CONFIG_PPC64_ELF_ABI_V2)