From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from out02.mta.xmission.com ([166.70.13.232]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1d8FPE-0004XL-IB for kexec@lists.infradead.org; Wed, 10 May 2017 00:23:06 +0000 From: ebiederm@xmission.com (Eric W. Biederman) References: <20170509230639.GA132135@beast> <1494371625.7678.3.camel@gmail.com> Date: Tue, 09 May 2017 19:15:43 -0500 In-Reply-To: (Kees Cook's message of "Tue, 9 May 2017 16:22:01 -0700") Message-ID: <87wp9psh1s.fsf@xmission.com> MIME-Version: 1.0 Subject: Re: [PATCH] kexec_file: Adjust type of kexec_purgatory List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Kees Cook Cc: Daniel Micay , Kexec Mailing List , LKML S2VlcyBDb29rIDxrZWVzY29va0BjaHJvbWl1bS5vcmc+IHdyaXRlczoKCj4gT24gVHVlLCBNYXkg OSwgMjAxNyBhdCA0OjEzIFBNLCBEYW5pZWwgTWljYXkgPGRhbmllbG1pY2F5QGdtYWlsLmNvbT4g d3JvdGU6Cj4+IE9uIFR1ZSwgMjAxNy0wNS0wOSBhdCAxNjowNiAtMDcwMCwgS2VlcyBDb29rIHdy b3RlOgo+Pj4gRGVmaW5pbmcga2V4ZWNfcHVyZ2F0b3J5IGFzIGEgemVyby1sZW5ndGggY2hhciBh cnJheSB1cHNldHMgY29tcGlsZQo+Pj4gdGltZSBzaXplIGNoZWNraW5nLiBTaW5jZSB0aGlzIGlz IGVudGlyZWx5IHJ1bnRpbWUgc2l6ZWQsIHN3aXRjaAo+Pj4gdGhpcyB0byB2b2lkICouIFRoaXMg c2lsZW5jZXMgdGhlIHdhcm5pbmcgZ2VuZXJhdGVkIGJ5IHRoZSBmdXR1cmUKPj4+IENPTkZJR19G T1JUSUZZX1NPVVJDRSwgd2hpY2ggZGlkIG5vdCBsaWtlIHRoZSBtZW1jbXAoKSBvZiBhICIwIGJ5 dGUiCj4+PiBhcnJheS4KPj4+Cj4+PiBDYzogRGFuaWVsIE1pY2F5IDxkYW5pZWxtaWNheUBnbWFp bC5jb20+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9taXVtLm9y Zz4KPj4+IC0tLQo+Pj4gIGtlcm5lbC9rZXhlY19maWxlLmMgfCAyICstCj4+PiAgMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBh L2tlcm5lbC9rZXhlY19maWxlLmMgYi9rZXJuZWwva2V4ZWNfZmlsZS5jCj4+PiBpbmRleCBiMTE4 NzM1ZmVhOWQuLmJjODZmODVmMTMyOSAxMDA2NDQKPj4+IC0tLSBhL2tlcm5lbC9rZXhlY19maWxl LmMKPj4+ICsrKyBiL2tlcm5lbC9rZXhlY19maWxlLmMKPj4+IEBAIC0zMCw3ICszMCw3IEBACj4+ PiAgICogRGVjbGFyZSB0aGVzZSBzeW1ib2xzIHdlYWsgc28gdGhhdCBpZiBhcmNoaXRlY3R1cmUg cHJvdmlkZXMgYQo+Pj4gcHVyZ2F0b3J5LAo+Pj4gICAqIHRoZXNlIHdpbGwgYmUgb3ZlcnJpZGRl bi4KPj4+ICAgKi8KPj4+IC1jaGFyIF9fd2VhayBrZXhlY19wdXJnYXRvcnlbMF07Cj4+PiArdm9p ZCAqIF9fd2VhayBrZXhlY19wdXJnYXRvcnk7Cj4+PiAgc2l6ZV90IF9fd2VhayBrZXhlY19wdXJn YXRvcnlfc2l6ZSA9IDA7Cj4+Pgo+Pj4gIHN0YXRpYyBpbnQga2V4ZWNfY2FsY3VsYXRlX3N0b3Jl X2RpZ2VzdHMoc3RydWN0IGtpbWFnZSAqaW1hZ2UpOwo+Pj4gLS0KPj4+IDIuNy40Cj4+Cj4+IEl0 IHNlZW1zIG1vcmUgY29ycmVjdCB0byB1c2UgY2hhciBgY2hhciBfX3dlYWsga2V4ZWNfcHVyZ2F0 b3J5W11gLAo+PiBvdGhlcndpc2UgaXNuJ3QgX19idWlsdGluX29iamVjdF9zaXplIGVuZGluZyB1 cCBhcyA4LCB3aGljaCBpcyBzdGlsbAo+PiB3cm9uZz8KPgo+IEkgdHJpZWQgW10sIHRoYXQgd2Fz IG15IGluc3RpbmN0LCB0b28sIGJ1dCBzaW5jZSB0aGlzIGlzIGEgX193ZWFrIGFuZAo+IG5vdCBh biBleHRlcm4sIHRoYXQgZG9lc24ndCB3b3JrOgo+Cj4ga2VybmVsL2tleGVjX2ZpbGUuYzozMzox Mzogd2FybmluZzogYXJyYXkg4oCYa2V4ZWNfcHVyZ2F0b3J54oCZIGFzc3VtZWQgdG8KPiBoYXZl IG9uZSBlbGVtZW50Cj4gIGNoYXIgX193ZWFrIGtleGVjX3B1cmdhdG9yeVtdOwo+ICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn4KCk5vciBkb2VzICJ2b2lkICprZXhlY19wdXJnYXRvcnkiIGFz IHRoYXQgc2F5cyBhdCB0aGUgYWRkcmVzcyBrbm93biBhcwprZXhlY19wdXJnYXRvcnkgaXMgYSB2 b2lkIHBvaW50ZXIgbm90IGEgYmxvYiBhIGJ5dGVzIHRoYXQgY2FuIGJlIHVzZWQKZm9yIHNvbWV0 aGluZyBpbnRlcmVzdGluZy4KCkJldHRlciB0byBnZXQgcmlkIG9mIHRoZSBfX3dlYWsgYW5kIGRl YWwgd2l0aCB0aGF0IGZhbGxvdXQuCgpFcmljCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18Ka2V4ZWMgbWFpbGluZyBsaXN0CmtleGVjQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXhl Ywo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751110AbdEJAWS convert rfc822-to-8bit (ORCPT ); Tue, 9 May 2017 20:22:18 -0400 Received: from out02.mta.xmission.com ([166.70.13.232]:56455 "EHLO out02.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750951AbdEJAWQ (ORCPT ); Tue, 9 May 2017 20:22:16 -0400 From: ebiederm@xmission.com (Eric W. Biederman) To: Kees Cook Cc: Daniel Micay , LKML , Kexec Mailing List References: <20170509230639.GA132135@beast> <1494371625.7678.3.camel@gmail.com> Date: Tue, 09 May 2017 19:15:43 -0500 In-Reply-To: (Kees Cook's message of "Tue, 9 May 2017 16:22:01 -0700") Message-ID: <87wp9psh1s.fsf@xmission.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT X-XM-SPF: eid=1d8FOG-0004Gx-5C;;;mid=<87wp9psh1s.fsf@xmission.com>;;;hst=in02.mta.xmission.com;;;ip=97.121.81.159;;;frm=ebiederm@xmission.com;;;spf=neutral X-XM-AID: U2FsdGVkX1/dtdWYijDUA16ixSAbZc4YyP5iCLSTbdM= X-SA-Exim-Connect-IP: 97.121.81.159 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.0 TVD_RCVD_IP Message was received from an IP address * 0.0 T_TM2_M_HEADER_IN_MSG BODY: No description available. * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.4921] * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa02 1397; Body=1 Fuz1=1 Fuz2=1] X-Spam-DCC: XMission; sa02 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ;Kees Cook X-Spam-Relay-Country: X-Spam-Timing: total 5320 ms - load_scoreonly_sql: 0.06 (0.0%), signal_user_changed: 3.3 (0.1%), b_tie_ro: 2.3 (0.0%), parse: 1.29 (0.0%), extract_message_metadata: 26 (0.5%), get_uri_detail_list: 2.9 (0.1%), tests_pri_-1000: 9 (0.2%), tests_pri_-950: 2.2 (0.0%), tests_pri_-900: 1.76 (0.0%), tests_pri_-400: 29 (0.6%), check_bayes: 27 (0.5%), b_tokenize: 10 (0.2%), b_tok_get_all: 7 (0.1%), b_comp_prob: 4.2 (0.1%), b_tok_touch_all: 2.9 (0.1%), b_finish: 0.78 (0.0%), tests_pri_0: 367 (6.9%), check_dkim_signature: 0.99 (0.0%), check_dkim_adsp: 5 (0.1%), tests_pri_500: 4874 (91.6%), poll_dns_idle: 4866 (91.5%), rewrite_mail: 0.00 (0.0%) Subject: Re: [PATCH] kexec_file: Adjust type of kexec_purgatory X-Spam-Flag: No X-SA-Exim-Version: 4.2.1 (built Thu, 05 May 2016 13:38:54 -0600) X-SA-Exim-Scanned: Yes (on in02.mta.xmission.com) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Kees Cook writes: > On Tue, May 9, 2017 at 4:13 PM, Daniel Micay wrote: >> On Tue, 2017-05-09 at 16:06 -0700, Kees Cook wrote: >>> Defining kexec_purgatory as a zero-length char array upsets compile >>> time size checking. Since this is entirely runtime sized, switch >>> this to void *. This silences the warning generated by the future >>> CONFIG_FORTIFY_SOURCE, which did not like the memcmp() of a "0 byte" >>> array. >>> >>> Cc: Daniel Micay >>> Signed-off-by: Kees Cook >>> --- >>> kernel/kexec_file.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c >>> index b118735fea9d..bc86f85f1329 100644 >>> --- a/kernel/kexec_file.c >>> +++ b/kernel/kexec_file.c >>> @@ -30,7 +30,7 @@ >>> * Declare these symbols weak so that if architecture provides a >>> purgatory, >>> * these will be overridden. >>> */ >>> -char __weak kexec_purgatory[0]; >>> +void * __weak kexec_purgatory; >>> size_t __weak kexec_purgatory_size = 0; >>> >>> static int kexec_calculate_store_digests(struct kimage *image); >>> -- >>> 2.7.4 >> >> It seems more correct to use char `char __weak kexec_purgatory[]`, >> otherwise isn't __builtin_object_size ending up as 8, which is still >> wrong? > > I tried [], that was my instinct, too, but since this is a __weak and > not an extern, that doesn't work: > > kernel/kexec_file.c:33:13: warning: array ‘kexec_purgatory’ assumed to > have one element > char __weak kexec_purgatory[]; > ^~~~~~~~~~~~~~~ Nor does "void *kexec_purgatory" as that says at the address known as kexec_purgatory is a void pointer not a blob a bytes that can be used for something interesting. Better to get rid of the __weak and deal with that fallout. Eric