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)
Sun, Jul 5, 9:09 AM
Unknown Object (File)
Sat, Jul 4, 4:36 AM
Unknown Object (File)
Fri, Jul 3, 11:13 PM
Unknown Object (File)
Fri, Jul 3, 9:55 PM
Unknown Object (File)
Wed, Jul 1, 4:15 AM
Unknown Object (File)
Fri, Jun 19, 1:57 AM
Unknown Object (File)
May 15 2026, 5:35 AM
Unknown Object (File)
May 14 2026, 5:39 PM
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