UBSAN warning in r100: shift exponent 255 is too large for 32-bit type 'int'

Meelis Roos mroos at linux.ee
Fri Apr 22 19:53:26 UTC 2016


I turned on UBSAN on most of my test machines and one of the warnings it 
gives comes from r100. This in 4.6-rc4, on 32-bit P4.

[    8.829702] [drm] radeon kernel modesetting enabled.
[    8.832094] [drm] initializing kernel modesetting (RV100 0x1002:0x5159 0x2023:0x148C).
[    8.832279] [drm] register mmio base: 0xFF8F0000
[    8.832415] [drm] register mmio size: 65536
[    8.833002] agpgart-intel 0000:00:00.0: AGP 2.0 bridge
[    8.833151] agpgart-intel 0000:00:00.0: putting AGP V2 device into 4x mode
[    8.833308] radeon 0000:01:00.0: putting AGP V2 device into 4x mode
[    8.833493] radeon 0000:01:00.0: GTT: 256M 0xE0000000 - 0xEFFFFFFF
[    8.833646] radeon 0000:01:00.0: VRAM: 128M 0x00000000D0000000 - 0x00000000D7FFFFFF (32M used)
[    8.833879] [drm] Detected VRAM RAM=128M, BAR=128M
[    8.834009] [drm] RAM width 64bits DDR
[    8.834900] [TTM] Zone  kernel: Available graphics memory: 447748 kiB
[    8.835048] [TTM] Initializing pool allocator
[    8.835243] [drm] radeon: 32M of VRAM memory ready
[    8.835392] [drm] radeon: 256M of GTT memory ready.
[    8.856768] radeon 0000:01:00.0: WB disabled
[    8.856929] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x00000000e0000000 and cpu addr 0xf87a6000
[    8.857184] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    8.857316] [drm] Driver supports precise vblank timestamp query.
[    8.857492] [drm] radeon: irq initialized.
[    8.857624] [drm] Loading R100 Microcode
[    8.912500] [drm] radeon: ring at 0x00000000E0001000
[    8.912682] [drm] ring test succeeded in 1 usecs
[    8.913066] [drm] ib test succeeded in 0 usecs
[    8.914805] [drm] No TV DAC info found in BIOS
[    8.915175] [drm] Radeon Display Connectors
[    8.915308] [drm] Connector 0:
[    8.915438] [drm]   VGA-1
[    8.915566] [drm]   DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
[    8.915697] [drm]   Encoders:
[    8.915825] [drm]     CRT1: INTERNAL_DAC1
[    8.915956] [drm] Connector 1:
[    8.916120] [drm]   DVI-I-1
[    8.916248] [drm]   HPD1
[    8.916376] [drm]   DDC: 0x64 0x64 0x64 0x64 0x64 0x64 0x64 0x64
[    8.916506] [drm]   Encoders:
[    8.916633] [drm]     CRT2: INTERNAL_DAC2
[    8.916762] [drm]     DFP1: INTERNAL_TMDS1
[    8.916891] [drm] Connector 2:
[    8.917019] [drm]   SVIDEO-1
[    8.917148] [drm]   Encoders:
[    8.917276] [drm]     TV1: INTERNAL_DAC2
[    8.917423] ================================================================================
[    8.917559] UBSAN: Undefined behaviour in drivers/gpu/drm/radeon/r100.c:595:15
[    8.917694] shift exponent 255 is too large for 32-bit type 'int'
[    8.917830] CPU: 0 PID: 222 Comm: systemd-udevd Not tainted 4.6.0-rc4-00124-g5f44abd #127
[    8.917964] Hardware name: MicroLink                               /D850MV                         , BIOS MV85010A.86A.0067.P24.0304081124 04/08/2003
[    8.918190]  00000000 c12243f0 f8e2a6e4 c12249cc f8e2a6b4 00000001 00000202 00353532
[    8.918644]  00000237 00000246 00000246 00000006 00000000 00010246 0000001c 00000006
[    8.919098]  c17f6842 00000031 c10749c7 00000000 00000000 00000246 00000002 f4a02800
[    8.919552] Call Trace:
[    8.919694]  [<c12243f0>] ? ubsan_epilogue+0x8/0x23
[    8.919831]  [<c12249cc>] ? __ubsan_handle_shift_out_of_bounds+0xd5/0xdd
[    8.919970]  [<c10749c7>] ? vprintk_emit+0x37a/0x390
[    8.920103]  [<f8d17a90>] ? r100_hpd_init+0x72/0xb7 [radeon]
[    8.920103]  [<f8d0c019>] ? radeon_modeset_init+0x753/0xe7b [radeon]
[    8.920103]  [<f8ce1441>] ? radeon_driver_load_kms+0xd8/0x196 [radeon]
[    8.920103]  [<f8a02eee>] ? drm_dev_register+0x75/0xad [drm]
[    8.920103]  [<f8a058f1>] ? drm_get_pci_dev+0x11d/0x23e [drm]
[    8.920103]  [<c12305b5>] ? pci_device_probe+0x9f/0xee
[    8.920103]  [<c12bf8cf>] ? driver_probe_device+0x149/0x271
[    8.920103]  [<c12bfa7d>] ? __driver_attach+0x86/0xa1
[    8.920103]  [<c12bdbf3>] ? bus_for_each_dev+0x47/0x5a
[    8.920103]  [<c12bf14a>] ? driver_attach+0x24/0x27
[    8.920103]  [<c12bf9f7>] ? driver_probe_device+0x271/0x271
[    8.920103]  [<c12bee64>] ? bus_add_driver+0xed/0x1db
[    8.920103]  [<f8933000>] ? 0xf8933000
[    8.920103]  [<c12c0356>] ? driver_register+0x9a/0xcb
[    8.920103]  [<c10004c9>] ? do_one_initcall+0x159/0x1d9
[    8.920103]  [<c10b24b8>] ? __free_one_page+0x1a1/0x369
[    8.920103]  [<c10e4ced>] ? kernel_poison_pages+0x10/0xc4
[    8.920103]  [<c10b1d72>] ? free_pages_prepare+0x1f7/0x21c
[    8.920103]  [<c10e8169>] ? kmem_cache_alloc+0xa2/0xd6
[    8.920103]  [<c10abacb>] ? do_init_module+0x17/0x21a
[    8.920103]  [<c10abb2a>] ? do_init_module+0x76/0x21a
[    8.920103]  [<c109756d>] ? load_module+0x1b28/0x206a
[    8.920103]  [<c1097bd0>] ? SyS_finit_module+0x71/0x79
[    8.920103]  [<c10016af>] ? do_fast_syscall_32+0xd9/0x111
[    8.920103]  [<c13eb6d7>] ? sysenter_past_esp+0x40/0x6a
[    8.920103] ================================================================================
[    8.973156] radeon 0000:01:00.0: No connectors reported connected with modes
[    8.973319] [drm] Cannot find any crtc or sizes - going 1024x768
[    8.978947] [drm] fb mappable at 0xD0040000
[    8.979078] [drm] vram apper at 0xD0000000
[    8.979208] [drm] size 786432
[    8.979335] [drm] fb depth is 8
[    8.979462] [drm]    pitch is 1024
[    8.979895] fbcon: radeondrmfb (fb0) is primary device
[    8.988343] Console: switching to colour frame buffer device 128x48
[    8.998095] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[    8.998181] [drm] Initialized radeon 2.43.0 20080528 for 0000:01:00.0 on minor 0

-- 
Meelis Roos (mroos at linux.ee)


More information about the dri-devel mailing list