* [Bug 58087] [-next] nouveau corrupts kernel mm allocator
[not found] ` <bug-58087-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
@ 2012-12-10 20:29 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2012-12-12 21:14 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2012-12-10 20:29 UTC (permalink / raw)
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
[-- Attachment #1.1: Type: text/plain, Size: 324 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=58087
--- Comment #1 from Marcin Slusarz <marcin.slusarz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ---
Created attachment 71290
--> https://bugs.freedesktop.org/attachment.cgi?id=71290&action=edit
fix
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1245 bytes --]
[-- Attachment #2: Type: text/plain, Size: 181 bytes --]
_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau
^ permalink raw reply [flat|nested] 7+ messages in thread* [Bug 58087] [-next] nouveau corrupts kernel mm allocator
[not found] ` <bug-58087-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
2012-12-10 20:29 ` [Bug 58087] " bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
@ 2012-12-12 21:14 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2012-12-12 22:03 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2012-12-12 21:14 UTC (permalink / raw)
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
[-- Attachment #1.1: Type: text/plain, Size: 1930 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=58087
--- Comment #2 from Peter Hurley <peter-WaGBZJeGNqdsbIuE7sb01tBPR1lH4CV8@public.gmane.org> ---
(In reply to comment #1)
> Created attachment 71290 [details] [review]
> fix
- vm = *pvm = kzalloc(sizeof(*vm), GFP_KERNEL);
+ vm = kzalloc(sizeof(*vm), GFP_KERNEL);
How/why *not* setting cli->base.vm to NULL fixes this?
Also, this assignment idiom is common in the nouveau driver code. Is the above
fix just one of many necessary?
core/subdev/vm/base.c: vm = *pvm = kzalloc(sizeof(*vm), GFP_KERNEL);
core/core/object.c: object = *pobject = kzalloc(size, GFP_KERNEL);
core/core/ramht.c: co = ho = nouveau_ramht_hash(ramht, chid, handle);
core/core/handle.c: handle = *phandle = kzalloc(sizeof(*handle),
GFP_KERNEL);
nouveau_abi16.c: cli->abi16 = abi16 = kzalloc(sizeof(*abi16),
GFP_KERNEL);
nouveau_bo.c: struct nouveau_channel *chan = chan = drm->channel; /*
COMMENT: THIS ONE IS INTERESTING */
nouveau_chan.c: chan = *pchan = kzalloc(sizeof(*chan), GFP_KERNEL);
nouveau_display.c: disp = drm->display = kzalloc(sizeof(*disp), GFP_KERNEL);
nouveau_pm.c: pm = drm->pm = kzalloc(sizeof(*pm), GFP_KERNEL);
nv04_fence.c: priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL);
nv10_fence.c: fctx = chan->fence = kzalloc(sizeof(*fctx), GFP_KERNEL);
nv10_fence.c: priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL);
nv50_fence.c: fctx = chan->fence = kzalloc(sizeof(*fctx), GFP_KERNEL);
nv50_fence.c: priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL);
nv84_fence.c: fctx = chan->fence = kzalloc(sizeof(*fctx), GFP_KERNEL);
nv84_fence.c: priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL);
nvc0_fence.c: fctx = chan->fence = kzalloc(sizeof(*fctx), GFP_KERNEL);
nvc0_fence.c: priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL);
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 3024 bytes --]
[-- Attachment #2: Type: text/plain, Size: 181 bytes --]
_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau
^ permalink raw reply [flat|nested] 7+ messages in thread* [Bug 58087] [-next] nouveau corrupts kernel mm allocator
[not found] ` <bug-58087-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
2012-12-10 20:29 ` [Bug 58087] " bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2012-12-12 21:14 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
@ 2012-12-12 22:03 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2012-12-12 22:51 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2012-12-12 22:03 UTC (permalink / raw)
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
[-- Attachment #1.1: Type: text/plain, Size: 560 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=58087
--- Comment #3 from Marcin Slusarz <marcin.slusarz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ---
It's not a problem with vm allocation. The next one (vm->pgt) fails, so we free
vm, leaving *pvm pointing at freed memory. When we get to nouveau_drm_open, we
call nouveau_cli_destroy(cli), which tries to free cli->base.vm again. Oops.
I already checked other places and some of them also have this bug. I'll post
fixes in a few days.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1306 bytes --]
[-- Attachment #2: Type: text/plain, Size: 181 bytes --]
_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau
^ permalink raw reply [flat|nested] 7+ messages in thread* [Bug 58087] [-next] nouveau corrupts kernel mm allocator
[not found] ` <bug-58087-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
` (2 preceding siblings ...)
2012-12-12 22:03 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
@ 2012-12-12 22:51 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-01-05 0:52 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-02-02 22:55 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2012-12-12 22:51 UTC (permalink / raw)
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
[-- Attachment #1.1: Type: text/plain, Size: 779 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=58087
--- Comment #4 from Peter Hurley <peter-WaGBZJeGNqdsbIuE7sb01tBPR1lH4CV8@public.gmane.org> ---
(In reply to comment #3)
> It's not a problem with vm allocation. The next one (vm->pgt) fails, so we
> free vm, leaving *pvm pointing at freed memory. When we get to
> nouveau_drm_open, we call nouveau_cli_destroy(cli), which tries to free
> cli->base.vm again. Oops.
Thanks for the explanation. That makes sense to me now.
FYI, I did also file a bug in the kernel bugzilla for the memory allocation
failure itself (kernel bug 51301 here
https://bugzilla.kernel.org/show_bug.cgi?id=51301). A 32k allocation on a 10gb
machine shouldn't really ever fail.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1860 bytes --]
[-- Attachment #2: Type: text/plain, Size: 181 bytes --]
_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau
^ permalink raw reply [flat|nested] 7+ messages in thread* [Bug 58087] [-next] nouveau corrupts kernel mm allocator
[not found] ` <bug-58087-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
` (3 preceding siblings ...)
2012-12-12 22:51 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
@ 2013-01-05 0:52 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
2013-02-02 22:55 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2013-01-05 0:52 UTC (permalink / raw)
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
[-- Attachment #1.1: Type: text/plain, Size: 490 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=58087
Emil Velikov <emil.l.velikov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://bugs.freedesktop.or
| |g/show_bug.cgi?id=58984
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1104 bytes --]
[-- Attachment #2: Type: text/plain, Size: 181 bytes --]
_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau
^ permalink raw reply [flat|nested] 7+ messages in thread* [Bug 58087] [-next] nouveau corrupts kernel mm allocator
[not found] ` <bug-58087-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
` (4 preceding siblings ...)
2013-01-05 0:52 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
@ 2013-02-02 22:55 ` bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ
5 siblings, 0 replies; 7+ messages in thread
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ @ 2013-02-02 22:55 UTC (permalink / raw)
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
[-- Attachment #1.1: Type: text/plain, Size: 570 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=58087
Marcin Slusarz <marcin.slusarz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #5 from Marcin Slusarz <marcin.slusarz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> ---
Fixed in 3.8-rc2.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1970 bytes --]
[-- Attachment #2: Type: text/plain, Size: 181 bytes --]
_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau
^ permalink raw reply [flat|nested] 7+ messages in thread