From nobody@FreeBSD.org  Wed Mar  8 19:44:27 2006
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 76B1316A420
	for <freebsd-gnats-submit@FreeBSD.org>; Wed,  8 Mar 2006 19:44:27 +0000 (GMT)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [216.136.204.117])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 4640643D46
	for <freebsd-gnats-submit@FreeBSD.org>; Wed,  8 Mar 2006 19:44:27 +0000 (GMT)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k28JiRrv006674
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 8 Mar 2006 19:44:27 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.13.1/8.13.1/Submit) id k28JiQGr006673;
	Wed, 8 Mar 2006 19:44:27 GMT
	(envelope-from nobody)
Message-Id: <200603081944.k28JiQGr006673@www.freebsd.org>
Date: Wed, 8 Mar 2006 19:44:27 GMT
From: Tim Kuik <tkuik@cisco.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: 32 bit overflow prevents proper setting of base in tc_cpu_ticks()
X-Send-Pr-Version: www-2.3

>Number:         94238
>Category:       kern
>Synopsis:       32 bit overflow prevents proper setting of base in tc_cpu_ticks()
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 08 19:50:09 GMT 2006
>Closed-Date:    Thu Mar 09 00:26:11 GMT 2006
>Last-Modified:  Thu Mar 09 00:26:11 GMT 2006
>Originator:     Tim Kuik
>Release:        current
>Organization:
Cisco
>Environment:
FreeBSD tkuik-freebsd.cisco 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Mon Mar  6 12:49:57 CST 2006     root@tkuik-freebsd.cisco:/usr/obj/usr/src/sys/GENERIC  i386

>Description:
in kern_tc.c: tc_cpu_ticks(), the line
base += tc->tc_counter_mask + 1;
will cause a 32 bit overflow if the tc_counter_mask is 0xffffffff, resulting in base not being incremented.
>How-To-Repeat:
As long as the mask is set to 0xffffffff, it will always happen.
>Fix:
Change the line to:
base += (uint64_t)(tc->tc_counter_mask) + 1;
>Release-Note:
>Audit-Trail:

From: "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To: Tim Kuik <tkuik@cisco.com>
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: kern/94238: 32 bit overflow prevents proper setting of base in tc_cpu_ticks() 
Date: Wed, 08 Mar 2006 20:56:30 +0100

 Already done.
 
 In message <200603081944.k28JiQGr006673@www.freebsd.org>, Tim Kuik writes:
 >
 >>Number:         94238
 >>Category:       kern
 >>Synopsis:       32 bit overflow prevents proper setting of base in tc_cpu_ticks()
 >>Confidential:   no
 >>Severity:       serious
 >>Priority:       low
 >>Responsible:    freebsd-bugs
 >>State:          open
 >>Quarter:        
 >>Keywords:       
 >>Date-Required:
 >>Class:          sw-bug
 >>Submitter-Id:   current-users
 >>Arrival-Date:   Wed Mar 08 19:50:09 GMT 2006
 >>Closed-Date:
 >>Last-Modified:
 >>Originator:     Tim Kuik
 >>Release:        current
 >>Organization:
 >Cisco
 >>Environment:
 >FreeBSD tkuik-freebsd.cisco 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Mon Mar  6 12:49:57 CST 2006     root@tkuik-freebsd.cisco:/usr/obj/usr/src/sys/GENERIC  i386
 >
 >>Description:
 >in kern_tc.c: tc_cpu_ticks(), the line
 >base += tc->tc_counter_mask + 1;
 >will cause a 32 bit overflow if the tc_counter_mask is 0xffffffff, resulting in base not being incremented.
 >>How-To-Repeat:
 >As long as the mask is set to 0xffffffff, it will always happen.
 >>Fix:
 >Change the line to:
 >base += (uint64_t)(tc->tc_counter_mask) + 1;
 >>Release-Note:
 >>Audit-Trail:
 >>Unformatted:
 >_______________________________________________
 >freebsd-bugs@freebsd.org mailing list
 >http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
 >To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"
 >
 
 -- 
 Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
 phk@FreeBSD.ORG         | TCP/IP since RFC 956
 FreeBSD committer       | BSD since 4.3-tahoe    
 Never attribute to malice what can adequately be explained by incompetence.
State-Changed-From-To: open->closed 
State-Changed-By: linimon 
State-Changed-When: Thu Mar 9 00:25:51 UTC 2006 
State-Changed-Why:  
phk claims that this has already been committed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=94238 
>Unformatted:
