From: bugzilla-daemon@bugzilla.kernel.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 194579] AMDGPU: Possible size overflow detected by PaX in ttm_bo_handle_move_mem (drivers/gpu/drm/ttm/ttm_bo.c:388)
Date: Tue, 14 Feb 2017 22:19:51 +0000 [thread overview]
Message-ID: <bug-194579-2300-7XIiqDiONv@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-194579-2300@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=194579
--- Comment #6 from PaX Team (pageexec@freemail.hu) ---
```
(In reply to Christian König from comment #4)
> Now back to topic, what code base is this? Could you post the branch
> you are using somewhere?
it's vanilla 4.9.9 + grsecurity (we don't change the amdgpu code except for
some function pointer correctness issues).
> In the upstream kernel the line at ttm_bo.c:388 is just an assignment
> and can't cause any overflow.
yet it does ;). here's the code in context, just to make sure we're talking
about the same thing:
387 if (bo->mem.mm_node) {
388 bo->offset = (bo->mem.start << PAGE_SHIFT) +
389 bdev->man[bo->mem.mem_type].gpu_offset;
390 bo->cur_placement = bo->mem.placement;
as you can see from the printk log, bo->mem.start was LONG_MAX (probably via
AMDGPU_BO_INVALID_OFFSET) and shifting it left triggered our size overflow
instrumentation. my guess is that AMDGPU_BO_INVALID_OFFSET isn't supposed to
be used in offset calculations and thus there's some higher level logic bug
here where the mem.start field should have been initialized by the time we
got here. some casual code browsing points at amdgpu_ttm_placement_init that
probably initializes the ttm_placement structures for amdgpu but for some of
them it doesn't set any of fpfn/lpfn/TTM_PL_FLAG_TOPDOWN which is what would
trigger the initialization of mem.start in amdgpu_gtt_mgr_new.
```
--
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 prev parent reply other threads:[~2017-02-14 22:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-13 17:06 [Bug 194579] New: AMDGPU: Possible size overflow detected by PaX in ttm_bo_handle_move_mem (drivers/gpu/drm/ttm/ttm_bo.c:388) bugzilla-daemon
2017-02-13 17:10 ` [Bug 194579] " bugzilla-daemon
2017-02-14 7:42 ` bugzilla-daemon
2017-02-14 9:52 ` bugzilla-daemon
2017-02-14 9:55 ` bugzilla-daemon
2017-02-14 15:07 ` bugzilla-daemon
2017-02-14 22:19 ` bugzilla-daemon [this message]
2017-02-16 23:18 ` bugzilla-daemon
2017-02-17 10:05 ` bugzilla-daemon
2017-02-18 0:21 ` bugzilla-daemon
2017-02-21 9:24 ` bugzilla-daemon
2017-02-21 9:52 ` bugzilla-daemon
2017-02-21 13:19 ` 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-194579-2300-7XIiqDiONv@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.