[Bug 217924] dhclient: Fails to fork into the background with kern.trap_enotcap=1

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Mar 19 19:18:19 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217924

            Bug ID: 217924
           Summary: dhclient: Fails to fork into the background with
                    kern.trap_enotcap=1
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: tobik at freebsd.org

Created attachment 180966
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=180966&action=edit
dhclient.diff

With the sysctl kern.trap_enotcap=1, dhclient fails to fork into the
background and dies. truss excerpt:

4933: <new process>
4933: setsid()                                  = 4933 (0x1345)
4933: sigaction(SIGHUP,{ SIG_DFL 0x0 ss_t },0x0) = 0 (0x0)
4933: open("/dev/null",O_RDWR,00)               ERR#94 'Not permitted in
capability mode'
4933: SIGNAL 5 (SIGTRAP)

There is an older comment in dhclient.c that says that it is expected
that daemon(3) will fail to open /dev/null in a chroot.  The is doubly
true when in capability mode.  dhclient replicates the behavior of
daemon(3) in dup'ing /dev/null (with a previously opened fd) anyway,
so why isn't noclose set too?  This way the attempt to open /dev/null
again can be avoided.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list