From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8DEBAC433E1 for ; Tue, 14 Jul 2020 08:03:09 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5FC0E2075D for ; Tue, 14 Jul 2020 08:03:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="I0IhdDuU"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="gSGWB+49" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5FC0E2075D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=3XNMj96wH6Njv9JF6URfg977hsY6anzv2OyXFpA/Hss=; b=I0IhdDuUU1BPoPUzJnUEMoe/D kgHMi4307UkuZimSBT7I45zED+0rLv+XXcyhyiNUPumqom4AHc7tFFMbK1YcB+Jm5593tHp0o0E6+ 7awSTr+hOhfvmA0W/YU7pm4lqH3/bJNh6vYQiwtAEQ6EREjJgP2G6PFub61SjPLm6VUXtgyjbM3+K KaAKokteHZH4dH2QqsfDDMLml9BMDjtCL4ESKZyzlk7jl9HrackirlvGYvPGubPO8y6G5tKKeNxjG niSL9ceeQixro4ZvsOGUAVDYzGSkX5GlO4sn4R5AiKP5LVOakteyi0sS3mmT0/OO/UwirkSf4Zps9 7XMXer4zg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvFsN-0001OQ-Jr; Tue, 14 Jul 2020 08:01:19 +0000 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvFsL-0001Np-7N for linux-arm-kernel@lists.infradead.org; Tue, 14 Jul 2020 08:01:18 +0000 Received: by mail-wm1-x344.google.com with SMTP id 17so3911025wmo.1 for ; Tue, 14 Jul 2020 01:01:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=3ztT/QpJ6PrCphActN8ZP+HT90Nds35MNzsbH5sIelU=; b=gSGWB+49lMVbaphzeSLTo9w7GB7qEMwC4bbiMp1OgiArWtvWIKNyyi/2Aq3I95jJ79 dPty4eSAc7AwGcGkdCXiQrwmvm/qEHrEGNB2oxj9fmJOZEytDX2nv7ctd2xQVlggFJ10 yZLg0Ve/YIXNOcO8YqKf795Uu3r4g3QcQpnp6ftWay8TlSfLZpDN5psMA1Rw8sYRV0cO WAbOCyPTdp7V/khUNKoljVY0LQ42tKizHWU426sN/mWb0YzGqGNWNGOIxKvfsSeIpaRI ZIloyx4VcMk1Iz44hjlLrm3kRAbw5mc9qSN84T2yxFD0W/hb+DhhiwEYUevNgtR+lCqh TN6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=3ztT/QpJ6PrCphActN8ZP+HT90Nds35MNzsbH5sIelU=; b=URw83N1s/JBd2qfShzLQwM1AUtZq/7fsh1bSseUbuc8Tvpx8Yr/8QfqshHQpUXNAVE zactQORbzSXOvE4pNbM2G+kbvAvnB4igUQpulLRxrWUtTS8+eQy7rEbr8cGKYvI0S6ki +EGd59cHGYciuOJTnncgDqBra65lPDhlKbJHxRaMivTQrzNwQAqw1qGOZgyTrZtTyX9V M1/PV+osGhvR1nfaLn9CE+hNCFL30YzY87djFY5k0UIyP+Z1Mclf8f68L/evyFDiGQ2D /q5/OCjZ30fzrrg8bWdHkCVwcBgB/pt5r2RWDAmz0Oo+c04UNJLwvBwd6urC65mOC8EF x7VQ== X-Gm-Message-State: AOAM531jAuqXpDdy4hAWEoACNKnvMF7MJ3uxG1aDLiMw/qebeCZDFlWw 76hEBrFRrtKXROaAMy44ReKrxQ== X-Google-Smtp-Source: ABdhPJzeN2SHrdqPIt1LbkEDBs+YbZAAr6ZyG989rcpJQDX84Mi5m2wsg8bqV9/RfQG/IQu7KXu5wg== X-Received: by 2002:a1c:2095:: with SMTP id g143mr2942928wmg.113.1594713674837; Tue, 14 Jul 2020 01:01:14 -0700 (PDT) Received: from dell ([2.31.163.61]) by smtp.gmail.com with ESMTPSA id e17sm26518093wrr.88.2020.07.14.01.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 01:01:14 -0700 (PDT) Date: Tue, 14 Jul 2020 09:01:12 +0100 From: Lee Jones To: Geert Uytterhoeven Subject: Re: [PATCH 01/10] misc: c2port: core: Ensure source size does not equal destination size in strncpy() Message-ID: <20200714080112.GJ3500@dell> References: <20200626130525.389469-1-lee.jones@linaro.org> <20200626130525.389469-2-lee.jones@linaro.org> <20200714074629.GG3500@dell> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200714_040117_307936_2086202E X-CRM114-Status: GOOD ( 35.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Arnd Bergmann , Greg KH , Linux Kernel Mailing List , "Eurotech S.p.A" , Rodolfo Giometti , Linux ARM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlLCAxNCBKdWwgMjAyMCwgR2VlcnQgVXl0dGVyaG9ldmVuIHdyb3RlOgoKPiBIaSBMZWUs Cj4gCj4gT24gVHVlLCBKdWwgMTQsIDIwMjAgYXQgOTo0NiBBTSBMZWUgSm9uZXMgPGxlZS5qb25l c0BsaW5hcm8ub3JnPiB3cm90ZToKPiA+IE9uIE1vbiwgMTMgSnVsIDIwMjAsIEdlZXJ0IFV5dHRl cmhvZXZlbiB3cm90ZToKPiA+ID4gT24gRnJpLCBKdW4gMjYsIDIwMjAgYXQgMzowNiBQTSBMZWUg Sm9uZXMgPGxlZS5qb25lc0BsaW5hcm8ub3JnPiB3cm90ZToKPiA+ID4gPiBXZSBuZWVkIHRvIGVu c3VyZSB0aGVyZSdzIGEgcGxhY2UgZm9yIHRoZSBOVUxMIHRlcm1pbmF0b3IuCj4gPiA+Cj4gPiA+ IEJ1dCB3aG8ncyBmaWxsaW5nIHRoYXQgc3BhY2Ugd2l0aCBhIE5VTCAobm90IE5VTEwpIHRlcm1p bmF0b3I/Cj4gPiA+Cj4gPiA+ID4gRml4ZXMgdGhlIGZvbGxvd2luZyBXPTEgd2FybmluZyhzKToK PiA+ID4gPgo+ID4gPiA+ICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gaW5jbHVkZS9saW51eC9iaXRt YXAuaDo5LAo+ID4gPiA+ICBmcm9tIGluY2x1ZGUvbGludXgvbm9kZW1hc2suaDo5NSwKPiA+ID4g PiAgZnJvbSBpbmNsdWRlL2xpbnV4L21tem9uZS5oOjE3LAo+ID4gPiA+ICBmcm9tIGluY2x1ZGUv bGludXgvZ2ZwLmg6NiwKPiA+ID4gPiAgZnJvbSBpbmNsdWRlL2xpbnV4L3VtaC5oOjQsCj4gPiA+ ID4gIGZyb20gaW5jbHVkZS9saW51eC9rbW9kLmg6OSwKPiA+ID4gPiAgZnJvbSBpbmNsdWRlL2xp bnV4L21vZHVsZS5oOjE2LAo+ID4gPiA+ICBmcm9tIGRyaXZlcnMvbWlzYy9jMnBvcnQvY29yZS5j Ojk6Cj4gPiA+ID4gIEluIGZ1bmN0aW9uIOKAmHN0cm5jcHnigJksCj4gPiA+ID4gIGlubGluZWQg ZnJvbSDigJhjMnBvcnRfZGV2aWNlX3JlZ2lzdGVy4oCZIGF0IGRyaXZlcnMvbWlzYy9jMnBvcnQv Y29yZS5jOjkyNjoyOgo+ID4gPiA+ICBpbmNsdWRlL2xpbnV4L3N0cmluZy5oOjI5NzozMDogd2Fy bmluZzog4oCYX19idWlsdGluX3N0cm5jcHnigJkgc3BlY2lmaWVkIGJvdW5kIDMyIGVxdWFscyBk ZXN0aW5hdGlvbiBzaXplIFstV3N0cmluZ29wLXRydW5jYXRpb25dCj4gPiA+ID4gIDI5NyB8ICNk ZWZpbmUgX191bmRlcmx5aW5nX3N0cm5jcHkgX19idWlsdGluX3N0cm5jcHkKPiA+ID4gPiAgfCBe Cj4gPiA+ID4gIGluY2x1ZGUvbGludXgvc3RyaW5nLmg6MzA3Ojk6IG5vdGU6IGluIGV4cGFuc2lv biBvZiBtYWNybyDigJhfX3VuZGVybHlpbmdfc3RybmNweeKAmQo+ID4gPiA+ICAzMDcgfCByZXR1 cm4gX191bmRlcmx5aW5nX3N0cm5jcHkocCwgcSwgc2l6ZSk7Cj4gPiA+ID4gIHwgXn5+fn5+fn5+ fn5+fn5+fn5+fn4KPiA+ID4gPgo+ID4gPiA+IENjOiBSb2RvbGZvIEdpb21ldHRpIDxnaW9tZXR0 aUBsaW51eC5pdD4KPiA+ID4gPiBDYzogIkV1cm90ZWNoIFMucC5BIiA8aW5mb0BldXJvdGVjaC5p dD4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBMZWUgSm9uZXMgPGxlZS5qb25lc0BsaW5hcm8ub3Jn Pgo+ID4gPiA+IC0tLQo+ID4gPiA+ICBkcml2ZXJzL21pc2MvYzJwb3J0L2NvcmUuYyB8IDIgKy0K PiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCj4g PiA+ID4KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2MycG9ydC9jb3JlLmMgYi9k cml2ZXJzL21pc2MvYzJwb3J0L2NvcmUuYwo+ID4gPiA+IGluZGV4IDMzYmJhMTgwMjI4OTIuLjgw ZDg3ZThhMGJlYTkgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9taXNjL2MycG9ydC9jb3Jl LmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL21pc2MvYzJwb3J0L2NvcmUuYwo+ID4gPiA+IEBAIC05 MjMsNyArOTIzLDcgQEAgc3RydWN0IGMycG9ydF9kZXZpY2UgKmMycG9ydF9kZXZpY2VfcmVnaXN0 ZXIoY2hhciAqbmFtZSwKPiA+ID4gPiAgICAgICAgIH0KPiA+ID4gPiAgICAgICAgIGRldl9zZXRf ZHJ2ZGF0YShjMmRldi0+ZGV2LCBjMmRldik7Cj4gPiA+Cj4gPiA+IGMyZGV2IGlzIGFsbG9jYXRl ZCB1c2luZzoKPiA+ID4KPiA+ID4gICAgICAgICBjMmRldiA9IGttYWxsb2Moc2l6ZW9mKHN0cnVj dCBjMnBvcnRfZGV2aWNlKSwgR0ZQX0tFUk5FTCk7Cj4gPiA+Cj4gPiA+IGhlbmNlIHRoZSBhbGxv Y2F0ZWQgbWVtb3J5IGlzIG5vdCB6ZXJvZWQuCj4gPiA+Cj4gPiA+ID4KPiA+ID4gPiAtICAgICAg IHN0cm5jcHkoYzJkZXYtPm5hbWUsIG5hbWUsIEMyUE9SVF9OQU1FX0xFTik7Cj4gPiA+ID4gKyAg ICAgICBzdHJuY3B5KGMyZGV2LT5uYW1lLCBuYW1lLCBDMlBPUlRfTkFNRV9MRU4gLSAxKTsKPiA+ ID4KPiA+ID4gc3RybmNweSgpCj4gPiA+ICAgMS4gZG9lcyBub3QgdGVybWluYXRlIHRoZSBkZXN0 aW5hdGlvbiB3aXRoIGEgTlVMIGlmIHRoZSBzb3VyY2UgbGVuZ3RoCj4gPiA+ICAgICAgIGlzIEMy UE9SVF9OQU1FX0xFTiAtIDEsCj4gPiA+ICAgMi4gZmlsbHMgYWxsIHJlbWFpbmluZyBzcGFjZSBp biB0aGUgZGVzdGluYXRpb24gYnVmZmVyIHdpdGggTlVMIGNoYXJhY3RlcnMuCj4gPiA+Cj4gPiA+ IFNvIGMyZGV2Lm5hbWVbQzJQT1JUX05BTUVfTEVOIC0gMV0gYWx3YXlzIGNvbnRhaW5zIGFuIHVu aW5pdGlhbGl6ZWQKPiA+ID4gdmFsdWUuCj4gPiA+Cj4gPiA+IE5vdywgaXQgc2VlbXMgdGhlIG9u bHkgY2FsbGVyIG9mIGMycG9ydF9kZXZpY2VfcmVnaXN0ZXIoKSBwYXNzZXMKPiA+ID4gInVjIiBh cyB0aGUgbmFtZS4gIFdoaWNoIG1lYW5zIGluIHByYWN0aWNlIGMyZGV2Lm5hbWVbXSB3aWxsIGJl Cj4gPiA+IE5VTC10ZXJtaW5hdGVkLiBIb3dldmVyLCB0aGUgbGFzdCBieXRlIHdpbGwgc3RpbGwg YmUgdW5pbml0aWFsaXplZCwgYW5kCj4gPiA+IGlmIHRoZSBidWZmZXIgaXMgZXZlciBjb3BpZWQg dG8gdXNlcnNwYWNlLCB5b3VyIHBhdGNoIHdpbGwgaGF2ZSBpbnRyb2R1Y2VkCj4gPiA+IGEgbGVh ay4KPiA+Cj4gPiBRdWl0ZSByaWdodC4gIEdvb2Qgc3BvdC4gIEkgbXVzdCBoYXZlIG1hZGUgdGhl IGFzc3VtcHRpb24gdGhhdCB0aGUKPiA+IGRlc3RpbmF0aW9uIGJ1ZmZlciB3b3VsZCBiZSBwcmUt aW5pdGlhbGlzZWQuICBOb3Qgc3VyZSB3aHkgaXQncyBub3QgaW4KPiA+IHRoaXMgY2FzZS4gIFNl ZW1zIGxpa2UgYW4gb2RkIHByYWN0aWNlLgo+ID4KPiA+IFNvIHdlIGhhdmUgYSBjaG9pY2UuICBX ZSBjYW4gZWl0aGVyIGVubGFyZ2UgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciB0bwo+ID4gKmFjdHVh bGx5KiBhbGxvdyBhIGZ1bGwgbGVuZ3RoICgzMiBieXRlIGluIHRoaXMgY2FzZSkgbmFtaW5nIHN0 cmluZywKPiA+IG9yIHplcm8gdGhlIGJ1ZmZlci4KPiA+Cj4gPiBPciBldmVuIGJvdGghCj4gPgo+ ID4gRG8geW91IGhhdmUgYSBwcmVmZXJlbmNlPwo+IAo+IERvIHdlIGtub3cgaWYgdGhlIGJ1ZmZl ciBvciBmdWxsIGMyZGV2IHN0cnVjdCBpcyBldmVyIGNvcGllZCB0byB1c2Vyc3BhY2U/CgpJIGRv bid0IGtub3cgdGhhdCwgYnV0IEkgdGhpbmsgd2Ugc2hvdWxkIGVyciBvbiB0aGUgc2lkZSBvZiBj YXV0aW9uLgoKPiBJZiBpdCBtYXkgYmUgY29waWVkID0+IGthbGxvYygpLgoKRG8geW91IG1lYW4g a3phbGxvYygpPwoKPiBJZiBpdCB3aWxsIG5ldmVyIGJlIGNvcGllZCA9PiBzdHJsY3B5KCkgKG5v IE5VTC1wYWRkaW5nLCBvbmx5IE5VTC10ZXJtaW5hdG9yKS4KPiAKPiBPaCwgYW5kIHRoZXJlIGlz IGEgbmV3ZXIgb25lIG9uIHRoZSBibG9jayAod2hpY2ggSSBhbHdheXMgaGF2ZSB0byBsb29rdXAp LAo+IHdoaWNoIGlzIHByZWZlcnJlZCBvdmVyIHN0cmxjcHkoKSBhbmQgc3RybmNweSgpOiBzdHJz Y3B5KCkuCj4gQW5kIHJlYWRpbmcgbGliL3N0cmluZy5jLCB0aGVyZSdzIHN0cnNjcHlfcGFkKCks IHRvbyA7LSkKCkxldCdzIG5vdCBnZXQgdG9vIGNyYXp5LiA7KQoKLS0gCkxlZSBKb25lcyBb5p2O 55C85pavXQpTZW5pb3IgVGVjaG5pY2FsIExlYWQgLSBEZXZlbG9wZXIgU2VydmljZXMKTGluYXJv Lm9yZyDilIIgT3BlbiBzb3VyY2Ugc29mdHdhcmUgZm9yIEFybSBTb0NzCkZvbGxvdyBMaW5hcm86 IEZhY2Vib29rIHwgVHdpdHRlciB8IEJsb2cKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AD5B1C433E1 for ; Tue, 14 Jul 2020 08:01:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8161621582 for ; Tue, 14 Jul 2020 08:01:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="gSGWB+49" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726769AbgGNIBR (ORCPT ); Tue, 14 Jul 2020 04:01:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50370 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725816AbgGNIBQ (ORCPT ); Tue, 14 Jul 2020 04:01:16 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 31AB3C061755 for ; Tue, 14 Jul 2020 01:01:16 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id o2so3907187wmh.2 for ; Tue, 14 Jul 2020 01:01:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=3ztT/QpJ6PrCphActN8ZP+HT90Nds35MNzsbH5sIelU=; b=gSGWB+49lMVbaphzeSLTo9w7GB7qEMwC4bbiMp1OgiArWtvWIKNyyi/2Aq3I95jJ79 dPty4eSAc7AwGcGkdCXiQrwmvm/qEHrEGNB2oxj9fmJOZEytDX2nv7ctd2xQVlggFJ10 yZLg0Ve/YIXNOcO8YqKf795Uu3r4g3QcQpnp6ftWay8TlSfLZpDN5psMA1Rw8sYRV0cO WAbOCyPTdp7V/khUNKoljVY0LQ42tKizHWU426sN/mWb0YzGqGNWNGOIxKvfsSeIpaRI ZIloyx4VcMk1Iz44hjlLrm3kRAbw5mc9qSN84T2yxFD0W/hb+DhhiwEYUevNgtR+lCqh TN6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=3ztT/QpJ6PrCphActN8ZP+HT90Nds35MNzsbH5sIelU=; b=YZeJt/pfS4m9Sv3/D2WMi8gW6zhu+9mB9VfG/bGjpe3Q2Uw2u7fwW7M+6rygEHuKgx 7Yk0VlTqSjSuzGhdUheYidaimW8VfaBzQK7YvmPPhzPn4gnoxmyop2ICClmY3i3y+Dwl +AHotnOhBOKiKHJJpwLkUqx4fwR1O4JpHiGnqZbbKzb5slf+1pZTsQVkLYCAGH/JpRab 1FSkFh0/RhiIVKUWQeLuUBMP8z/JUEcahHqYYQcw5/+fhsuAcWB7u2lKHb3x47VlS/u2 vG6ycZZFphhDO3ZkMcNWfM3oeLLaNI+Anaab79IqZMQ2JsoN5MsOXYX9NJfoEVHzMj+4 VTjw== X-Gm-Message-State: AOAM531MiJszR6uwGg+zuVZjlHeylJj4riG7KUYW+3YJNca5+pQWz+oT WZqHzEHgNoW4VW4vz71iWWXl3w== X-Google-Smtp-Source: ABdhPJzeN2SHrdqPIt1LbkEDBs+YbZAAr6ZyG989rcpJQDX84Mi5m2wsg8bqV9/RfQG/IQu7KXu5wg== X-Received: by 2002:a1c:2095:: with SMTP id g143mr2942928wmg.113.1594713674837; Tue, 14 Jul 2020 01:01:14 -0700 (PDT) Received: from dell ([2.31.163.61]) by smtp.gmail.com with ESMTPSA id e17sm26518093wrr.88.2020.07.14.01.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2020 01:01:14 -0700 (PDT) Date: Tue, 14 Jul 2020 09:01:12 +0100 From: Lee Jones To: Geert Uytterhoeven Cc: Arnd Bergmann , Greg KH , "Eurotech S.p.A" , Rodolfo Giometti , Linux Kernel Mailing List , Linux ARM Subject: Re: [PATCH 01/10] misc: c2port: core: Ensure source size does not equal destination size in strncpy() Message-ID: <20200714080112.GJ3500@dell> References: <20200626130525.389469-1-lee.jones@linaro.org> <20200626130525.389469-2-lee.jones@linaro.org> <20200714074629.GG3500@dell> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 14 Jul 2020, Geert Uytterhoeven wrote: > Hi Lee, > > On Tue, Jul 14, 2020 at 9:46 AM Lee Jones wrote: > > On Mon, 13 Jul 2020, Geert Uytterhoeven wrote: > > > On Fri, Jun 26, 2020 at 3:06 PM Lee Jones wrote: > > > > We need to ensure there's a place for the NULL terminator. > > > > > > But who's filling that space with a NUL (not NULL) terminator? > > > > > > > Fixes the following W=1 warning(s): > > > > > > > > In file included from include/linux/bitmap.h:9, > > > > from include/linux/nodemask.h:95, > > > > from include/linux/mmzone.h:17, > > > > from include/linux/gfp.h:6, > > > > from include/linux/umh.h:4, > > > > from include/linux/kmod.h:9, > > > > from include/linux/module.h:16, > > > > from drivers/misc/c2port/core.c:9: > > > > In function ‘strncpy’, > > > > inlined from ‘c2port_device_register’ at drivers/misc/c2port/core.c:926:2: > > > > include/linux/string.h:297:30: warning: ‘__builtin_strncpy’ specified bound 32 equals destination size [-Wstringop-truncation] > > > > 297 | #define __underlying_strncpy __builtin_strncpy > > > > | ^ > > > > include/linux/string.h:307:9: note: in expansion of macro ‘__underlying_strncpy’ > > > > 307 | return __underlying_strncpy(p, q, size); > > > > | ^~~~~~~~~~~~~~~~~~~~ > > > > > > > > Cc: Rodolfo Giometti > > > > Cc: "Eurotech S.p.A" > > > > Signed-off-by: Lee Jones > > > > --- > > > > drivers/misc/c2port/core.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/misc/c2port/core.c b/drivers/misc/c2port/core.c > > > > index 33bba18022892..80d87e8a0bea9 100644 > > > > --- a/drivers/misc/c2port/core.c > > > > +++ b/drivers/misc/c2port/core.c > > > > @@ -923,7 +923,7 @@ struct c2port_device *c2port_device_register(char *name, > > > > } > > > > dev_set_drvdata(c2dev->dev, c2dev); > > > > > > c2dev is allocated using: > > > > > > c2dev = kmalloc(sizeof(struct c2port_device), GFP_KERNEL); > > > > > > hence the allocated memory is not zeroed. > > > > > > > > > > > - strncpy(c2dev->name, name, C2PORT_NAME_LEN); > > > > + strncpy(c2dev->name, name, C2PORT_NAME_LEN - 1); > > > > > > strncpy() > > > 1. does not terminate the destination with a NUL if the source length > > > is C2PORT_NAME_LEN - 1, > > > 2. fills all remaining space in the destination buffer with NUL characters. > > > > > > So c2dev.name[C2PORT_NAME_LEN - 1] always contains an uninitialized > > > value. > > > > > > Now, it seems the only caller of c2port_device_register() passes > > > "uc" as the name. Which means in practice c2dev.name[] will be > > > NUL-terminated. However, the last byte will still be uninitialized, and > > > if the buffer is ever copied to userspace, your patch will have introduced > > > a leak. > > > > Quite right. Good spot. I must have made the assumption that the > > destination buffer would be pre-initialised. Not sure why it's not in > > this case. Seems like an odd practice. > > > > So we have a choice. We can either enlarge the destination buffer to > > *actually* allow a full length (32 byte in this case) naming string, > > or zero the buffer. > > > > Or even both! > > > > Do you have a preference? > > Do we know if the buffer or full c2dev struct is ever copied to userspace? I don't know that, but I think we should err on the side of caution. > If it may be copied => kalloc(). Do you mean kzalloc()? > If it will never be copied => strlcpy() (no NUL-padding, only NUL-terminator). > > Oh, and there is a newer one on the block (which I always have to lookup), > which is preferred over strlcpy() and strncpy(): strscpy(). > And reading lib/string.c, there's strscpy_pad(), too ;-) Let's not get too crazy. ;) -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog