lkml.org 
[lkml]   [2018]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Regression in IPMI on 4.15.6
From
Date
On 03/05/2018 01:31 PM, Corey Minyard wrote:
> On 03/05/2018 01:07 PM, Laura Abbott wrote:
>> On 03/02/2018 05:46 AM, Corey Minyard wrote:
>>> On 02/28/2018 01:07 PM, Corey Minyard wrote:
>>>> On 02/28/2018 08:17 AM, Corey Minyard wrote:
>>>>> On 02/28/2018 07:53 AM, Corey Minyard wrote:
>>>>>> On 02/27/2018 05:55 PM, Laura Abbott wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> Fedora got a bug report of a crash in IPMI on 4.15.6
>>>>>>> https://bugzilla.redhat.com/show_bug.cgi?id=1549316
>>>>>>> Unfortunately, it's only a screenshot but it's fairly
>>>>>>> clear. It looks like a panic in the error handling path
>>>>>>> in platform_device_unregister. Any ideas?
>>>>>>>
>>>>>>
>>>>>
>>>>> You may also run into another issue.  You can pull the
>>>>> individual patch at
>>>>>
>>>>> https://github.com/cminyard/linux-ipmi.git
>>>>> c8a1972e77dbe321ce5ce0247056e727234cbaec
>>>>
>>>> Actually, it needed a few more tweaks.  Can you do change
>>>> 426fa6179dae677134dfb37b21d057819418515b
>>>> instead?  It's "ipmi: Fix some error cleanup issues"
>>>>
>>>> I can send you patches, if you like.  If you could test and get back
>>>> to me, that would be great.
>>>
>>> Laura, have you had a chance to test this?  I'd like to get it in soon,
>>> if possible.
>>>
>>> Thanks,
>>>
>>> -corey
>>>
>>
>> I think "ipmi: Re-use existing macros for built-in properties" is
>> broken:
>>
>
> That particular requires some new stuff.  I was just wanting you to
> pull that individual patch,
> not the whole branch.  I can just send the two patches, if you like.

Or, I just pulled in 4.15.6 and cherry picked those two patches to:

https://github.com/cminyard/linux-ipmi.git fix-pdev-unreg

Hopefully that makes things easier.

-corey

>
> -corey
>
>> In file included from ./include/linux/acpi.h:28:0,
>>                  from ./include/linux/ipmi.h:21,
>>                  from drivers/char/ipmi/ipmi_dmi.c:7:
>> drivers/char/ipmi/ipmi_dmi.c: In function ‘dmi_add_platform_ipmi’:
>> ./include/linux/property.h:236:1: error: expected expression before
>> ‘{’ token
>>  {       \
>>  ^
>> ./include/linux/property.h:244:2: note: in expansion of macro
>> ‘PROPERTY_ENTRY_INTEGER’
>>   PROPERTY_ENTRY_INTEGER(_name_, u8, _val_)
>>   ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/char/ipmi/ipmi_dmi.c:79:15: note: in expansion of macro
>> ‘PROPERTY_ENTRY_U8’
>>    p[pidx++] = PROPERTY_ENTRY_U8("ipmi-type", si_type);
>>                ^~~~~~~~~~~~~~~~~
>> ./include/linux/property.h:236:1: error: expected expression before
>> ‘{’ token
>>  {       \
>>  ^
>> ./include/linux/property.h:244:2: note: in expansion of macro
>> ‘PROPERTY_ENTRY_INTEGER’
>>   PROPERTY_ENTRY_INTEGER(_name_, u8, _val_)
>>   ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/char/ipmi/ipmi_dmi.c:81:14: note: in expansion of macro
>> ‘PROPERTY_ENTRY_U8’
>>   p[pidx++] = PROPERTY_ENTRY_U8("slave-addr", slave_addr);
>>               ^~~~~~~~~~~~~~~~~
>> ./include/linux/property.h:236:1: error: expected expression before
>> ‘{’ token
>>  {       \
>>  ^
>> ./include/linux/property.h:244:2: note: in expansion of macro
>> ‘PROPERTY_ENTRY_INTEGER’
>>   PROPERTY_ENTRY_INTEGER(_name_, u8, _val_)
>>   ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/char/ipmi/ipmi_dmi.c:82:14: note: in expansion of macro
>> ‘PROPERTY_ENTRY_U8’
>>   p[pidx++] = PROPERTY_ENTRY_U8("addr-source", SI_SMBIOS);
>>               ^~~~~~~~~~~~~~~~~
>> ./include/linux/property.h:236:1: error: expected expression before
>> ‘{’ token
>>  {       \
>>  ^
>> ./include/linux/property.h:246:2: note: in expansion of macro
>> ‘PROPERTY_ENTRY_INTEGER’
>>   PROPERTY_ENTRY_INTEGER(_name_, u16, _val_)
>>   ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/char/ipmi/ipmi_dmi.c:107:15: note: in expansion of macro
>> ‘PROPERTY_ENTRY_U16’
>>    p[pidx++] = PROPERTY_ENTRY_U16("i2c-addr", base_addr);
>>                ^~~~~~~~~~~~~~~~~~
>>
>> I don't think that macro is actually a replacement?
>>
>> Thanks,
>> Laura
>>
>>>>
>>>> BTW, the IPMI setup in your system is incorrect.  SMBIOS says it's
>>>> at a
>>>> memory address, but it's at an I/O address.  And the address given
>>>> doesn't appear to be a valid address, the value read doesn't appear
>>>> to be a valid value.
>>>>
>>>> -corey
>>>>
>>>>>
>>>>> for that fix.
>>>>>
>>>>> -corey
>>>>>
>>>>>> Yeah, this is fixed by 174134ac7602 "ipmi_si: Fix error
>>>>>> handling of platform device" in mainstream.
>>>>>>
>>>>>> I guess I need to request a backport of this.
>>>>>>
>>>>>> Thanks for reporting.
>>>>>>
>>>>>> -corey
>>>>>>
>>>>>>
>>>>>>> Thanks,
>>>>>>> Laura
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

\
 
 \ /
  Last update: 2018-03-05 20:40    [W:0.084 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site