Some sysctls are ignored on boot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
procps (Ubuntu) |
Won't Fix
|
Medium
|
Unassigned | ||
systemd (Ubuntu) |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
Binary package hint: procps
/etc/init.
Simply renaming the symlink from S17 to > S40 probably isn't a great solution, as there are probably folk who want and expect some sysctl's to be applied before filesystems are mounted and so on. However, simply ugnoring something as important as sysctl settings isn't really on. Administrators expect the settings in /etc/sysctl.conf to take effect.
One sto-gap solution would be to run sysctl -p twice; once at S17 and once at S41. There may still be some warnings and errors, but everything would be applied. A different, more complex approach might be to re-architect the sysctl configuration into something like;
/etc/
and have the userland module-loading binaries take care of applying them after modules are loaded. Though this may take care of explicitly loaded modules only, I'm not sure.
Incidentally, /etc/sysctl.conf still refers to /etc/networking
Changed in procps: | |
importance: | Untriaged → Low |
status: | Unconfirmed → Confirmed |
Changed in procps: | |
assignee: | nobody → yves.junqueira |
summary: |
- Some sysctl's are ignored on boot + Some sysctls are ignored on boot |
information type: | Public → Public Security |
information type: | Public Security → Public |
Changed in procps (Ubuntu): | |
status: | Confirmed → Triaged |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
status: | Triaged → Confirmed |
Hi.
After giving some thought on this, I don't think the complex approach you described would work. Entries in /proc/sys may not exist even if the module was loaded.
Take this case:
yv:~# lsmod|grep 1394 ohci1394
eth1394 18212 0
ohci1394 30800 0
ieee1394 86904 3 sbp2,eth1394,
yv:~# dmesg|grep 1394 e20047ff] Max Packet=[2048] IR/IT contexts=[4/8] 27c5c2]
ieee1394: Initialized config rom entry `ip1394'
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[209] MMIO=[e2004000-
ieee1394: Host added: ID:BUS[0-00:1023] GUID[000fea0000
eth1394: eth0: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
ieee1394: sbp2: Driver forced to serialize I/O (serialize_io=1)
ieee1394: sbp2: Try serialize_io=0 for better performance
yv:~# ls /proc/sys/ net/ipv4/ conf/
all default eth1 lo
Notice there is no "eth0" entry. So processing sysctl parameters after loading a module is not enough, at least for network related issues.
Can you describe cases when you believe processing some later sysctl directives are needed?
I believe that using post-up parameters for /etc/network/ interfaces is the current supported method. Maybe you could agree that this works for you? In that case, we should reject this bug, I guess.
Thank you