Page MenuHomeFreeBSD

fix setting net.isr.dispatch during early boot
ClosedPublic

Authored by kaktus on May 16 2020, 10:00 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Aug 3, 3:48 PM
Unknown Object (File)
Sun, Aug 2, 4:15 AM
Unknown Object (File)
Sun, Aug 2, 4:05 AM
Unknown Object (File)
Sat, Aug 1, 7:36 AM
Unknown Object (File)
Tue, Jul 28, 4:52 AM
Unknown Object (File)
Fri, Jul 24, 8:02 PM
Unknown Object (File)
Sun, Jul 19, 1:20 PM
Unknown Object (File)
Sat, Jul 18, 4:59 AM
Subscribers

Details

Summary

Fix another collateral damage of rS357614: netisr is initialised way before malloc is available hence it can't use sysctl_handle_string that allocates temporary buffer. Handle that internally in sysctl_netisr_dispatch_policy().

Reported by: delphij
PR: 246114

Test Plan

echo 'net.isr.dispatch="hybrid"' >> /boot/loader.conf && reboot

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/net/netisr.c
361 ↗(On Diff #71850)

Why >= ? Should it be > (althought it probably does not matter practically) ?

363 ↗(On Diff #71850)

No need for {} for single-statement then block.

kib added inline comments.
sys/net/netisr.c
361 ↗(On Diff #71850)

I see, you do tmp[len] = 0, which breaks for len == MAXSTR, ignore this question.

This revision is now accepted and ready to land.May 16 2020, 3:18 PM