From: bugzilla-daemon@bugzilla.kernel.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 194731] New: drm general protection fault in drm_atomic_init
Date: Tue, 28 Feb 2017 08:20:36 +0000 [thread overview]
Message-ID: <bug-194731-2300@https.bugzilla.kernel.org/> (raw)
https://bugzilla.kernel.org/show_bug.cgi?id=194731
Bug ID: 194731
Summary: drm general protection fault in drm_atomic_init
Product: Drivers
Version: 2.5
Kernel Version: 4.10.0
Hardware: x86-64
OS: Linux
Tree: Mainline
Status: NEW
Severity: high
Priority: P1
Component: Video(DRI - non Intel)
Assignee: drivers_video-dri@kernel-bugs.osdl.org
Reporter: janpieter.sollie@dommel.be
Regression: No
I modified the drm_atomic.c a bit to be more verbose. the drm_init calls a
general protection fault when allocating my second GPU(does it work this way?)
of the amdgpu module.
afterwards, the system is unable to allocate more kernel memory. init does not
even manage to reboot, I can not do sudo without segfault
dmesg:
[ 77.946291] [drm] Cannot find any crtc or sizes - going 1024x768
[ 77.946575] [drm] fb mappable at 0xC0CCB000
[ 77.946576] [drm] vram apper at 0xC0000000
[ 77.946577] [drm] size 786432
[ 77.946578] [drm] fb depth is 24
[ 77.946578] [drm] pitch is 1024
[ 77.950389] kcalloc called
[ 77.950390] kcalloc2 called
[ 77.950433] kcalloc called
[ 77.950444] general protection fault: 0000 [#1] SMP
[ 77.950445] Modules linked in: amdkfd amdgpu(O+) amdttm(O) amdkcl(O)
ipt_MASQUERADE nf_nat_masquerade_ipv4 xt_nat iptable_nat nf_nat_ipv4 nf_nat
l2tp_ppp l2tp_netlink l2tp_core ip6_udp_tunnel udp_tunnel pppoe pppox
ppp_generic slhc deflate cmac af_key w83627ehf hwmon_vid k10temp fam15h_power
i2c_piix4 pcspkr
[ 77.950462] CPU: 16 PID: 5094 Comm: kworker/16:2 Tainted: G O
4.10.0-rc8 #12
[ 77.950463] Hardware name: Supermicro H8DG6/H8DGi/H8DG6/H8DGi, BIOS 2.0a
01/09/2012
[ 77.950470] Workqueue: events work_for_cpu_fn
[ 77.950471] task: ffff88183c027000 task.stack: ffffc90020cfc000
[ 77.950476] RIP: 0010:__kmalloc+0x6f/0x100
[ 77.950477] RSP: 0018:ffffc90020cff6b0 EFLAGS: 00010286
[ 77.950478] RAX: 0000000000000000 RBX: ffff8818362628ff RCX:
0000000000000897
[ 77.950479] RDX: 0000000000000896 RSI: 0000000000000000 RDI:
0000000000019b70
[ 77.950479] RBP: ffffc90020cff6d0 R08: ffff88183fc19b70 R09:
ffffffff81417df1
[ 77.950480] R10: 0000000000000300 R11: 0000000000000000 R12:
ff88183626296000
[ 77.950481] R13: ffff88083f803a00 R14: 00000000014080c0 R15:
ffff88183602b238
[ 77.950483] FS: 0000000000000000(0000) GS:ffff88183fc00000(0000)
knlGS:0000000000000000
[ 77.950484] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 77.950485] CR2: 00005590d5ce93d8 CR3: 0000000001c11000 CR4:
00000000000406e0
[ 77.950485] Call Trace:
[ 77.950492] drm_atomic_state_init+0x81/0xf0
[ 77.950494] drm_atomic_state_alloc+0x53/0x80
[ 77.950497] drm_fb_helper_pan_display+0xf4/0x2a0
[ 77.950501] fb_pan_display+0xd6/0x170
[ 77.950502] bit_update_start+0x24/0x60
[ 77.950504] fbcon_switch+0x3e2/0x670
[ 77.950507] redraw_screen+0x15d/0x220
[ 77.950510] ? tty_do_resize+0x4d/0xa0
[ 77.950512] vc_do_resize+0x4c3/0x4f0
[ 77.950513] vc_resize+0x1a/0x20
[ 77.950515] fbcon_init+0x40b/0x660
[ 77.950516] visual_init+0xce/0x130
[ 77.950517] do_bind_con_driver+0x1c1/0x3a0
[ 77.950519] do_take_over_console+0x113/0x180
[ 77.950520] do_fbcon_takeover+0x51/0xb0
[ 77.950522] fbcon_event_notify+0x75a/0x880
[ 77.950525] notifier_call_chain+0x44/0x70
[ 77.950526] __blocking_notifier_call_chain+0x4e/0x80
[ 77.950528] blocking_notifier_call_chain+0x11/0x20
[ 77.950529] fb_notifier_call_chain+0x16/0x20
[ 77.950531] register_framebuffer+0x200/0x340
[ 77.950533] drm_fb_helper_initial_config+0x201/0x390
piece of code that prints the "kcalloc(2) called":
drm_atomic_state_init(struct drm_device *dev, struct drm_atomic_state *state)
{
kref_init(&(state->ref));
/* TODO legacy paths should maybe do a better job about
* setting this appropriately?
*/
state->allow_modeset = true;
state->crtcs = kcalloc(dev->mode_config.num_crtc, sizeof(struct
__drm_crtcs_state), GFP_KERNEL);
printk("kcalloc called \n");
if (!(state->crtcs))
goto fail;
state->planes = kcalloc(dev->mode_config.num_total_plane,
sizeof(struct __drm_planes_state), GFP_KERNEL);
printk("kcalloc2 called \n");
if (!(state->planes))
goto fail;
state->dev = dev;
DRM_DEBUG_ATOMIC("Allocated atomic state %p\n", state);
return 0;
fail:
printk("fail called \n");
drm_atomic_state_default_release(state);
return -ENOMEM;
}
EXPORT_SYMBOL(drm_atomic_state_init);
--
You are receiving this mail because:
You are watching the assignee of the bug.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2017-02-28 8:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-28 8:20 bugzilla-daemon [this message]
2017-02-28 9:26 ` [Bug 194731] drm general protection fault in drm_atomic_init bugzilla-daemon
2017-02-28 9:33 ` bugzilla-daemon
2017-02-28 9:41 ` bugzilla-daemon
2017-02-28 9:42 ` bugzilla-daemon
2017-02-28 10:10 ` bugzilla-daemon
2017-03-01 1:07 ` bugzilla-daemon
2017-03-01 5:00 ` bugzilla-daemon
2017-03-07 8:10 ` bugzilla-daemon
2020-01-09 11:13 ` bugzilla-daemon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-194731-2300@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@bugzilla.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).