[Bug 238168] kern/kern_conf.c: two 'if' statements with identical conditional expressions

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon May 27 09:29:41 UTC 2019


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

            Bug ID: 238168
           Summary: kern/kern_conf.c: two 'if' statements with identical
                    conditional expressions
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs at FreeBSD.org
          Reporter: danfe at FreeBSD.org

PVS Studio reports: /usr/src/sys/kern/kern_conf.c:627:1: warning: V649 There
are two 'if' statements with identical conditional expressions. The first 'if'
statement contains function return. This means that the second 'if' statement
is senseless. Check lines: 616, 627.

>        if (devsw->d_flags & D_INIT)
>                return (0);
         if (devsw->d_flags & D_NEEDGIANT) {
                 dev_unlock();
                 dsw2 = malloc(sizeof *dsw2, M_DEVT,
                      (flags & MAKEDEV_NOWAIT) ? M_NOWAIT : M_WAITOK);
                 dev_lock();
                 if (dsw2 == NULL && !(devsw->d_flags & D_INIT))
                         return (ENOMEM);
         } else
                 dsw2 = NULL;
>        if (devsw->d_flags & D_INIT) {
>                if (dsw2 != NULL)
>                        cdevsw_free_devlocked(dsw2);
>                return (0);
         }

This code appeared in base r177301.

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


More information about the freebsd-bugs mailing list