From patchwork Fri Apr 25 20:54:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 884437 Delivered-To: patch@linaro.org Received: by 2002:a5d:474d:0:b0:38f:210b:807b with SMTP id o13csp4162785wrs; Fri, 25 Apr 2025 14:07:39 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWC4zs+5nWWxzqosE/Y17SGvJNVpdO3VM6MysK+X11DyL9IzjDHURVESngGp4XcyMxugOc17w==@linaro.org X-Google-Smtp-Source: AGHT+IFARPhr4S+lPwA3rYytKEm3wESQO67rREJXS+zmJMnQGdLY7VvLNAhnFu9BiZ451SOxxtPh X-Received: by 2002:a05:620a:1901:b0:7c0:a264:4de1 with SMTP id af79cd13be357-7c958659f5emr1304688285a.24.1745615258882; Fri, 25 Apr 2025 14:07:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1745615258; cv=pass; d=google.com; s=arc-20240605; b=QdLtUM9jPjEy0GqRNgK4e4LhyzOacYwXZT8ONZfxVdhV9ZcgetUzHYEMsJ84cAr6+l 9ffSJsfVP/RJdAM3a3BHPvke3i3gJimvbS3ryiHZUVxF81uYLQwTXRH3pz1FL8S3IvdN DHwk1n51zWO92M8WkummgNiGgt6kLy2eLwqDZqq0UvBd93SMWPYSgzboZK7Ge3oO94e7 QrwQHGJchBLBwDPGMgbrA0aEJgC7dijEPe8bb/crQtGqvPYfD+N/7lysCsqmGJeTeWGy toByvVyYvsba4o5/5FsccwKqN1SslP75qXlyITr4iu+3WsuL1dA+QcT9aR25rzwK9yjN lWhA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=ubuUsMj7bmKcyFiTkMozmyTf7Wr2IDa7nHThg/B7e1M=; fh=G1NI73xfDcVophzg1+e/pmkwSVc7WWCXN7V/bl5G28k=; b=VHDDGEizm6lz+xhn1H859AtMdJKxhmszGMk0eKV5Is+rI3K1Y79Bs9wHLtQ0R1rSz1 4ZHHZANCm4ikFppV2lSiADOgwwyFGwo/rY1WZLItnQ4KH5tI9xJHgg10+18WxwrmGmzT 2pheL7KBLu49KfgsXXD0/LVOTe8B9+cEZlKOy3CYaafr3ZK8IrHTtypcqA7T6oLVWZrP km/ofxvr/eTd4cCx8EJr8GICIOj0DnChiqpCAh7AkyKlhkWXeuxYOUpZs2w3GTIuhyjp I1s+iTXEznrD/FpGn3BCzdwaTyDM2lBhrG/6rwlHGyVZbadcSw4UMYyRm7f9VcSMjN2o AISA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=d1ErA1oH; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id af79cd13be357-7c958ea362fsi428711185a.421.2025.04.25.14.07.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 14:07:38 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=d1ErA1oH; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 76ECD385843B for ; Fri, 25 Apr 2025 21:07:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 76ECD385843B Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=d1ErA1oH X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by sourceware.org (Postfix) with ESMTPS id 9C78F3858D20 for ; Fri, 25 Apr 2025 20:56:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9C78F3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9C78F3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::102b ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1745614595; cv=none; b=DiX08nVKHr/ATZcFSudXlHm7x/kSkNMKPEOLQ2L8zYG8iKt21KY+vmiLZ4MryNvmnYBoFAUU+OomL0mnYyj3kHAFbiiZJyTRwAo/3I6cyIvn35/ITQKRHNVfyXNMPBJ1xelqK1FeDM/BGbEwSBi1R84qIzc0qTVuimGx//j3Ct8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1745614595; c=relaxed/simple; bh=jKgcMM/BhciH08GuxwcC035chb2TmAHPm1Mpp+VKBj8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=kAFydi251y6QzDPSMUSyGJAhuvLk4SerIkfOYcNBcdLYKWf/bsO382RRwaOsUipcvOl5NsKxVqVQkuqMaUUc3zcvX5MarWGqchvD2o+7du3nEYXowCkslHbwrNmwccKbQc8ubUCr1D4LzHeMadqHeSg8L542FBbv+q5lXYlfVj8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9C78F3858D20 Received: by mail-pj1-x102b.google.com with SMTP id 98e67ed59e1d1-30863b48553so3623390a91.0 for ; Fri, 25 Apr 2025 13:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745614594; x=1746219394; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ubuUsMj7bmKcyFiTkMozmyTf7Wr2IDa7nHThg/B7e1M=; b=d1ErA1oHwbdtrAhUMAAIBZaP5oJ1/ox44Pxo2WDmItEq9YQajuFB2HrsT4w5lgukS0 Vn42jXymirNmN1p2k5l0qs43wBWctsthkBC/ftMp9xSKW2RLp0csDayWrwj96Cp/vBD5 EVpl4GlZRrn0KSNGjcVbgA7m2mGUGzAImjPTOfaoyWgM0AlPTQBRWGxOlGJM0dbhk1XT PP7FTThGVXHdbcJ8XiElmLx+CryX+te0plS80XUZ1IJJ8ftVlQACAleKvfL7nbElzyJU CLioPlslV2DA5uTzAjhXX8fCuKlWFuuXaC56ZqQGm3X1LcIr7PyKHFmBRDTrG7q95nWB n4rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745614594; x=1746219394; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ubuUsMj7bmKcyFiTkMozmyTf7Wr2IDa7nHThg/B7e1M=; b=mQwMEX5qZ6XDlOvKwS0aYckR587uPENeYhyqnjaEIBvRzWH80Po9QXRue+nx78Kwu+ AxIhch+IHLgr//xjNeslAI1yY8HTJjMTrbTOkPX4Aw4owVCvXMsTc4WvD6rYU1XwQA1c L8PYHoa+OHkyRdLIJGivfkl6zNA5NmWYDkXBBLNh4fe7RZ7QAxgSn2dejV/ZqaeY8sQa 0X7c6OpIPuxyMY9i4jrR/4G9VGDDELptvCt3MmN9szwOFUR65hlap+dFj3AI1Tu71B7p GHo29dC4lGIAZQ2J/j4vCCJqJBydA5bZZo0gh4KPtO2lQOWwQmmM4yesscie23ltZtN9 iIwA== X-Gm-Message-State: AOJu0Ywd4lNlp4w0f0c7nbq7a9kKdu7QyJQtAbZoru+jXBZFWTOQ3CgX 8gqfL2p/l20JER9VWkEfXTiR81QhgzfbLhfO4hJasH4rmse9h8wYjk8sT+F61K02jwWjh6Punst 1 X-Gm-Gg: ASbGncugKXY2e4YYH2StV8HOm6zt5FFHdu2P8Mbxay2olhCxxdCDwJ2+XPNRN7cGAWv n5peBqBFSL/Gf5sHnvjD2wKBIngWm8NgM7o57G+MmN9QJCphF3e+fRLy6xbgx8nbwytSdyWy/lQ JLbzj4NxneqieP+a5Fd9jow2OA0fUJ+F2jYXUBgkvaYLHH5QDPLBHYAEtHZWifMZYlhywu3E5p4 0JGV9DZhFwl72sHp/V2jGqrSpeOBq1BA/DSDFuSuQlkC1NXXlXMLHSq3b467KiR3TAGwhV6bf8T 14iE2SxSKAZN/I2GZoO1eqT0YvmUOxOEVlomBcH78Ij4rOUIBiQ7yg== X-Received: by 2002:a17:90b:2f45:b0:2fa:3174:e344 with SMTP id 98e67ed59e1d1-309ee3f9db1mr11359035a91.14.1745614594369; Fri, 25 Apr 2025 13:56:34 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c0:9bf1:37fb:44e3:5707:516b]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-309f782d47bsm2357188a91.37.2025.04.25.13.56.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 13:56:34 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Paul Zimmermann Subject: [PATCH 8/8] math: Fix UB on sinpif Date: Fri, 25 Apr 2025 17:54:29 -0300 Message-ID: <20250425205618.360232-9-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250425205618.360232-1-adhemerval.zanella@linaro.org> References: <20250425205618.360232-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The left shift overflows for 'int', use uint32_t instead. It syncs with CORE-MATH commit bbfabd99. Checked on aarch64-linux-gnu, x86_64-linux-gnu, and i686-linux-gnu. --- sysdeps/ieee754/flt-32/s_sinpif.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sysdeps/ieee754/flt-32/s_sinpif.c b/sysdeps/ieee754/flt-32/s_sinpif.c index 99a8bbbcf3..c0d15e777b 100644 --- a/sysdeps/ieee754/flt-32/s_sinpif.c +++ b/sysdeps/ieee754/flt-32/s_sinpif.c @@ -3,7 +3,7 @@ Copyright (c) 2022-2025 Alexei Sibidanov. The original version of this file was copied from the CORE-MATH -project (src/binary32/sinpi/sinpif.c, revision f786e13). +project (src/binary32/sinpi/sinpif.c, revision bbfabd99. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -51,7 +51,7 @@ __sinpif (float x) { if (__glibc_unlikely (s < -6)) return copysignf (0.0f, x); - int32_t iq = m << (-s - 1); + int32_t iq = (uint32_t)m << (-s - 1); iq &= 127; if (iq == 0 || iq == 64) return copysignf (0.0f, x); @@ -63,10 +63,10 @@ __sinpif (float x) return z * (0x1.921fb54442d18p+1 + z2 * (-0x1.4abbce625be53p+2)); } int32_t si = 25 - s; - if (__glibc_unlikely (si >= 0 && (m << si) == 0)) + if (__glibc_unlikely (si >= 0 && ((uint32_t)m << si) == 0)) return copysignf (0.0f, x); - int32_t k = m << (31 - s); + int32_t k = (uint32_t)m << (31 - s); double z = k, z2 = z * z; double fs = SN[0] + z2 * (SN[1] + z2 * SN[2]); double fc = CN[0] + z2 * (CN[1] + z2 * CN[2]);