Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp3019455pxb; Mon, 18 Oct 2021 06:44:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxkSk7NqFQYkdWzTdbtiPdoSsTgs6+5qtAAh8fmo7EoKRnOanEJil0+kT9sb866cQnuDedV X-Received: by 2002:a05:6a00:992:b0:44d:8981:37f6 with SMTP id u18-20020a056a00099200b0044d898137f6mr24269925pfg.76.1634564641461; Mon, 18 Oct 2021 06:44:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634564641; cv=none; d=google.com; s=arc-20160816; b=HHpZ3hOX32/MFwYts45nOlATH36PGw/0sYkRHMQpPJhV3UlcBA41rCEzOHDmZB8oGG mAhMvsfId8lgEBZpZ1SRxOPk8o9cv0oGTB445+bBWXy3kWyk7IyoBDnhSr7EwVrIEp/9 G6DoWHlHsXRXohdodFEiGrLCADtzttHcRoMSyFus5OKzVJ6YmLnIQud1iu7MVhGhJeym xAOEOO+exaeqmXqRRZ2raOSxCI3gqH0W+UmOR3BGaPBg9gzaoR8Pu7wl0pslA+9nC1vO iaubvf4t8X9do8+zI7cclLYJSKwLjSgI8055PHGaflEU/SHRlkGbICp5Els64wXAxRz/ yxoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=9DD/kwaIs4IJdoKP6GBa6B/sGYTwXkYimltg56O58AE=; b=wFwYvh6DA79sUD8C6d/cEUXEaiju3X0JSWitjsvi2aPRC8tVzosQ8qbP54dc7DVIYM QNcYH7/zIBPJoVKVg7u0IscV1sUymYNo3BW11MGJU5uT8hEyS9X6F3+HBbGaLXc7o07G RwzVQANwF7/Sc+TTQfUWsJxP1Unz85VGb2tKWPvEFJGRCxnzroAik94rHEypOQQeemUd y3IVi01Gvww5seBAJ6qOLIitbK7cdEgS1NVoDQQRt4Xv/D+Rij0YpC9hhEZ1Qi5a9XV2 D9xQYxgeehyhH+LlMiV8AVeNknBt+vf67QNr+CnhVZO/kP3+XDNk5iaaFy6VQIa15+oJ 4mqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=fuUofMGt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ot12si23470663pjb.49.2021.10.18.06.43.46; Mon, 18 Oct 2021 06:44:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=fuUofMGt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232750AbhJRNo2 (ORCPT + 99 others); Mon, 18 Oct 2021 09:44:28 -0400 Received: from mail.kernel.org ([198.145.29.99]:40186 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233258AbhJRNmm (ORCPT ); Mon, 18 Oct 2021 09:42:42 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id A003B61353; Mon, 18 Oct 2021 13:34:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1634564051; bh=cesyj4anBa+P1NwYCsv+OIjAb5LzGTtCQDFHTqD9RZc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fuUofMGt4CFSgXLiArmPLtum/chiqOSv1bmquRNNBoqfBRLgEAq0WoLhGvGzvkhrB +j0E2qYq1qO35fj4pyvVyOmtXJmH2Ud/WUfnY+eKmqSYBcBlhw/NdW5mhAwoeYT3X5 6U+ZHQfLZzMpT1hEsFMRGiqy2pYinGuYGqsRKfDY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Roberto Sassu , Heiko Carstens , Vasily Gorbik Subject: [PATCH 5.10 013/103] s390: fix strrchr() implementation Date: Mon, 18 Oct 2021 15:23:49 +0200 Message-Id: <20211018132335.141328601@linuxfoundation.org> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211018132334.702559133@linuxfoundation.org> References: <20211018132334.702559133@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Roberto Sassu commit 8e0ab8e26b72a80e991c66a8abc16e6c856abe3d upstream. Fix two problems found in the strrchr() implementation for s390 architectures: evaluate empty strings (return the string address instead of NULL, if '\0' is passed as second argument); evaluate the first character of non-empty strings (the current implementation stops at the second). Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: stable@vger.kernel.org Reported-by: Heiko Carstens (incorrect behavior with empty strings) Signed-off-by: Roberto Sassu Link: https://lore.kernel.org/r/20211005120836.60630-1-roberto.sassu@huawei.com Signed-off-by: Heiko Carstens Signed-off-by: Vasily Gorbik Signed-off-by: Greg Kroah-Hartman --- arch/s390/lib/string.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) --- a/arch/s390/lib/string.c +++ b/arch/s390/lib/string.c @@ -246,14 +246,13 @@ EXPORT_SYMBOL(strcmp); #ifdef __HAVE_ARCH_STRRCHR char *strrchr(const char *s, int c) { - size_t len = __strend(s) - s; + ssize_t len = __strend(s) - s; - if (len) - do { - if (s[len] == (char) c) - return (char *) s + len; - } while (--len > 0); - return NULL; + do { + if (s[len] == (char)c) + return (char *)s + len; + } while (--len >= 0); + return NULL; } EXPORT_SYMBOL(strrchr); #endif