From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) (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 9B7B01103 for ; Thu, 29 Sep 2022 08:36:17 +0000 (UTC) Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4MdRXW0Bs9z4xGG; Thu, 29 Sep 2022 18:36:11 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ellerman.id.au; s=201909; t=1664440575; bh=Zm00l+zmqsCWLK3LqHtfXzxyyxS1KKRiDBtm93jjX9o=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=HvksgIIi1oeSL3sCDaWnCOeWcGonlpaPKJKiI3OtvAu+BHn2yjS8AR76e3Ton4Nmy +EG26HHK0KGq8vBvYX1EeVNsxcIp9mIU6us0cOvxy60zyQiQGRFQuv/txggXaNqN90 ZKWhlWHVgkpzhtZMxMhIP2Bw8oAKyLOzGZWe9yuxbUXzVLSr62mIeEvbWCpkSHrZlO Twy98ZJlAAXDut/ui87OToN2gdrJMOcxFt0qGiH5Q17PEp3FYZEI4DXZJQ30tNXk1t 9aFxJpinn/zEKI8MPHuL3gndj8LsbUTOOq0tZEPF560BHpeqU2OY2AdZ4ghD6NHw5p pKXBKh32qbh6A== From: Michael Ellerman To: Kees Cook , Geert Uytterhoeven Cc: Vlastimil Babka , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Marco Elver , linux-mm@kvack.org, "Ruhl, Michael J" , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Greg Kroah-Hartman , Nick Desaulniers , Alex Elder , Josef Bacik , David Sterba , Sumit Semwal , Christian =?utf-8?Q?K=C3=B6nig?= , Jesse Brandeburg , Daniel Micay , Yonghong Song , Miguel Ojeda , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, linux-fsdevel@vger.kernel.org, intel-wired-lan@lists.osuosl.org, dev@openvswitch.org, x86@kernel.org, llvm@lists.linux.dev, linux-hardening@vger.kernel.org Subject: Re: [PATCH v2 01/16] slab: Remove __malloc attribute from realloc functions In-Reply-To: <202209281011.66DD717D@keescook> References: <20220923202822.2667581-1-keescook@chromium.org> <20220923202822.2667581-2-keescook@chromium.org> <202209281011.66DD717D@keescook> Date: Thu, 29 Sep 2022 18:36:05 +1000 Message-ID: <874jwqfuh6.fsf@mpe.ellerman.id.au> Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Kees Cook writes: > On Wed, Sep 28, 2022 at 09:26:15AM +0200, Geert Uytterhoeven wrote: >> On Fri, Sep 23, 2022 at 10:35 PM Kees Cook wrote: >> > The __malloc attribute should not be applied to "realloc" functions, as >> > the returned pointer may alias the storage of the prior pointer. Inste= ad >> > of splitting __malloc from __alloc_size, which would be a huge amount = of >> > churn, just create __realloc_size for the few cases where it is needed. >> > >> > Additionally removes the conditional test for __alloc_size__, which is >> > always defined now. >> > >> > Cc: Christoph Lameter >> > Cc: Pekka Enberg >> > Cc: David Rientjes >> > Cc: Joonsoo Kim >> > Cc: Andrew Morton >> > Cc: Vlastimil Babka >> > Cc: Roman Gushchin >> > Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com> >> > Cc: Marco Elver >> > Cc: linux-mm@kvack.org >> > Signed-off-by: Kees Cook >>=20 >> Thanks for your patch, which is now commit 63caa04ec60583b1 ("slab: >> Remove __malloc attribute from realloc functions") in next-20220927. >>=20 >> Noreply@ellerman.id.au reported all gcc8-based builds to fail >> (e.g. [1], more at [2]): >>=20 >> In file included from : >> ./include/linux/percpu.h: In function =E2=80=98__alloc_reserved_perc= pu=E2=80=99: >> ././include/linux/compiler_types.h:279:30: error: expected >> declaration specifiers before =E2=80=98__alloc_size__=E2=80=99 >> #define __alloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) __ma= lloc >> ^~~~~~~~~~~~~~ >> ./include/linux/percpu.h:120:74: note: in expansion of macro =E2=80= =98__alloc_size=E2=80=99 >> [...] >>=20 >> It's building fine with e.g. gcc-9 (which is my usual m68k cross-compile= r). >> Reverting this commit on next-20220927 fixes the issue. >>=20 >> [1] http://kisskb.ellerman.id.au/kisskb/buildresult/14803908/ >> [2] http://kisskb.ellerman.id.au/kisskb/head/1bd8b75fe6adeaa89d02968bdd8= 11ffe708cf839/ > > Eek! Thanks for letting me know. I'm confused about this -- > __alloc_size__ wasn't optional in compiler_attributes.h -- but obviously > I broke something! I'll go figure this out. This fixes it for me. cheers diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h index f141a6f6b9f6..0717534f8364 100644 --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@ -275,8 +275,13 @@ struct ftrace_likely_data { * be performing a _reallocation_, as that may alias the existing pointer. * For these, use __realloc_size(). */ -#define __alloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) __malloc -#define __realloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) +#ifdef __alloc_size__ +# define __alloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) __malloc +# define __realloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) +#else +# define __alloc_size(x, ...) __malloc +# define __realloc_size(x, ...) +#endif =20 #ifndef asm_volatile_goto #define asm_volatile_goto(x...) asm goto(x) 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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E4EB0C07E9D for ; Thu, 29 Sep 2022 08:36:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AD1E910E2B3; Thu, 29 Sep 2022 08:36:28 +0000 (UTC) Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by gabe.freedesktop.org (Postfix) with ESMTPS id B1C7E10E2B3 for ; Thu, 29 Sep 2022 08:36:21 +0000 (UTC) Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4MdRXW0Bs9z4xGG; Thu, 29 Sep 2022 18:36:11 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ellerman.id.au; s=201909; t=1664440575; bh=Zm00l+zmqsCWLK3LqHtfXzxyyxS1KKRiDBtm93jjX9o=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=HvksgIIi1oeSL3sCDaWnCOeWcGonlpaPKJKiI3OtvAu+BHn2yjS8AR76e3Ton4Nmy +EG26HHK0KGq8vBvYX1EeVNsxcIp9mIU6us0cOvxy60zyQiQGRFQuv/txggXaNqN90 ZKWhlWHVgkpzhtZMxMhIP2Bw8oAKyLOzGZWe9yuxbUXzVLSr62mIeEvbWCpkSHrZlO Twy98ZJlAAXDut/ui87OToN2gdrJMOcxFt0qGiH5Q17PEp3FYZEI4DXZJQ30tNXk1t 9aFxJpinn/zEKI8MPHuL3gndj8LsbUTOOq0tZEPF560BHpeqU2OY2AdZ4ghD6NHw5p pKXBKh32qbh6A== From: Michael Ellerman To: Kees Cook , Geert Uytterhoeven Subject: Re: [PATCH v2 01/16] slab: Remove __malloc attribute from realloc functions In-Reply-To: <202209281011.66DD717D@keescook> References: <20220923202822.2667581-1-keescook@chromium.org> <20220923202822.2667581-2-keescook@chromium.org> <202209281011.66DD717D@keescook> Date: Thu, 29 Sep 2022 18:36:05 +1000 Message-ID: <874jwqfuh6.fsf@mpe.ellerman.id.au> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Roman Gushchin , dri-devel@lists.freedesktop.org, "Ruhl, Michael J" , Eric Dumazet , linux-hardening@vger.kernel.org, Hyeonggon Yoo <42.hyeyoo@gmail.com>, Christoph Lameter , Sumit Semwal , dev@openvswitch.org, x86@kernel.org, Jesse Brandeburg , intel-wired-lan@lists.osuosl.org, David Rientjes , Miguel Ojeda , Jakub Kicinski , Paolo Abeni , linux-media@vger.kernel.org, Marco Elver , llvm@lists.linux.dev, Josef Bacik , linaro-mm-sig@lists.linaro.org, Yonghong Song , David Sterba , Andrew Morton , Vlastimil Babka , Alex Elder , linux-mm@kvack.org, Greg Kroah-Hartman , Nick Desaulniers , linux-kernel@vger.kernel.org, Christian =?utf-8?Q?K=C3=B6nig?= , Pekka Enberg , Daniel Micay , netdev@vger.kernel.org, linux-fsdevel@vger.kernel.org, Joonsoo Kim , "David S. Miller" , linux-btrfs@vger.kernel.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Kees Cook writes: > On Wed, Sep 28, 2022 at 09:26:15AM +0200, Geert Uytterhoeven wrote: >> On Fri, Sep 23, 2022 at 10:35 PM Kees Cook wrote: >> > The __malloc attribute should not be applied to "realloc" functions, as >> > the returned pointer may alias the storage of the prior pointer. Inste= ad >> > of splitting __malloc from __alloc_size, which would be a huge amount = of >> > churn, just create __realloc_size for the few cases where it is needed. >> > >> > Additionally removes the conditional test for __alloc_size__, which is >> > always defined now. >> > >> > Cc: Christoph Lameter >> > Cc: Pekka Enberg >> > Cc: David Rientjes >> > Cc: Joonsoo Kim >> > Cc: Andrew Morton >> > Cc: Vlastimil Babka >> > Cc: Roman Gushchin >> > Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com> >> > Cc: Marco Elver >> > Cc: linux-mm@kvack.org >> > Signed-off-by: Kees Cook >>=20 >> Thanks for your patch, which is now commit 63caa04ec60583b1 ("slab: >> Remove __malloc attribute from realloc functions") in next-20220927. >>=20 >> Noreply@ellerman.id.au reported all gcc8-based builds to fail >> (e.g. [1], more at [2]): >>=20 >> In file included from : >> ./include/linux/percpu.h: In function =E2=80=98__alloc_reserved_perc= pu=E2=80=99: >> ././include/linux/compiler_types.h:279:30: error: expected >> declaration specifiers before =E2=80=98__alloc_size__=E2=80=99 >> #define __alloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) __ma= lloc >> ^~~~~~~~~~~~~~ >> ./include/linux/percpu.h:120:74: note: in expansion of macro =E2=80= =98__alloc_size=E2=80=99 >> [...] >>=20 >> It's building fine with e.g. gcc-9 (which is my usual m68k cross-compile= r). >> Reverting this commit on next-20220927 fixes the issue. >>=20 >> [1] http://kisskb.ellerman.id.au/kisskb/buildresult/14803908/ >> [2] http://kisskb.ellerman.id.au/kisskb/head/1bd8b75fe6adeaa89d02968bdd8= 11ffe708cf839/ > > Eek! Thanks for letting me know. I'm confused about this -- > __alloc_size__ wasn't optional in compiler_attributes.h -- but obviously > I broke something! I'll go figure this out. This fixes it for me. cheers diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h index f141a6f6b9f6..0717534f8364 100644 --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@ -275,8 +275,13 @@ struct ftrace_likely_data { * be performing a _reallocation_, as that may alias the existing pointer. * For these, use __realloc_size(). */ -#define __alloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) __malloc -#define __realloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) +#ifdef __alloc_size__ +# define __alloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) __malloc +# define __realloc_size(x, ...) __alloc_size__(x, ## __VA_ARGS__) +#else +# define __alloc_size(x, ...) __malloc +# define __realloc_size(x, ...) +#endif =20 #ifndef asm_volatile_goto #define asm_volatile_goto(x...) asm goto(x) 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 Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3DF00C07E9D for ; Thu, 29 Sep 2022 08:36:26 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id B121A61116; Thu, 29 Sep 2022 08:36:25 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org B121A61116 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org; s=default; t=1664440585; bh=HitPj8pZxCOpamwGbMr+NmVnW6SCGTvv8+X/kURSGVg=; h=From:To:In-Reply-To:References:Date:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: Cc:From; b=xnzXOF8uDrivEWbtMELTsNXhtw7OXzGSYya5tQsgp+zVCCx8XKv7LObu8kIx8YQ5Z n91CNgyqyekY1Y5NEJXbJQq8MQGHUaiq4lFhTB7mfgGgaxXV+H/R6rDsn9M4U1pA/5 t1+ZXf93cvs2pzf8jkYBMjyezKX5O45niIoOTg0lTmOY8JHalYPmKiJRiUlBUB4Ldq XEQkT8N8SMMuj3T3C2n8QOU1oLpEgTPBGqB4h1WRcdDqZJdwC1wIpJVtv4JlHYivds 01EwLrP1OVFOyubYYId1UUFLxHJMnjN5/jlIzkngZkVfZ+xDWZ2sA/ES3Ls4Gxdbcg BCDLKMwS35Bfg== X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U3XdjxxMXDHf; Thu, 29 Sep 2022 08:36:24 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp3.osuosl.org (Postfix) with ESMTP id 96D1460E72; Thu, 29 Sep 2022 08:36:24 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 96D1460E72 Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 930441BF2FA for ; Thu, 29 Sep 2022 08:36:22 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 6C7958328E for ; Thu, 29 Sep 2022 08:36:22 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 6C7958328E X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CI_y36oWbbq8 for ; Thu, 29 Sep 2022 08:36:21 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 5533383495 Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by smtp1.osuosl.org (Postfix) with ESMTPS id 5533383495 for ; Thu, 29 Sep 2022 08:36:21 +0000 (UTC) Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4MdRXW0Bs9z4xGG; Thu, 29 Sep 2022 18:36:11 +1000 (AEST) From: Michael Ellerman To: Kees Cook , Geert Uytterhoeven In-Reply-To: <202209281011.66DD717D@keescook> References: <20220923202822.2667581-1-keescook@chromium.org> <20220923202822.2667581-2-keescook@chromium.org> <202209281011.66DD717D@keescook> Date: Thu, 29 Sep 2022 18:36:05 +1000 Message-ID: <874jwqfuh6.fsf@mpe.ellerman.id.au> MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ellerman.id.au; s=201909; t=1664440575; bh=Zm00l+zmqsCWLK3LqHtfXzxyyxS1KKRiDBtm93jjX9o=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=HvksgIIi1oeSL3sCDaWnCOeWcGonlpaPKJKiI3OtvAu+BHn2yjS8AR76e3Ton4Nmy +EG26HHK0KGq8vBvYX1EeVNsxcIp9mIU6us0cOvxy60zyQiQGRFQuv/txggXaNqN90 ZKWhlWHVgkpzhtZMxMhIP2Bw8oAKyLOzGZWe9yuxbUXzVLSr62mIeEvbWCpkSHrZlO Twy98ZJlAAXDut/ui87OToN2gdrJMOcxFt0qGiH5Q17PEp3FYZEI4DXZJQ30tNXk1t 9aFxJpinn/zEKI8MPHuL3gndj8LsbUTOOq0tZEPF560BHpeqU2OY2AdZ4ghD6NHw5p pKXBKh32qbh6A== X-Mailman-Original-Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key) header.d=ellerman.id.au header.i=@ellerman.id.au header.a=rsa-sha256 header.s=201909 header.b=HvksgIIi Subject: Re: [Intel-wired-lan] [PATCH v2 01/16] slab: Remove __malloc attribute from realloc functions X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Roman Gushchin , dri-devel@lists.freedesktop.org, "Ruhl, Michael J" , Eric Dumazet , linux-hardening@vger.kernel.org, Hyeonggon Yoo <42.hyeyoo@gmail.com>, Christoph Lameter , Sumit Semwal , dev@openvswitch.org, x86@kernel.org, intel-wired-lan@lists.osuosl.org, David Rientjes , Miguel Ojeda , Jakub Kicinski , Paolo Abeni , linux-media@vger.kernel.org, Marco Elver , llvm@lists.linux.dev, Josef Bacik , linaro-mm-sig@lists.linaro.org, Yonghong Song , David Sterba , Andrew Morton , Vlastimil Babka , Alex Elder , linux-mm@kvack.org, Greg Kroah-Hartman , Nick Desaulniers , linux-kernel@vger.kernel.org, Christian =?utf-8?Q?K=C3=B6nig?= , Pekka Enberg , Daniel Micay , netdev@vger.kernel.org, linux-fsdevel@vger.kernel.org, Joonsoo Kim , "David S. Miller" , linux-btrfs@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" S2VlcyBDb29rIDxrZWVzY29va0BjaHJvbWl1bS5vcmc+IHdyaXRlczoKPiBPbiBXZWQsIFNlcCAy OCwgMjAyMiBhdCAwOToyNjoxNUFNICswMjAwLCBHZWVydCBVeXR0ZXJob2V2ZW4gd3JvdGU6Cj4+ IE9uIEZyaSwgU2VwIDIzLCAyMDIyIGF0IDEwOjM1IFBNIEtlZXMgQ29vayA8a2Vlc2Nvb2tAY2hy b21pdW0ub3JnPiB3cm90ZToKPj4gPiBUaGUgX19tYWxsb2MgYXR0cmlidXRlIHNob3VsZCBub3Qg YmUgYXBwbGllZCB0byAicmVhbGxvYyIgZnVuY3Rpb25zLCBhcwo+PiA+IHRoZSByZXR1cm5lZCBw b2ludGVyIG1heSBhbGlhcyB0aGUgc3RvcmFnZSBvZiB0aGUgcHJpb3IgcG9pbnRlci4gSW5zdGVh ZAo+PiA+IG9mIHNwbGl0dGluZyBfX21hbGxvYyBmcm9tIF9fYWxsb2Nfc2l6ZSwgd2hpY2ggd291 bGQgYmUgYSBodWdlIGFtb3VudCBvZgo+PiA+IGNodXJuLCBqdXN0IGNyZWF0ZSBfX3JlYWxsb2Nf c2l6ZSBmb3IgdGhlIGZldyBjYXNlcyB3aGVyZSBpdCBpcyBuZWVkZWQuCj4+ID4KPj4gPiBBZGRp dGlvbmFsbHkgcmVtb3ZlcyB0aGUgY29uZGl0aW9uYWwgdGVzdCBmb3IgX19hbGxvY19zaXplX18s IHdoaWNoIGlzCj4+ID4gYWx3YXlzIGRlZmluZWQgbm93Lgo+PiA+Cj4+ID4gQ2M6IENocmlzdG9w aCBMYW1ldGVyIDxjbEBsaW51eC5jb20+Cj4+ID4gQ2M6IFBla2thIEVuYmVyZyA8cGVuYmVyZ0Br ZXJuZWwub3JnPgo+PiA+IENjOiBEYXZpZCBSaWVudGplcyA8cmllbnRqZXNAZ29vZ2xlLmNvbT4K Pj4gPiBDYzogSm9vbnNvbyBLaW0gPGlhbWpvb25zb28ua2ltQGxnZS5jb20+Cj4+ID4gQ2M6IEFu ZHJldyBNb3J0b24gPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+Cj4+ID4gQ2M6IFZsYXN0aW1p bCBCYWJrYSA8dmJhYmthQHN1c2UuY3o+Cj4+ID4gQ2M6IFJvbWFuIEd1c2hjaGluIDxyb21hbi5n dXNoY2hpbkBsaW51eC5kZXY+Cj4+ID4gQ2M6IEh5ZW9uZ2dvbiBZb28gPDQyLmh5ZXlvb0BnbWFp bC5jb20+Cj4+ID4gQ2M6IE1hcmNvIEVsdmVyIDxlbHZlckBnb29nbGUuY29tPgo+PiA+IENjOiBs aW51eC1tbUBrdmFjay5vcmcKPj4gPiBTaWduZWQtb2ZmLWJ5OiBLZWVzIENvb2sgPGtlZXNjb29r QGNocm9taXVtLm9yZz4KPj4gCj4+IFRoYW5rcyBmb3IgeW91ciBwYXRjaCwgd2hpY2ggaXMgbm93 IGNvbW1pdCA2M2NhYTA0ZWM2MDU4M2IxICgic2xhYjoKPj4gUmVtb3ZlIF9fbWFsbG9jIGF0dHJp YnV0ZSBmcm9tIHJlYWxsb2MgZnVuY3Rpb25zIikgaW4gbmV4dC0yMDIyMDkyNy4KPj4gCj4+IE5v cmVwbHlAZWxsZXJtYW4uaWQuYXUgcmVwb3J0ZWQgYWxsIGdjYzgtYmFzZWQgYnVpbGRzIHRvIGZh aWwKPj4gKGUuZy4gWzFdLCBtb3JlIGF0IFsyXSk6Cj4+IAo+PiAgICAgSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIDxjb21tYW5kLWxpbmU+Ogo+PiAgICAgLi9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oOiBJ biBmdW5jdGlvbiDigJhfX2FsbG9jX3Jlc2VydmVkX3BlcmNwdeKAmToKPj4gICAgIC4vLi9pbmNs dWRlL2xpbnV4L2NvbXBpbGVyX3R5cGVzLmg6Mjc5OjMwOiBlcnJvcjogZXhwZWN0ZWQKPj4gZGVj bGFyYXRpb24gc3BlY2lmaWVycyBiZWZvcmUg4oCYX19hbGxvY19zaXplX1/igJkKPj4gICAgICAj ZGVmaW5lIF9fYWxsb2Nfc2l6ZSh4LCAuLi4pIF9fYWxsb2Nfc2l6ZV9fKHgsICMjIF9fVkFfQVJH U19fKSBfX21hbGxvYwo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn4KPj4gICAgIC4vaW5jbHVkZS9saW51eC9wZXJjcHUuaDoxMjA6NzQ6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhfX2FsbG9jX3NpemXigJkKPj4gICAgIFsuLi5dCj4+IAo+ PiBJdCdzIGJ1aWxkaW5nIGZpbmUgd2l0aCBlLmcuIGdjYy05ICh3aGljaCBpcyBteSB1c3VhbCBt NjhrIGNyb3NzLWNvbXBpbGVyKS4KPj4gUmV2ZXJ0aW5nIHRoaXMgY29tbWl0IG9uIG5leHQtMjAy MjA5MjcgZml4ZXMgdGhlIGlzc3VlLgo+PiAKPj4gWzFdIGh0dHA6Ly9raXNza2IuZWxsZXJtYW4u aWQuYXUva2lzc2tiL2J1aWxkcmVzdWx0LzE0ODAzOTA4Lwo+PiBbMl0gaHR0cDovL2tpc3NrYi5l bGxlcm1hbi5pZC5hdS9raXNza2IvaGVhZC8xYmQ4Yjc1ZmU2YWRlYWE4OWQwMjk2OGJkZDgxMWZm ZTcwOGNmODM5Lwo+Cj4gRWVrISBUaGFua3MgZm9yIGxldHRpbmcgbWUga25vdy4gSSdtIGNvbmZ1 c2VkIGFib3V0IHRoaXMgLS0KPiBfX2FsbG9jX3NpemVfXyB3YXNuJ3Qgb3B0aW9uYWwgaW4gY29t cGlsZXJfYXR0cmlidXRlcy5oIC0tIGJ1dCBvYnZpb3VzbHkKPiBJIGJyb2tlIHNvbWV0aGluZyEg SSdsbCBnbyBmaWd1cmUgdGhpcyBvdXQuCgpUaGlzIGZpeGVzIGl0IGZvciBtZS4KCmNoZWVycwoK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY29tcGlsZXJfdHlwZXMuaCBiL2luY2x1ZGUvbGlu dXgvY29tcGlsZXJfdHlwZXMuaAppbmRleCBmMTQxYTZmNmI5ZjYuLjA3MTc1MzRmODM2NCAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9saW51eC9jb21waWxlcl90eXBlcy5oCisrKyBiL2luY2x1ZGUvbGlu dXgvY29tcGlsZXJfdHlwZXMuaApAQCAtMjc1LDggKzI3NSwxMyBAQCBzdHJ1Y3QgZnRyYWNlX2xp a2VseV9kYXRhIHsKICAqIGJlIHBlcmZvcm1pbmcgYSBfcmVhbGxvY2F0aW9uXywgYXMgdGhhdCBt YXkgYWxpYXMgdGhlIGV4aXN0aW5nIHBvaW50ZXIuCiAgKiBGb3IgdGhlc2UsIHVzZSBfX3JlYWxs b2Nfc2l6ZSgpLgogICovCi0jZGVmaW5lIF9fYWxsb2Nfc2l6ZSh4LCAuLi4pCV9fYWxsb2Nfc2l6 ZV9fKHgsICMjIF9fVkFfQVJHU19fKSBfX21hbGxvYwotI2RlZmluZSBfX3JlYWxsb2Nfc2l6ZSh4 LCAuLi4pCV9fYWxsb2Nfc2l6ZV9fKHgsICMjIF9fVkFfQVJHU19fKQorI2lmZGVmIF9fYWxsb2Nf c2l6ZV9fCisjIGRlZmluZSBfX2FsbG9jX3NpemUoeCwgLi4uKQlfX2FsbG9jX3NpemVfXyh4LCAj IyBfX1ZBX0FSR1NfXykgX19tYWxsb2MKKyMgZGVmaW5lIF9fcmVhbGxvY19zaXplKHgsIC4uLikJ X19hbGxvY19zaXplX18oeCwgIyMgX19WQV9BUkdTX18pCisjZWxzZQorIyBkZWZpbmUgX19hbGxv Y19zaXplKHgsIC4uLikJX19tYWxsb2MKKyMgZGVmaW5lIF9fcmVhbGxvY19zaXplKHgsIC4uLikK KyNlbmRpZgogCiAjaWZuZGVmIGFzbV92b2xhdGlsZV9nb3RvCiAjZGVmaW5lIGFzbV92b2xhdGls ZV9nb3RvKHguLi4pIGFzbSBnb3RvKHgpCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLXdpcmVkLWxhbiBtYWlsaW5nIGxpc3QKSW50ZWwtd2lyZWQt bGFuQG9zdW9zbC5vcmcKaHR0cHM6Ly9saXN0cy5vc3Vvc2wub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtd2lyZWQtbGFuCg==