devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Terje Bergström" <tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Erik Faye-Lund
	<kusmabite-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
	<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v2 08/27] drm/tegra: gr2d: Miscellaneous cleanups
Date: Mon, 7 Oct 2013 15:13:39 +0200	[thread overview]
Message-ID: <20131007131332.GA3795@ulmo.nvidia.com> (raw)
In-Reply-To: <5252AE8C.9090609-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2614 bytes --]

On Mon, Oct 07, 2013 at 03:52:28PM +0300, Terje Bergström wrote:
> On 07.10.2013 15:14, Thierry Reding wrote:
> > * PGP Signed by an unknown key
> > 
> > On Mon, Oct 07, 2013 at 01:34:44PM +0200, Erik Faye-Lund wrote:
> >> On Mon, Oct 7, 2013 at 10:34 AM, Thierry Reding
> >> <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> >>> Rework the address table code for the host1x firewall. The previous
> >>> implementation allocated a bitfield but didn't check for a valid pointer
> >>> so it could potentially crash.
> >>
> >> I don't think it could crash. The bitmaps was allocated as a 256-bit
> >> field, and the register offset gets AND'ed with 0xFF before being
> >> looked up. What am I missing?
> > 
> > The pointer returned from the allocation is never checked, so it could
> > theoretically be NULL and be used regardless.
> > 
> > Also I'm not sure that AND'ing with 0xff is the right thing to do here.
> 
> Oops, there's a check for NULL missing. If that allocation fails, probe
> should fail, so we just need to propagate the error condition. Otherwise
> we might just leave the firewall off, and let everything go in unchecked.

Yes, definitely.

> AND 0xff is necessary, because the same registers are mirrored in
> multiple contexts. AND removes the offset coming from context, and
> leaves just the plain register offset.

That looks like something which should go into a comment.

> > I'm not so sure. Caching should alleviate the issue with the increased
> > amount of data. Then there's the fact that previously we needed to
> > divide and compute the remainder of the division for the BIT_MASK and
> > BIT_WORD operations.
> 
> Don't these get compiled into shifts and bitwise ands?

Yes, they are.

> > One other added benefit of this approach is that the address registers
> > are stored in a const array and therefore could reside in a read-only
> > memory region. With the previous approach, once somebody had access to
> > the bitmap, it could easily be overwritten with zeros and effectively
> > make the firewall useless. I'm not sure how likely that would be, but it
> > could be done.
> 
> If somebody gets access to the bitmap, he has access to kernel data
> structures. GR2D firewall is the least of our worries in this case.

I see the point. Oh well, all my arguments are torn down. I'll drop this
patch. Or at least the part that rewrites the gr2d_is_addr() and make it
check for failed allocations properly.

For what it's worth, I still think the plain table lookup is much easier
to understand.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2013-10-07 13:13 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-07  8:34 [PATCH v2 00/27] drm/tegra: Repatriation and DSI support Thierry Reding
     [not found] ` <1381134884-5816-1-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-07  8:34   ` [PATCH v2 01/27] drm/tegra: Remove unused fields Thierry Reding
2013-10-07  8:34   ` [PATCH v2 02/27] drm/tegra: Cleanup tegra_dc structure Thierry Reding
2013-10-07  8:34   ` [PATCH v2 03/27] drm/tegra: Rename host1x_drm structure to tegra_drm Thierry Reding
2013-10-07  8:34   ` [PATCH v2 04/27] drm/tegra: Rename host1x_drm_file to tegra_drm_file Thierry Reding
2013-10-07  8:34   ` [PATCH v2 05/27] drm/tegra: Rename host1x_drm_context to tegra_drm_context Thierry Reding
2013-10-07  8:34   ` [PATCH v2 06/27] gpu: host1x: Cleanup includes Thierry Reding
     [not found]     ` <1381134884-5816-7-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08  5:59       ` Terje Bergström
     [not found]         ` <52539F5E.1060005-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08  9:45           ` Thierry Reding
2013-10-07  8:34   ` [PATCH v2 07/27] gpu: host1x: Do not discard .remove() Thierry Reding
2013-10-07  8:34   ` [PATCH v2 08/27] drm/tegra: gr2d: Miscellaneous cleanups Thierry Reding
     [not found]     ` <1381134884-5816-9-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-07 11:34       ` Erik Faye-Lund
     [not found]         ` <CABPQNSbkS40_jyGz14s08+x3e+-pxnfy90V7pzAOfiqUF2ma2g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-07 12:14           ` Thierry Reding
     [not found]             ` <20131007121452.GA8324-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-07 12:52               ` Terje Bergström
     [not found]                 ` <5252AE8C.9090609-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-07 13:05                   ` Erik Faye-Lund
     [not found]                     ` <CABPQNSa59hBU__yjQMZsdEghpSwH1ayJYiD6HrBrhABicgzxuA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-08  5:36                       ` Terje Bergström
2013-10-07 13:13                   ` Thierry Reding [this message]
2013-10-07 12:53               ` Erik Faye-Lund
     [not found]                 ` <CABPQNSb52HmS-2T=MUXteMFc1tndHdvtUnZqsVsPKjP1Dy6Esw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-07 13:02                   ` Erik Faye-Lund
     [not found]                     ` <CABPQNSZGyuS3wAvJ8fFj=LMXxFJz9x_sKqEWW7QbiqC1gneLKw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-08  5:48                       ` Terje Bergström
     [not found]                         ` <52539CC0.3020901-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08 11:11                           ` Erik Faye-Lund
2013-10-07  8:34   ` [PATCH v2 09/27] drm/tegra: gem: " Thierry Reding
2013-10-07  8:34   ` [PATCH v2 10/27] gpu: host1x: Make host1x header file public Thierry Reding
2013-10-07  8:34   ` [PATCH v2 11/27] drm/tegra: Introduce tegra_drm_client structure Thierry Reding
2013-10-07  8:34   ` [PATCH v2 12/27] gpu: host1x: Expose syncpt and channel functionality Thierry Reding
2013-10-07  8:34   ` [PATCH v2 13/27] drm/tegra: Move subdevice infrastructure to host1x Thierry Reding
     [not found]     ` <1381134884-5816-14-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08  6:25       ` Terje Bergström
     [not found]         ` <5253A563.1060409-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-08  9:52           ` Thierry Reding
2013-11-04 10:20       ` Daniel Vetter
     [not found]         ` <20131104102054.GD4167-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2013-11-04 11:06           ` Thierry Reding
     [not found]             ` <20131104110655.GN27445-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-11-04 16:08               ` Daniel Vetter
2013-10-07  8:34   ` [PATCH v2 14/27] drm/tegra: Move driver to DRM tree Thierry Reding
     [not found]     ` <1381134884-5816-15-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:11       ` Stephen Warren
     [not found]         ` <52587797.7000402-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-12 11:16           ` Thierry Reding
2013-10-07  8:34   ` [PATCH v2 15/27] gpu: host1x: Add support for Tegra114 Thierry Reding
     [not found]     ` <1381134884-5816-16-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:13       ` Stephen Warren
     [not found]         ` <525877F3.9070004-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-12 11:24           ` Thierry Reding
2013-10-14  5:30             ` Terje Bergström
     [not found]               ` <525B8174.4000907-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-15  8:05                 ` Thierry Reding
2013-10-14 18:07             ` Stephen Warren
     [not found]               ` <525C32E5.2020406-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15  8:03                 ` Thierry Reding
2013-10-07  8:34   ` [PATCH v2 16/27] drm/tegra: Add Tegra114 display controller support Thierry Reding
     [not found]     ` <1381134884-5816-17-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:14       ` Stephen Warren
     [not found]         ` <52587843.9070806-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-12 11:32           ` Thierry Reding
2013-10-14 18:05             ` Stephen Warren
     [not found]               ` <525C325E.2090700-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15  8:06                 ` Thierry Reding
2013-10-07  8:34   ` [PATCH v2 17/27] drm/tegra: Add Tegra114 HDMI support Thierry Reding
     [not found]     ` <1381134884-5816-18-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:19       ` Stephen Warren
     [not found]         ` <52587967.6050806-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-11 22:22           ` Stephen Warren
     [not found]             ` <52587A16.7050200-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-12 11:35               ` Thierry Reding
2013-10-12 11:41           ` Thierry Reding
2013-10-14 18:10             ` Stephen Warren
     [not found]               ` <525C338D.50801-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15  8:13                 ` Thierry Reding
     [not found]                   ` <20131015081318.GG7856-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-15 15:17                     ` Stephen Warren
2013-10-07  8:34   ` [PATCH v2 18/27] drm/tegra: hdmi: Detect DVI-only displays Thierry Reding
2013-10-07  8:34   ` [PATCH v2 19/27] host1x: hdmi: Enable VDD earlier for hotplug/DDC Thierry Reding
2013-10-07  8:34   ` [PATCH v2 20/27] drm/tegra: hdmi: Rename tegra{2,3} to tegra{20,30} Thierry Reding
2013-10-07  8:34   ` [PATCH v2 21/27] drm: Add panel support Thierry Reding
2013-10-07  8:34   ` [PATCH v2 22/27] drm/panel: Add simple " Thierry Reding
     [not found]     ` <1381134884-5816-23-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:33       ` Stephen Warren
     [not found]         ` <52587CBD.8010304-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-14 14:10           ` Thierry Reding
2013-10-07  8:34   ` [PATCH v2 23/27] drm/tegra: Implement " Thierry Reding
2013-10-07  8:34   ` [PATCH v2 24/27] drm/tegra: Start connectors with correct DPMS mode Thierry Reding
2013-10-07  8:34   ` [PATCH v2 25/27] gpu: host1x: Add MIPI pad calibration support Thierry Reding
     [not found]     ` <1381134884-5816-26-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:37       ` Stephen Warren
     [not found]         ` <52587DAF.9080003-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-14 13:44           ` Thierry Reding
2013-10-07  8:34   ` [PATCH v2 26/27] drm/tegra: Add DSI support Thierry Reding
     [not found]     ` <1381134884-5816-27-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:43       ` Stephen Warren
     [not found]         ` <52587F17.7060104-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-14 13:55           ` Thierry Reding
     [not found]             ` <20131014135548.GB16302-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-14 18:16               ` Stephen Warren
     [not found]                 ` <525C3510.60802-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15  8:33                   ` Thierry Reding
     [not found]                     ` <20131015083342.GH7856-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-15 17:21                       ` Stephen Warren
     [not found]                         ` <525D7983.6010001-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-16  8:40                           ` Thierry Reding
     [not found]                             ` <20131016084031.GB21963-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-16 16:58                               ` Stephen Warren
2013-10-07  8:34   ` [PATCH v2 27/27] drm/tegra: Add Tegra114 gr2d support Thierry Reding
     [not found]     ` <1381134884-5816-28-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-11 22:43       ` Stephen Warren
     [not found]         ` <52587F2D.9070007-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-14  5:58           ` Terje Bergström
     [not found]             ` <525B880A.7090802-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-14 14:00               ` Thierry Reding
     [not found]                 ` <20131014140010.GC16302-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-14 18:14                   ` Stephen Warren
     [not found]                     ` <525C3497.6010700-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-15  5:51                       ` Terje Bergström
     [not found]                         ` <525CD7F3.10907-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-15 15:12                           ` Stephen Warren
2013-10-15  8:37                       ` Thierry Reding
     [not found]                         ` <20131015083731.GI7856-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-15 15:19                           ` Stephen Warren
     [not found]                             ` <525D5CF6.3020600-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-16  8:48                               ` Thierry Reding
     [not found]                                 ` <20131016084804.GC21963-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-16 12:05                                   ` Terje Bergström
2013-10-16 17:00                                   ` Stephen Warren
2013-10-14 18:13               ` Stephen Warren

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=20131007131332.GA3795@ulmo.nvidia.com \
    --to=thierry.reding-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=kusmabite-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.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).