OpenSolaris

Printable Version Enter a New Search
Bug ID 6816881
Synopsis sysevent_bind_handle() includes uid==0 check
State 1-Dispatched (Default State)
Category:Subcategory kernel:sysevent
Keywords
Reported Against
Duplicate Of
Introduced In
Commit to Fix
Fixed In
Release Fixed
Related Bugs 4791900
Submit Date 12-March-2009
Last Update Date 12-March-2009
Description
In order to receive system events, a consumer must first call sysevent_bind_handle().
The first thing that function does, though, is

        if (getuid() != 0) {
                errno = EACCES;
                return (NULL);
        }

This appears to be a remnant from before solaris was privilege aware; it needs to be
updated.
Work Around
N/A
Comments
Given that sysevents has been deprecated in favor of general-purpose
event channels (e.g., sysevent_evc_bind()), it seems unlikely this
will be fixed.  However, the same issue also eists with event channels,
as covered by 4791900.
Will event producers, such as devfsadm, be updated to use event channels
as well?  If not, this bug remains important, as the current implementation
forces anyone who wishes to consume the EC_DEV_ADD and EC_DEV_REMOVE events
to be uid 0.