Page MenuHomeFreeBSD

ipmi: remove timeout from the ipmi_driver_request method
ClosedPublic

Authored by glebius on Oct 18 2024, 5:34 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Nov 23, 4:00 AM
Unknown Object (File)
Fri, Nov 15, 2:59 PM
Unknown Object (File)
Sun, Nov 10, 12:16 AM
Unknown Object (File)
Oct 26 2024, 10:48 AM
Unknown Object (File)
Oct 25 2024, 5:30 PM
Unknown Object (File)
Oct 25 2024, 5:27 PM
Unknown Object (File)
Oct 25 2024, 3:31 PM
Unknown Object (File)
Oct 23 2024, 3:17 AM
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.Oct 18 2024, 7:06 PM