Corey Minyard <minyard@xxxxxxx> wrote:
This would prevent any IPMI interface from working if any address was givenOkay, reasonable point.
on the kernel command line. I'm not sure what the best policy is, but that
sounds like a possible DOS to me.
Can you put this check in hardcode_find_bmc()? Thats the only place whereI could do that. I presume you'd want hardcode_find_bmc() to return 1 in that
the hardcoded addresses are used, and a check there won't affect anything
else.
case without doing anything else. Another possibility is to give a warning
and then clear ports[], addrs[] and irqs[].
Also, the error message sounds a little vague to me. If I was a sysadminI don't think your suggested summary quite gets it right. A lot of drivers,
and got this, I wouldn't be sure what was going on. Maybe something like:
The kernel is locked down, but hard-coded device addresses were given on
the driver command line. Ignoring these, but this is a possible security
issue.
That's fairly wordy, but it gets the point across. You could also move the
pr_err() into kernel_is_locked_down() and pass in the prefix, since there is
basically the same pr_err() after every check.
sound drivers, for example, that aren't really critical can simply be
disabled - and some have to be disabled because there's no other way to
configure them.
It would have to be more like pr_err("Hard-coded device addresses, irqs and
dma channels are not permitted when the kernel is locked down."), possibly
with the addition of either "The driver has been disabled" or "These settings
have been ignored".