Bug 888275

Summary: snmpd should be careful about dlmod'ed modules when reloading configuration
Product: Red Hat Enterprise Linux 6 Reporter: Jan Safranek <jsafrane>
Component: net-snmpAssignee: Jan Safranek <jsafrane>
Status: CLOSED NOTABUG QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.4CC: jpokorny
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 888271 Environment:
Last Closed: 2013-04-08 11:58:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 888271    
Bug Blocks:    

Description Jan Safranek 2012-12-18 12:33:32 UTC
+++ This bug was initially created as a clone of Bug #888271 +++

Investigation of [bug 847289] showed snmpd is not careful about dynamic
modules when it comes to reloading the configuration (such as upon
receiving SIGHUP).

Dynamic modules seems to be loaded anew, which may corrupt previous
instances, avoid a proper cleanup actions and the like.
As per Jan Safranek, there is a room for improvement and less
error-prone behavior.

--- Additional comment from Jan Safranek on 2012-12-18 07:32:15 EST ---

snmpd should not call init_<modulename> when the module is already loaded.

This implies that snmpd never reloads modules and the only way to update a module is to restart snmpd.

Comment 1 Jan Pokorný [poki] 2012-12-18 15:25:41 UTC
Sorry for the noise, I came to the conclusion the current behavior is
OK and the limitation + solution are known [1].

Unless there is another issue with the current state, I would prefer
it as a status quo (maybe a sanity check at other dynamic modules we
provide should be performed -- generally, unregister registered MIBs
and registered alarms in deinit_<module> function).

[1] http://www.net-snmp.org/wiki/index.php/TUT:Writing_a_Dynamically_Loadable_Object#Initialization