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)
Wed, Oct 7, 1:02 AM
Unknown Object (File)
Tue, Oct 6, 11:29 AM
Unknown Object (File)
Sat, Sep 26, 1:09 AM
Unknown Object (File)
Sat, Sep 26, 1:07 AM
Unknown Object (File)
Fri, Sep 25, 11:45 PM
Unknown Object (File)
Fri, Sep 25, 9:09 PM
Unknown Object (File)
Fri, Sep 25, 4:55 PM
Unknown Object (File)
Sat, Sep 19, 2:48 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