svn commit: r209247 - head/sys/kern
Andriy Gapon
avg at FreeBSD.org
Thu Jun 17 10:15:14 UTC 2010
Author: avg
Date: Thu Jun 17 10:15:13 2010
New Revision: 209247
URL: http://svn.freebsd.org/changeset/base/209247
Log:
lock_profile_release_lock: do not compare unsigned with zero
Found by: Coverity Prevent
CID: 3660
Reviewed by: jhb
MFC after: 2 weeks
Modified:
head/sys/kern/subr_lock.c
Modified: head/sys/kern/subr_lock.c
==============================================================================
--- head/sys/kern/subr_lock.c Thu Jun 17 09:43:07 2010 (r209246)
+++ head/sys/kern/subr_lock.c Thu Jun 17 10:15:13 2010 (r209247)
@@ -598,7 +598,7 @@ lock_profile_release_lock(struct lock_ob
struct lock_profile_object *l;
struct lock_prof_type *type;
struct lock_prof *lp;
- u_int64_t holdtime;
+ u_int64_t curtime, holdtime;
struct lpohead *head;
int spin;
@@ -626,9 +626,11 @@ lock_profile_release_lock(struct lock_ob
lp = lock_profile_lookup(lo, spin, l->lpo_file, l->lpo_line);
if (lp == NULL)
goto release;
- holdtime = nanoseconds() - l->lpo_acqtime;
- if (holdtime < 0)
+ curtime = nanoseconds();
+ if (curtime < l->lpo_acqtime)
goto release;
+ holdtime = curtime - l->lpo_acqtime;
+
/*
* Record if the lock has been held longer now than ever
* before.
More information about the svn-src-all
mailing list