mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Arjan van de Ven <arjan@linux.intel.com>
Cc: Jiri Kosina <jkosina@suse.cz>,
	"Brandeburg, Jesse" <jesse.brandeburg@intel.com>,
	LKML <linux-kernel@vger.kernel.org>,
	agospoda@redhat.com, "Ronciak, John" <john.ronciak@intel.com>,
	"Allan, Bruce W" <bruce.w.allan@intel.com>,
	"Graham, David" <david.graham@intel.com>,
	kkiel@suse.de, tglx@linutronix.de, chris.jones@canonical.com,
	arjan@linux.jf.intel.com
Subject: Re: e1000e NVM corruption issue status
Date: Fri, 26 Sep 2008 11:23:49 -0700	[thread overview]
Message-ID: <200809261123.52198.jbarnes@virtuousgeek.org> (raw)
In-Reply-To: <200809261052.38966.jbarnes@virtuousgeek.org>

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

On Friday, September 26, 2008 10:52 am Jesse Barnes wrote:
> On Friday, September 26, 2008 4:49 am Arjan van de Ven wrote:
> > Jiri Kosina wrote:
> > > On Thu, 25 Sep 2008, Brandeburg, Jesse wrote:
> > >> this is the current set of patches that I have to help us debug
> > >> and/or fix e1000e issues found during this debug effort for
> > >> the corrupt NVM.  the "drop stats lock" - "reset swflag" patches allow
> > >> Thomas' patch for a mutex in the SWFLAG acquire function to run
> > >> without any errors.
> > >
> > > Thanks. Also Jesse Barnes' patch shouldn't be forgotten, could you
> > > please add it to that lineup?
> > >
> > > 	http://marc.info/?l=linux-kernel&m=122237193628087&w=2
> >
> > can we (for now) also stick a WARN_ON() into that failure path? that way
> > we can at least catch if/when this happens more visibly..... if it
> > happens consistently in say the new distros we can be more confident that
> > we're down the right path in diagnosing the issue.
>
> I'm spinning a new one now with some debug output, stay tuned (just gotta
> boot my test box).

Ok here's an updated one.  Jesse (Br) can you add it to your list?  If the X 
driver really is mapping too much this should catch it, as long as it goes 
through sysfs.

Thanks,
Jesse

[-- Attachment #2: pci-sysfs-mmap-range-check-2.patch --]
[-- Type: text/x-diff, Size: 1427 bytes --]

diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 9c71858..11523a3 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -16,6 +16,7 @@
 
 
 #include <linux/kernel.h>
+#include <linux/sched.h>
 #include <linux/pci.h>
 #include <linux/stat.h>
 #include <linux/topology.h>
@@ -502,6 +503,8 @@ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
 	struct resource *res = (struct resource *)attr->private;
 	enum pci_mmap_state mmap_type;
 	resource_size_t start, end;
+	unsigned long map_len = vma->vm_end - vma->vm_start;
+	unsigned long map_offset = vma->vm_pgoff << PAGE_SHIFT;
 	int i;
 
 	for (i = 0; i < PCI_ROM_RESOURCE; i++)
@@ -510,6 +513,18 @@ pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
 	if (i >= PCI_ROM_RESOURCE)
 		return -ENODEV;
 
+	/*
+	 * Make sure the range the user is trying to map falls within
+	 * the resource
+	 */
+	if (map_offset + map_len > pci_resource_len(pdev, i)) {
+		printk(KERN_ERR "process \"%s\" tried to map 0x%08lx-0x%08lx on BAR %d (size 0x%08lx)\n",
+		       current->comm, map_offset, map_offset + map_len, i,
+		       (unsigned long)pci_resource_len(pdev, i));
+		WARN_ON(1);
+		return -EINVAL;
+	}
+
 	/* pci_mmap_page_range() expects the same kind of entry as coming
 	 * from /proc/bus/pci/ which is a "user visible" value. If this is
 	 * different from the resource itself, arch will do necessary fixup.

  reply	other threads:[~2008-09-26 18:24 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <987CEB09A2567F4A963E1E226364E2D33A685B4B@orsmsx418.amr.corp.intel.com>
2008-09-26  1:50 ` Brandeburg, Jesse
2008-09-26  1:58   ` Chris Snook
2008-09-26  2:04     ` Brandeburg, Jesse
2008-09-26  2:01   ` Brandeburg, Jesse
2008-09-26  2:09     ` Brandeburg, Jesse
2008-09-26  7:12       ` Ingo Molnar
2008-09-26  2:09     ` Brandeburg, Jesse
2008-09-26  2:10     ` Brandeburg, Jesse
2008-09-26  2:10     ` Brandeburg, Jesse
2008-09-26  2:10     ` Brandeburg, Jesse
2008-09-26  2:11     ` Brandeburg, Jesse
2008-09-26  2:11     ` Brandeburg, Jesse
2008-09-26  2:12     ` Brandeburg, Jesse
2008-09-26  2:12     ` Brandeburg, Jesse
2008-09-26  2:13     ` Brandeburg, Jesse
2008-09-26  2:13     ` Brandeburg, Jesse
2008-09-29 15:52       ` Jiri Kosina
2008-09-29 16:20         ` Jiri Kosina
2008-09-29 16:24           ` Brandeburg, Jesse
2008-09-29 17:18             ` Jiri Kosina
2008-09-29 17:36               ` Jiri Kosina
2008-09-29 22:43                 ` Jiri Kosina
2008-09-26  6:13     ` Jiri Kosina
2008-09-26 11:49       ` Arjan van de Ven
2008-09-26 17:52         ` Jesse Barnes
2008-09-26 18:23           ` Jesse Barnes [this message]
2008-09-26 18:39             ` Jesse Barnes
2008-09-26 18:43               ` Jesse Barnes
2008-09-26 18:53             ` Tim Gardner
2008-09-26 22:04               ` Krzysztof Halasa
2008-09-26 22:23                 ` Brandeburg, Jesse
2008-09-27 18:45                   ` Krzysztof Halasa
2008-09-27  0:05               ` Brandeburg, Jesse
2008-09-27  4:20                 ` Tim Gardner
2008-09-26 14:23     ` Karsten Keil
2008-09-26  5:44   ` Jesse Brandeburg
2008-09-26  7:19   ` Karsten Keil
2008-10-18 19:13   ` James Courtier-Dutton
2008-10-18 22:49     ` Jiri Kosina

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=200809261123.52198.jbarnes@virtuousgeek.org \
    --to=jbarnes@virtuousgeek.org \
    --cc=agospoda@redhat.com \
    --cc=arjan@linux.intel.com \
    --cc=arjan@linux.jf.intel.com \
    --cc=bruce.w.allan@intel.com \
    --cc=chris.jones@canonical.com \
    --cc=david.graham@intel.com \
    --cc=jesse.brandeburg@intel.com \
    --cc=jkosina@suse.cz \
    --cc=john.ronciak@intel.com \
    --cc=kkiel@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /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

Powered by JetHome