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)
Fri, Jan 24, 6:19 PM
Unknown Object (File)
Wed, Jan 22, 5:22 PM
Unknown Object (File)
Sat, Jan 18, 5:22 PM
Unknown Object (File)
Mon, Jan 13, 9:25 PM
Unknown Object (File)
Dec 26 2024, 3:38 PM
Unknown Object (File)
Dec 26 2024, 3:08 AM
Unknown Object (File)
Dec 23 2024, 10:16 PM
Unknown Object (File)
Dec 10 2024, 3:47 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