root/usr/src/tools/smatch/src/validation/sm_locking4.c
void _spin_lock(int name);
void _spin_unlock(int name);

void frob(void){}
int a;
int b;
void func (void)
{
        int mylock = 1;
        int mylock2 = 2;

        if (1)
                _spin_unlock(mylock);
        frob();
        if (a)
                return;
        if (!0)
                _spin_lock(mylock);
        if (0)
                _spin_unlock(mylock);
        if (b)
                return;
        if (!1)
                _spin_lock(mylock);
}
/*
 * check-name: Smatch locking #4
 * check-command: smatch --project=kernel sm_locking4.c
 *
 * check-output-start
sm_locking4.c:23 func() warn: inconsistent returns 'mylock'.
  Locked on  : 22-23
  Unlocked on: 16
 * check-output-end
 */