Page MenuHomeFreeBSD

ipmi: remove timeout from the ipmi_driver_request method
ClosedPublic

Authored by glebius on Fri, Oct 18, 5:34 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Oct 23, 3:17 AM
Unknown Object (File)
Fri, Oct 18, 7:31 PM
Subscribers

Details

Summary

Driver requests are done with stack allocated request. The request is
put on the tailq and then we msleep(9) until kernel process processes it.
If we timeout from this sleep, the kernel process may still read the
request from our stack, which may already be reused by some other code.

Make this sleep unbound and rely on the kernel process that does all its
I/O with timouts and will eventually wake us up.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhb added inline comments.
sys/dev/ipmi/ipmi_kcs.c
497

I think msleep can't fail without a timeout in this case (PCATCH is not set in prio), but this is ok for now.

This revision is now accepted and ready to land.Fri, Oct 18, 7:06 PM