Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp571519pxu; Fri, 4 Dec 2020 09:59:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJzsWhMk/8y+J1o7SnVkdDxVxyUXBcCN0SADZ4b8J1ibbthAtowYUGGbkyQyZjBH+eagNSFe X-Received: by 2002:a50:fd18:: with SMTP id i24mr8932717eds.146.1607104779128; Fri, 04 Dec 2020 09:59:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607104779; cv=none; d=google.com; s=arc-20160816; b=K2xZ4UaBy3iReClUFss0H1lCgYEawaJ/yNxEo18x7cZV9BuOywPsc+tlBjgZD80PM5 g57TJ9G8Per74AN1ro7cSg3duU3TAFF7khoVZUCDzdNcyPKK5eZAWrCwJb357GBwJnsV 5LXphUCzX/YJDZrIto5xaqluLKl6Ui/WsX7ywzuARJE4u6BvYZtwZjPXSYmYxb8kDdUN Oo2DIkfaR/lelOMdyoTVYo8X8g+l8FCdeqORcc71uaRvckPLRw56pXFuC1OJnjSeFGvp MupfL+v4yRtZKPvroM4MAJV4sap68FanaWkDz9uePj4dMJ7iH180sTshpLDL+zIdwVcD EJgw== 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:date:cc:to:from:subject :message-id:dkim-signature:dkim-signature; bh=Z2a19JuT1/4HHisSdj+HwuieBvTU/m/iR7wsid5U61Q=; b=Lx+8IzqjAv+LEyTipx/ClG7pDxsteX4olUqmFDUItzLmi+uAeqIVSMwOh4mCUm6s4s 6Hyo4m3DDGcvedGRSgiGVvPQ+vK2wwDMex2l7IXNe+vjkvAfHrVca7k5GiUKJI0MR/qD uNAUNGWnafDYEO1CX5tsH5mufGM+XZmhJ4HCJQFHCNeu0Py9b2kQoTQcRjKFTx6ZdN/l IY1sk5GejlpdQqMAsCtaDA7V5MKxcxt0pQ89oCXpjBqMtddgcBxG/xP+v+G9EPnfWJtQ wbAnNnOeUSaChL0c3L96z1fkLcsPuUVw7c41POCoXzD2Gj+cMY2k/Zq0j3LPSlEYPZMC LYRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@hansenpartnership.com header.s=20151216 header.b=LJv6d585; dkim=pass header.i=@hansenpartnership.com header.s=20151216 header.b=LJv6d585; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hansenpartnership.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rp28si1978972ejb.10.2020.12.04.09.59.09; Fri, 04 Dec 2020 09:59:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-crypto-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=@hansenpartnership.com header.s=20151216 header.b=LJv6d585; dkim=pass header.i=@hansenpartnership.com header.s=20151216 header.b=LJv6d585; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hansenpartnership.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387681AbgLDR5m (ORCPT + 99 others); Fri, 4 Dec 2020 12:57:42 -0500 Received: from bedivere.hansenpartnership.com ([96.44.175.130]:57236 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726021AbgLDR5m (ORCPT ); Fri, 4 Dec 2020 12:57:42 -0500 Received: from localhost (localhost [127.0.0.1]) by bedivere.hansenpartnership.com (Postfix) with ESMTP id EFE5C12806D3; Fri, 4 Dec 2020 09:57:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hansenpartnership.com; s=20151216; t=1607104620; bh=j/eiQ9XC4YVyXHPaGvnixXqre38vTxKbe7IysEXG/gQ=; h=Message-ID:Subject:From:To:Date:In-Reply-To:References:From; b=LJv6d585fMMbsbl72vwxEil6yGk8n+dpPg0+K0c9QGLI6z2Tnb35IajlkkZ/poYVt Apwk3JR5UaJjDvC46VLJvsCb+SFQ5eqvWGVnU98pT0RQI8tTzpuqlku09Jz0OireDV CvQHnAFrsu77RWt/AkDGWfrret+uJBj5l78JAyzI= Received: from bedivere.hansenpartnership.com ([127.0.0.1]) by localhost (bedivere.hansenpartnership.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id INp-1Jb0T2J6; Fri, 4 Dec 2020 09:57:00 -0800 (PST) Received: from jarvis.int.hansenpartnership.com (unknown [IPv6:2601:600:8280:66d1::527]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bedivere.hansenpartnership.com (Postfix) with ESMTPSA id 92AB012806D2; Fri, 4 Dec 2020 09:56:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hansenpartnership.com; s=20151216; t=1607104620; bh=j/eiQ9XC4YVyXHPaGvnixXqre38vTxKbe7IysEXG/gQ=; h=Message-ID:Subject:From:To:Date:In-Reply-To:References:From; b=LJv6d585fMMbsbl72vwxEil6yGk8n+dpPg0+K0c9QGLI6z2Tnb35IajlkkZ/poYVt Apwk3JR5UaJjDvC46VLJvsCb+SFQ5eqvWGVnU98pT0RQI8tTzpuqlku09Jz0OireDV CvQHnAFrsu77RWt/AkDGWfrret+uJBj5l78JAyzI= Message-ID: Subject: Re: [RFC PATCH v1 00/12] Replace strstarts() by str_has_prefix() From: James Bottomley To: laniel_francis@privacyrequired.com, Russell King , Hauke Mehrtens , =?UTF-8?Q?Rafa=C5=82_Mi=C5=82ecki?= , Thomas Bogendoerfer , Florian Fainelli , bcm-kernel-feedback-list@broadcom.com, Herbert Xu , "David S. Miller" , Ard Biesheuvel , Tomi Valkeinen , David Airlie , Daniel Vetter , Laurent Pinchart , Kieran Bingham , Alasdair Kergon , Mike Snitzer , dm-devel@redhat.com, Bin Liu , Greg Kroah-Hartman , Jessica Yu Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-crypto@vger.kernel.org, linux-efi@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, linux-ide@vger.kernel.org, linux-usb@vger.kernel.org Date: Fri, 04 Dec 2020 09:56:58 -0800 In-Reply-To: <20201204170319.20383-1-laniel_francis@privacyrequired.com> References: <20201204170319.20383-1-laniel_francis@privacyrequired.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.4 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Fri, 2020-12-04 at 18:03 +0100, laniel_francis@privacyrequired.com wrote: > In this patch set, I replaced all calls to strstarts() by calls to > str_has_prefix(). Indeed, the kernel has two functions to test if a > string begins with an other: > 1. strstarts() which returns a bool, so 1 if the string begins with > the prefix,0 otherwise. > 2. str_has_prefix() which returns the length of the prefix or 0. > > str_has_prefix() was introduced later than strstarts(), in commit > 495d714ad140 which also stated that str_has_prefix() should replace > strstarts(). This is what this patch set does. What's the reason why? If you look at the use cases for the replacement of strstart() they're all cases where we need to know the length we're skipping and this is hard coded, leading to potential errors later. This is a classic example: 3d739c1f6156 ("tracing: Use the return of str_has_prefix() to remove open coded numbers"). However you're not doing this transformation in the conversion, so the conversion is pretty useless. I also see no case for replacing strstart() where we're using it simply as a boolean without needing to know the length of the prefix. James