OpenSolaris

Printable Version Enter a New Search
Bug ID 6616610
Synopsis cpu_info_kstat_create does not allow sufficient space for x86 platform data
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:pm
Keywords
Responsible Engineer Mark Haywood
Reported Against
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_77
Fixed In snv_77
Release Fixed solaris_nevada(snv_77) , solaris_10u5(s10u5_04) (Bug ID:2154459)
Related Bugs
Submit Date 13-October-2007
Last Update Date 8-November-2007
Description
With debug kernel

panic[cpu0]/thread=ffffff014e0e9c00: 
assertion failed: dst <= ((char *)buf + ksp->ks_data_size), file: ../../common/o
s/kstat_fr.c, line: 750

> $c
vpanic()
assfail+0x7e(fffffffffb928918, fffffffffb928a90, 2ee)
default_kstat_snapshot+0x1f8(ffffff014c5e3330, ffffff0152bd87c0, 0)
read_kstat_data+0x192(ffffff0004487e8c, 8153a88, 100001)
kstat_ioctl+0x4a(5a00000000, 4b02, 8153a88, 100001, ffffff015770ab78, 
ffffff0004487e8c)
cdev_ioctl+0x48(5a00000000, 4b02, 8153a88, 100001, ffffff015770ab78, 
ffffff0004487e8c)
spec_ioctl+0x86(ffffff0152996300, 4b02, 8153a88, 100001, ffffff015770ab78, 
ffffff0004487e8c)
fop_ioctl+0x6e(ffffff0152996300, 4b02, 8153a88, 100001, ffffff015770ab78, 
ffffff0004487e8c)
ioctl+0x16b(3, 4b02, 8153a88)
_sys_sysenter_post_swapgs+0x23c()
> ffffff014c5e3330::print -at kstat_t
{
    ffffff014c5e3330 hrtime_t ks_crtime = 0x71567b179
    ffffff014c5e3338 struct kstat *ks_next = 0
    ffffff014c5e3340 kid_t ks_kid = 0x179
    ffffff014c5e3344 char [31] ks_module = [ "cpu_info" ]
    ffffff014c5e3363 uchar_t ks_resv = 0
    ffffff014c5e3364 int ks_instance = 0
    ffffff014c5e3368 char [31] ks_name = [ "cpu_info0" ]
    ffffff014c5e3387 uchar_t ks_type = 0x1
    ffffff014c5e3388 char [31] ks_class = [ "misc" ]
    ffffff014c5e33a7 uchar_t ks_flags = 0x1
    ffffff014c5e33a8 void *ks_data = cpu_info_template
    ffffff014c5e33b0 uint_t ks_ndata = 0x12
    ffffff014c5e33b8 size_t ks_data_size = 0x435
    ffffff014c5e33c0 hrtime_t ks_snaptime = 0xf593d1ff7
    ffffff014c5e33c8 int (*)() ks_update = cpu_info_kstat_update
    ffffff014c5e33d0 void *ks_private = cpus
    ffffff014c5e33d8 int (*)() ks_snapshot = default_kstat_snapshot
    ffffff014c5e33e0 void *ks_lock = cpu_info_template_lock
}

the end of the buffer is as follows
ffffff0152bd8b20:  78383620 28636869 70696420 30783020  x86 (chipid 0x0 
ffffff0152bd8b30:  47656e75 696e6549 6e74656c 20364636  GenuineIntel 6F6
ffffff0152bd8b40:  2066616d 696c7920 36206d6f 64656c20   family 6 model 
ffffff0152bd8b50:  31352073 74657020 3620636c 6f636b20  15 step 6 clock 
ffffff0152bd8b60:  32333333 204d487a 2900496e 74656c28  2333 MHz).Intel(
ffffff0152bd8b70:  72292043 6f726528 746d2932 20435055  r) Core(tm)2 CPU
ffffff0152bd8b80:  20202020 20202020 20543736 30302020           T7600  
ffffff0152bd8b90:  4020322e 33334748 7a003130 30303030  @ 2.33GHz.100000
ffffff0152bd8ba0:  30303030 3a313333 33303030 3030303a  0000:1333000000:
ffffff0152bd8bb0:  31353030 30303030 30303a31 36363730  1500000000:16670
ffffff0152bd8bc0:  30303030 303a3138 33333030 30303030  00000:1833000000
ffffff0152bd8bd0:  3a323030 30303030 3030303a 32313637  :2000000000:2167
ffffff0152bd8be0:  30303030 30303a32 33333330 30303030  000000:233300000
ffffff0152bd8bf0:  30004765 6e75696e 65496e74 656c00ba  0.GenuineIntel..
Work Around
For x86, disabling Enhanced SpeedStep in BIOS setup will most likely solve the
problem.
Comments
N/A