kern/94238: 32 bit overflow prevents proper setting of base in
tc_cpu_ticks()
Poul-Henning Kamp
phk at phk.freebsd.dk
Wed Mar 8 12:00:27 PST 2006
The following reply was made to PR kern/94238; it has been noted by GNATS.
From: "Poul-Henning Kamp" <phk at phk.freebsd.dk>
To: Tim Kuik <tkuik at cisco.com>
Cc: freebsd-gnats-submit at 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 at 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 at 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 at freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
>To unsubscribe, send any mail to "freebsd-bugs-unsubscribe at freebsd.org"
>
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at 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.
More information about the freebsd-bugs
mailing list