From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: Marc Weber <marco-oweber@gmx.de>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
"David S. Miller" <davem@davemloft.net>,
Jiri Kosina <jkosina@suse.cz>
Subject: Re: drivers/net/ethernet/nvidia/forcedeth.c saved_config_space[size] access patch
Date: Wed, 11 Sep 2013 22:44:26 +0400 [thread overview]
Message-ID: <5230BA0A.6020903@cogentembedded.com> (raw)
In-Reply-To: <1378682421-sup-4422@nixos>
Hello.
On 09/09/2013 03:39 AM, Marc Weber wrote:
> 1) VER3 and _MAX are of same size:
> #define NV_PCI_REGSZ_VER3 0x604
> #define NV_PCI_REGSZ_MAX 0x604
> 2) It looks like there is a case where VER3 get's assigned to
> register_size:
> if (id->driver_data &
> (DEV_HAS_VLAN|DEV_HAS_MSI_X|DEV_HAS_POWER_CNTRL|DEV_HAS_STATISTICS_V2|DEV_HAS_STATISTICS_V
> np->register_size = NV_PCI_REGSZ_VER3;
> 3) the definition of saved_config_space is MAX divided by 4 (size of u32)
> struct fe_priv {
> [...]
> u32 saved_config_space[NV_PCI_REGSZ_MAX/4]
> 4) This doesn't stop loop at [size-1]:
> Thus there is the risk that it overrides the field after
> saved_config_space. If that's desired behaviour at least a comment
> is missing IMHO:
> for (i = 0; i <= np->register_size/sizeof(u32); i++)
> np->saved_config_space[i] = readl(base + i*sizeof(u32));
> Such for loop is used twice in forcedeth.c
> Patch againstn 4de9ad9bc08 (Fri Sep 6 11:14:33) attached fixing both
> using < instead of <=.
> If you think I've hit a small bug just fix and commit.
> I don't care much about my ownership of this patch.
> I didn't test this patch because I don't have the hardware and I think
> its a trivial case.
Don't attach the patches, send them inline instead. And please mark the
mails with patches with [PATCH] in the subject.
> Marc Weber
WBR, Sergei
prev parent reply other threads:[~2013-09-11 18:44 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-08 23:39 drivers/net/ethernet/nvidia/forcedeth.c saved_config_space[size] access patch Marc Weber
2013-09-11 18:44 ` Sergei Shtylyov [this message]
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=5230BA0A.6020903@cogentembedded.com \
--to=sergei.shtylyov@cogentembedded.com \
--cc=davem@davemloft.net \
--cc=jkosina@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=marco-oweber@gmx.de \
--cc=netdev@vger.kernel.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.