On 02/01/2016 03:25 AM, Jean Delvare wrote:
> Hi Corey,
>
> I won't comment on the IPMI side of this as this isn't my area. However
> I have a comment on the DMI part:
>
> Le Friday 29 January 2016 à 16:43 -0600, [email protected] a écrit :
>> From: Corey Minyard <[email protected]>
>>
>> This is so that an IPMI platform device can be created from a
>> DMI firmware entry.
>>
>> Signed-off-by: Corey Minyard <[email protected]>
>> Cc: Jean Delvare <[email protected]>
>> Cc: Andy Lutomirski <[email protected]>
>> ---
>>   drivers/firmware/dmi_scan.c | 34 ++++++++++++++++++++++++----------
>>   include/linux/dmi.h         | 24 ++++++++++++++++++++++++
>>   include/linux/fwnode.h      |  1 +
>>   3 files changed, 49 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
>> index da471b2..13d9bca 100644
>> --- a/drivers/firmware/dmi_scan.c
>> +++ b/drivers/firmware/dmi_scan.c
>> @@ -41,6 +41,16 @@ static struct dmi_memdev_info {
>>   } *dmi_memdev;
>>   static int dmi_memdev_nr;
>>   
>> +static void *dmi_zalloc(unsigned len)
>> +{
>> +    void *ret = dmi_alloc(len);
>> +
>> +    if (ret)
>> +            memset(ret, 0, len);
>> +
>> +    return ret;
>> +}
>> +
>>   static const char * __init dmi_string_nosave(const struct dmi_header *dm, 
>> u8 s)
>>   {
>>      const u8 *bp = ((u8 *) dm) + dm->length;
>> @@ -242,6 +252,12 @@ static void __init dmi_save_type(const struct 
>> dmi_header *dm, int slot,
>> (...)
>> @@ -250,15 +266,14 @@ static void __init dmi_save_one_device(int type, const 
>> char *name)
>>      if (dmi_find_device(type, name, NULL))
>>              return;
>>   
>> -    dev = dmi_alloc(sizeof(*dev) + strlen(name) + 1);
>> +    dev = dmi_zalloc(sizeof(*dev) + strlen(name) + 1);
>>      if (!dev)
>>              return;
>>   
>>      dev->type = type;
>>      strcpy((char *)(dev + 1), name);
>>      dev->name = (char *)(dev + 1);
>> -    dev->device_data = NULL;
> This change seems rather unrelated, and I'm not sure what purpose it
> serves. On ia64 and arm64 it is clearly redundant as dmi_alloc calls
> kzalloc directly. On x86_64, extend_brk is called instead (don't ask me
> why, I have no clue) but looking at the code I see that it does
> memset(ret, 0, size) as well so memory is also zeroed there. Which makes
> dmi_alloc the same as dmi_zalloc on all 3 architectures.
>
> So please revert this change. This will make your patch easier to
> review, too.
>
Ok.  I had assumed extend_break wasn't zeroing since there were all the 
NULL assignments,
I should have looked.

I was thinking about this, and the fwnode could just be added to the 
IPMI device.  I'm not
sure if you would prefer that over adding it to dmi_device.  The fwnode 
is in acpi_device,
and I was modelling these changes after that, but maybe that's not 
required here.

Thanks,

-corey


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to