From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zheng, Lv" Subject: RE: [PATCH] ACPICA: use designated initializers Date: Thu, 30 Mar 2017 02:12:29 +0000 Message-ID: <1AE640813FDE7649BE1B193DEA596E886CE6BD95@SHSMSX101.ccr.corp.intel.com> References: <20161217010425.GA140581@beast> <1AE640813FDE7649BE1B193DEA596E886CDFF348@SHSMSX101.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com ([192.55.52.115]:57721 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752113AbdC3CMf (ORCPT ); Wed, 29 Mar 2017 22:12:35 -0400 In-Reply-To: Content-Language: en-US Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Kees Cook Cc: "linux-kernel@vger.kernel.org" , "Moore, Robert" , "Wysocki, Rafael J" , Len Brown , "linux-acpi@vger.kernel.org" , "devel@acpica.org" SGksDQoNCj4gRnJvbToga2Vlc2Nvb2tAZ29vZ2xlLmNvbSBbbWFpbHRvOmtlZXNjb29rQGdvb2ds ZS5jb21dIE9uIEJlaGFsZiBPZiBLZWVzIENvb2sNCj4gU3ViamVjdDogUmU6IFtQQVRDSF0gQUNQ SUNBOiB1c2UgZGVzaWduYXRlZCBpbml0aWFsaXplcnMNCj4gDQo+IE9uIFN1biwgRGVjIDE4LCAy MDE2IGF0IDEwOjA2IFBNLCBaaGVuZywgTHYgPGx2LnpoZW5nQGludGVsLmNvbT4gd3JvdGU6DQo+ ID4gSGksDQo+ID4NCj4gPj4gRnJvbTogS2VlcyBDb29rIFttYWlsdG86a2Vlc2Nvb2tAY2hyb21p dW0ub3JnXQ0KPiA+PiBTdWJqZWN0OiBbUEFUQ0hdIEFDUElDQTogdXNlIGRlc2lnbmF0ZWQgaW5p dGlhbGl6ZXJzDQo+ID4+DQo+ID4+IFByZXBhcmUgdG8gbWFyayBzZW5zaXRpdmUga2VybmVsIHN0 cnVjdHVyZXMgZm9yIHJhbmRvbWl6YXRpb24gYnkgbWFraW5nDQo+ID4+IHN1cmUgdGhleSdyZSB1 c2luZyBkZXNpZ25hdGVkIGluaXRpYWxpemVycy4gVGhlc2Ugd2VyZSBpZGVudGlmaWVkIGR1cmlu Zw0KPiA+PiBhbGx5ZXNjb25maWcgYnVpbGRzIG9mIHg4NiwgYXJtLCBhbmQgYXJtNjQsIHdpdGgg bW9zdCBpbml0aWFsaXplciBmaXhlcw0KPiA+PiBleHRyYWN0ZWQgZnJvbSBncnNlY3VyaXR5Lg0K PiA+DQo+ID4gVGhpcyBjb21taXQgaXMgbm90IHN1aXRhYmxlIGZvciBBQ1BJQ0EgdXBzdHJlYW0u DQo+ID4gSXQncyBub3QgcG9ydGFibGUuIFBsZWFzZSBkcm9wLg0KPiANCj4gV2hhdCBjb21waWxl cnMgYXJlIGJ1aWxkaW5nIHRoaXMgdGhhdCBkbyBub3Qgc3VwcG9ydCBkZXNpZ25hdGVkDQo+IGlu aXRpYWxpemVycz8gQWxzbywgY291bGRuJ3QgdGhpcyBiZSBtYWRlIGludG8gYSBtYWNybyBzbyBp dCBjb3VsZCBiZQ0KPiBzdXBwb3J0ZWQgaW4gZWl0aGVyIGNhc2U/DQoNCkl0J3MgTVNWQy4NCklu IEFDUElDQSB1cHN0cmVhbSwgaXQgc3VwcG9ydHMgSW50ZWwgY29tcGlsZXIsIEdDQyBhbmQgTVNW Qy4NCg0KPiANCj4gI2lmZGVmIF9fR05VQ19fDQo+ICMgZGVmaW5lIEFDUElfU0xFRVBfRlVOQ1RJ T05TKGxlZ2FjeSwgZXh0ZW5kZWQpIHsgXA0KPiAgICAgLmxlZ2FjeV9mdW5jdGlvbiA9IGxlZ2Fj eSwgXA0KPiAgICAgLmV4dGVuZGVkX2Z1bmN0aW9uID0gZXh0ZW5kZWQsIFwNCj4gfQ0KPiAjZWxz ZQ0KPiAjIGRlZmluZSBBQ1BJX1NMRUVQX0ZVTkNUSU9OUyhsZWdhY3ksIGV4dGVuZGVkKSB7IGxl Z2FjeSwgZXh0ZW5kZWQgfQ0KPiAjZW5kaWYNCj4gDQo+IC4uLg0KPiANCj4gIHN0YXRpYyBzdHJ1 Y3QgYWNwaV9zbGVlcF9mdW5jdGlvbnMgYWNwaV9zbGVlcF9kaXNwYXRjaFtdID0gew0KPiAgICAg ICAgIEFDUElfU0xFRVBfRlVOQ1RJT05TKA0KPiAgICAgICAgICAgICAgICBBQ1BJX0hXX09QVElP TkFMX0ZVTkNUSU9OKGFjcGlfaHdfbGVnYWN5X3NsZWVwKSwNCj4gICAgICAgICAgICAgICAgYWNw aV9od19leHRlbmRlZF9zbGVlcCksDQo+IC4uLg0KDQpUaGVyZSBhcmUgbWFueSBzdWNoIGNhc2Vz IGluIEFDUElDQSwgYW5kIEkgY291bGRuJ3Qgc2VlIHRoZSBiZW5lZml0IHRvIGludHJvZHVjZSBz dWNoIG1lY2hhbmlzbSB0byBzdWNoIGEgc29mdHdhcmUgd2hvc2UgcHVycG9zZXMgY29udGFpbiBw b3J0YWJpbGl0eS4NClVubGVzcyB5b3UgY2FuIGludmVudCBhIG1lY2hhbmlzbSB0aGF0IGNhbiBi ZSB1dGlsaXplZCBieSBhbGwgc3VjaCBjYXNlcy4NClRoZW4geW91IHNob3VsZCBwdXQgaXQgaW50 byBhY2djYy5oIGFuZCBpbXBsZW1lbnQgYSByZXBsYWNlYWJsZSBpbiBhY21zdmMuaC4NCkFmdGVy IHRoYXQsIHlvdSBzdXJlbHkgbmVlZCB0byBkbyBhIGNsZWFudXAgaW4gdGhlIGVudGlyZSBBQ1BJ Q0EgY29kZSBiYXNlIHVzaW5nIHRoaXMgbmV3IG1lY2hhbmlzbS4NCg0KVGhhbmtzDQpMdg0KDQo+ IA0KPiANCj4gLUtlZXMNCj4gDQo+ID4NCj4gPiBUaGFua3MNCj4gPiBMdg0KPiA+DQo+ID4+DQo+ ID4+IFNpZ25lZC1vZmYtYnk6IEtlZXMgQ29vayA8a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPg0KPiA+ PiAtLS0NCj4gPj4gIGRyaXZlcnMvYWNwaS9hY3BpY2EvaHd4ZnNsZWVwLmMgfCAxMSArKysrKyst LS0tLQ0KPiA+PiAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo LSkNCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNwaS9hY3BpY2EvaHd4ZnNsZWVw LmMgYi9kcml2ZXJzL2FjcGkvYWNwaWNhL2h3eGZzbGVlcC5jDQo+ID4+IGluZGV4IGY3NmUwZWFi MzJiOC4uMjVjZDVjNjZlMTAyIDEwMDY0NA0KPiA+PiAtLS0gYS9kcml2ZXJzL2FjcGkvYWNwaWNh L2h3eGZzbGVlcC5jDQo+ID4+ICsrKyBiL2RyaXZlcnMvYWNwaS9hY3BpY2EvaHd4ZnNsZWVwLmMN Cj4gPj4gQEAgLTcwLDExICs3MCwxMiBAQCBzdGF0aWMgYWNwaV9zdGF0dXMgYWNwaV9od19zbGVl cF9kaXNwYXRjaCh1OCBzbGVlcF9zdGF0ZSwgdTMyIGZ1bmN0aW9uX2lkKTsNCj4gPj4gIC8qIExl Z2FjeSBmdW5jdGlvbnMgYXJlIG9wdGlvbmFsLCBiYXNlZCB1cG9uIEFDUElfUkVEVUNFRF9IQVJE V0FSRSAqLw0KPiA+Pg0KPiA+PiAgc3RhdGljIHN0cnVjdCBhY3BpX3NsZWVwX2Z1bmN0aW9ucyBh Y3BpX3NsZWVwX2Rpc3BhdGNoW10gPSB7DQo+ID4+IC0gICAgIHtBQ1BJX0hXX09QVElPTkFMX0ZV TkNUSU9OKGFjcGlfaHdfbGVnYWN5X3NsZWVwKSwNCj4gPj4gLSAgICAgIGFjcGlfaHdfZXh0ZW5k ZWRfc2xlZXB9LA0KPiA+PiAtICAgICB7QUNQSV9IV19PUFRJT05BTF9GVU5DVElPTihhY3BpX2h3 X2xlZ2FjeV93YWtlX3ByZXApLA0KPiA+PiAtICAgICAgYWNwaV9od19leHRlbmRlZF93YWtlX3By ZXB9LA0KPiA+PiAtICAgICB7QUNQSV9IV19PUFRJT05BTF9GVU5DVElPTihhY3BpX2h3X2xlZ2Fj eV93YWtlKSwgYWNwaV9od19leHRlbmRlZF93YWtlfQ0KPiA+PiArICAgICB7IC5sZWdhY3lfZnVu Y3Rpb24gPSBBQ1BJX0hXX09QVElPTkFMX0ZVTkNUSU9OKGFjcGlfaHdfbGVnYWN5X3NsZWVwKSwN Cj4gPj4gKyAgICAgICAuZXh0ZW5kZWRfZnVuY3Rpb24gPSBhY3BpX2h3X2V4dGVuZGVkX3NsZWVw IH0sDQo+ID4+ICsgICAgIHsgLmxlZ2FjeV9mdW5jdGlvbiA9IEFDUElfSFdfT1BUSU9OQUxfRlVO Q1RJT04oYWNwaV9od19sZWdhY3lfd2FrZV9wcmVwKSwNCj4gPj4gKyAgICAgICAuZXh0ZW5kZWRf ZnVuY3Rpb24gPSBhY3BpX2h3X2V4dGVuZGVkX3dha2VfcHJlcCB9LA0KPiA+PiArICAgICB7IC5s ZWdhY3lfZnVuY3Rpb24gPSBBQ1BJX0hXX09QVElPTkFMX0ZVTkNUSU9OKGFjcGlfaHdfbGVnYWN5 X3dha2UpLA0KPiA+PiArICAgICAgIC5leHRlbmRlZF9mdW5jdGlvbiA9IGFjcGlfaHdfZXh0ZW5k ZWRfd2FrZSB9DQo+ID4+ICB9Ow0KPiA+Pg0KPiA+PiAgLyoNCj4gPj4gLS0NCj4gPj4gMi43LjQN Cj4gPj4NCj4gPj4NCj4gPj4gLS0NCj4gPj4gS2VlcyBDb29rDQo+ID4+IE5leHVzIFNlY3VyaXR5 DQo+IA0KPiANCj4gDQo+IC0tDQo+IEtlZXMgQ29vaw0KPiBQaXhlbCBTZWN1cml0eQ0K From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3791750700453258811==" MIME-Version: 1.0 From: Zheng, Lv Subject: Re: [Devel] [PATCH] ACPICA: use designated initializers Date: Thu, 30 Mar 2017 02:12:29 +0000 Message-ID: <1AE640813FDE7649BE1B193DEA596E886CE6BD95@SHSMSX101.ccr.corp.intel.com> In-Reply-To: CAGXu5jJk2+_r_72B=yqz9=s=S3VY6v8o7jis7e6YMhy2tSJgHw@mail.gmail.com List-ID: To: devel@acpica.org --===============3791750700453258811== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi, > From: keescook(a)google.com [mailto:keescook(a)google.com] On Behalf Of K= ees Cook > Subject: Re: [PATCH] ACPICA: use designated initializers > = > On Sun, Dec 18, 2016 at 10:06 PM, Zheng, Lv wrote: > > Hi, > > > >> From: Kees Cook [mailto:keescook(a)chromium.org] > >> Subject: [PATCH] ACPICA: use designated initializers > >> > >> Prepare to mark sensitive kernel structures for randomization by making > >> sure they're using designated initializers. These were identified duri= ng > >> allyesconfig builds of x86, arm, and arm64, with most initializer fixes > >> extracted from grsecurity. > > > > This commit is not suitable for ACPICA upstream. > > It's not portable. Please drop. > = > What compilers are building this that do not support designated > initializers? Also, couldn't this be made into a macro so it could be > supported in either case? It's MSVC. In ACPICA upstream, it supports Intel compiler, GCC and MSVC. > = > #ifdef __GNUC__ > # define ACPI_SLEEP_FUNCTIONS(legacy, extended) { \ > .legacy_function =3D legacy, \ > .extended_function =3D extended, \ > } > #else > # define ACPI_SLEEP_FUNCTIONS(legacy, extended) { legacy, extended } > #endif > = > ... > = > static struct acpi_sleep_functions acpi_sleep_dispatch[] =3D { > ACPI_SLEEP_FUNCTIONS( > ACPI_HW_OPTIONAL_FUNCTION(acpi_hw_legacy_sleep), > acpi_hw_extended_sleep), > ... There are many such cases in ACPICA, and I couldn't see the benefit to intr= oduce such mechanism to such a software whose purposes contain portability. Unless you can invent a mechanism that can be utilized by all such cases. Then you should put it into acgcc.h and implement a replaceable in acmsvc.h. After that, you surely need to do a cleanup in the entire ACPICA code base = using this new mechanism. Thanks Lv > = > = > -Kees > = > > > > Thanks > > Lv > > > >> > >> Signed-off-by: Kees Cook > >> --- > >> drivers/acpi/acpica/hwxfsleep.c | 11 ++++++----- > >> 1 file changed, 6 insertions(+), 5 deletions(-) > >> > >> diff --git a/drivers/acpi/acpica/hwxfsleep.c b/drivers/acpi/acpica/hwx= fsleep.c > >> index f76e0eab32b8..25cd5c66e102 100644 > >> --- a/drivers/acpi/acpica/hwxfsleep.c > >> +++ b/drivers/acpi/acpica/hwxfsleep.c > >> @@ -70,11 +70,12 @@ static acpi_status acpi_hw_sleep_dispatch(u8 sleep= _state, u32 function_id); > >> /* Legacy functions are optional, based upon ACPI_REDUCED_HARDWARE */ > >> > >> static struct acpi_sleep_functions acpi_sleep_dispatch[] =3D { > >> - {ACPI_HW_OPTIONAL_FUNCTION(acpi_hw_legacy_sleep), > >> - acpi_hw_extended_sleep}, > >> - {ACPI_HW_OPTIONAL_FUNCTION(acpi_hw_legacy_wake_prep), > >> - acpi_hw_extended_wake_prep}, > >> - {ACPI_HW_OPTIONAL_FUNCTION(acpi_hw_legacy_wake), acpi_hw_extende= d_wake} > >> + { .legacy_function =3D ACPI_HW_OPTIONAL_FUNCTION(acpi_hw_legacy_= sleep), > >> + .extended_function =3D acpi_hw_extended_sleep }, > >> + { .legacy_function =3D ACPI_HW_OPTIONAL_FUNCTION(acpi_hw_legacy_= wake_prep), > >> + .extended_function =3D acpi_hw_extended_wake_prep }, > >> + { .legacy_function =3D ACPI_HW_OPTIONAL_FUNCTION(acpi_hw_legacy_= wake), > >> + .extended_function =3D acpi_hw_extended_wake } > >> }; > >> > >> /* > >> -- > >> 2.7.4 > >> > >> > >> -- > >> Kees Cook > >> Nexus Security > = > = > = > -- > Kees Cook > Pixel Security --===============3791750700453258811==--