Re: [PATCH] ipmi_si: Fix crash when using hard-coded device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 26, 2019 at 11:10:04AM -0500, minyard@xxxxxxx wrote:
From: Corey Minyard <cminyard@xxxxxxxxxx>

Backport from 41b766d661bf94a364960862cfc248a78313dbd3

When excuting a command like:
 modprobe ipmi_si ports=0xffc0e3 type=bt
The system would get an oops.

The trouble here is that ipmi_si_hardcode_find_bmc() is called before
ipmi_si_platform_init(), but initialization of the hard-coded device
creates an IPMI platform device, which won't be initialized yet.

The real trouble is that hard-coded devices aren't created with
any device, and the fixup is done later.  So do it right, create the
hard-coded devices as normal platform devices.

This required adding some new resource types to the IPMI platform
code for passing information required by the hard-coded device
and adding some code to remove the hard-coded platform devices
on module removal.

To enforce the "hard-coded devices passed by the user take priority
over firmware devices" rule, some special code was added to check
and see if a hard-coded device already exists.

The backport required some minor fixups and adding the device
id table that had been added in another change and was used
in this one.

Reported-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx # v4.15+
Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx>
Tested-by: Yang Yingliang <yangyingliang@xxxxxxxxxx>
---

This backport is for 4.19, the backport from the main tree
failed.  Passes basic tests.

Queued for 4.19, thank you.

--
Thanks,
Sasha



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux