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
F106143877: D24858.diff
Thu, Dec 26, 3:08 AM
Unknown Object (File)
Mon, Dec 23, 10:16 PM
Unknown Object (File)
Tue, Dec 10, 3:47 PM
Unknown Object (File)
Nov 3 2024, 11:31 PM
Unknown Object (File)
Sep 27 2024, 12:45 PM
Unknown Object (File)
Sep 20 2024, 1:52 PM
Unknown Object (File)
Sep 20 2024, 1:52 PM
Unknown Object (File)
Sep 20 2024, 1:52 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