<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/edac, branch v2.6.32.8</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/edac?h=v2.6.32.8</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/edac?h=v2.6.32.8'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-01-22T23:18:15Z</updated>
<entry>
<title>edac: i5000_edac critical fix panic out of bounds</title>
<updated>2010-01-22T23:18:15Z</updated>
<author>
<name>Tamas Vincze</name>
<email>tom@vincze.org</email>
</author>
<published>2010-01-16T01:01:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7f40c6b6ad3b97dc8aceb3ce73d4d6ed335a8d6d'/>
<id>urn:sha1:7f40c6b6ad3b97dc8aceb3ce73d4d6ed335a8d6d</id>
<content type='text'>
commit 118f3e1afd5534c15f9701f33514186cfc841a27 upstream.

EDAC MC0: INTERNAL ERROR: channel-b out of range (4 &gt;= 4)
Kernel panic - not syncing: EDAC MC0: Uncorrected Error  (XEN) Domain 0 crashed: 'noreboot' set - not rebooting.

This happens because FERR_NF_FBD bit 28 is not updated on i5000.  Due to
that, both bits 28 and 29 may be equal to one, returning channel = 3.  As
this value is invalid, EDAC core generates the panic.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14568

Signed-off-by: Tamas Vincze &lt;tom@vincze.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Doug Thompson &lt;dougthompson@xmission.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>amd64_edac: fix forcing module load/unload</title>
<updated>2010-01-06T23:05:16Z</updated>
<author>
<name>Borislav Petkov</name>
<email>borislav.petkov@amd.com</email>
</author>
<published>2009-12-21T17:55:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9127720087953642a8308b373a76f38916577f0e'/>
<id>urn:sha1:9127720087953642a8308b373a76f38916577f0e</id>
<content type='text'>
commit 43f5e68733cfe8bed3c30b5c14c4993dffb29766 upstream.

Clear the override flag after force-loading the module.

Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>amd64_edac: make driver loading more robust</title>
<updated>2010-01-06T23:05:14Z</updated>
<author>
<name>Borislav Petkov</name>
<email>borislav.petkov@amd.com</email>
</author>
<published>2009-12-21T17:13:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=15383230c0603460f1479610b3dc59e70dc73611'/>
<id>urn:sha1:15383230c0603460f1479610b3dc59e70dc73611</id>
<content type='text'>
commit 56b34b91e22313294154cee0c16e294cf8a45b61 upstream.

Currently, the module does not initialize fully when the DIMMs aren't
ECC but remains still loaded. Propagate the error when no instance of
the driver is properly initialized and prevent further loading.

Reorganize and polish error handling in amd64_edac_init() while at it.

Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>amd64_edac: fix driver instance freeing</title>
<updated>2010-01-06T23:05:13Z</updated>
<author>
<name>Borislav Petkov</name>
<email>borislav.petkov@amd.com</email>
</author>
<published>2009-12-21T14:15:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=44a529c6b32a9254cacc0d0c6423967883d8ebcd'/>
<id>urn:sha1:44a529c6b32a9254cacc0d0c6423967883d8ebcd</id>
<content type='text'>
commit 8f68ed9728193b1f2fb53ba06031b06bd8b3d1b4 upstream.

Fix use-after-free errors by pushing all memory-freeing calls to the end
of amd64_remove_one_instance().

Reported-by: Darren Jenkins &lt;darrenrjenkins@gmail.com&gt;
LKML-Reference: &lt;1261370306.11354.52.camel@ICE-BOX&gt;
Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86, msr: Add support for non-contiguous cpumasks</title>
<updated>2010-01-06T23:05:11Z</updated>
<author>
<name>Borislav Petkov</name>
<email>borislav.petkov@amd.com</email>
</author>
<published>2009-12-11T17:14:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=eb21839600f406f76a63e6da241db7f361f7ff52'/>
<id>urn:sha1:eb21839600f406f76a63e6da241db7f361f7ff52</id>
<content type='text'>
commit 505422517d3f126bb939439e9d15dece94e11d2c upstream.

The current rd/wrmsr_on_cpus helpers assume that the supplied
cpumasks are contiguous. However, there are machines out there
like some K8 multinode Opterons which have a non-contiguous core
enumeration on each node (e.g. cores 0,2 on node 0 instead of 0,1), see
http://www.gossamer-threads.com/lists/linux/kernel/1160268.

This patch fixes out-of-bounds writes (see URL above) by adding per-CPU
msr structs which are used on the respective cores.

Additionally, two helpers, msrs_{alloc,free}, are provided for use by
the callers of the MSR accessors.

Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Cc: Aristeu Rozanski &lt;aris@redhat.com&gt;
Cc: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Cc: Doug Thompson &lt;dougthompson@xmission.com&gt;
Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
LKML-Reference: &lt;20091211171440.GD31998@aftab&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>amd64_edac: unify MCGCTL ECC switching</title>
<updated>2010-01-06T23:05:10Z</updated>
<author>
<name>Borislav Petkov</name>
<email>borislav.petkov@amd.com</email>
</author>
<published>2009-11-03T14:29:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=26eb2ac67f9296d5b66533e55e9a28a2edd05b48'/>
<id>urn:sha1:26eb2ac67f9296d5b66533e55e9a28a2edd05b48</id>
<content type='text'>
commit f6d6ae965760906d79ab29bc38507608c5971549 upstream.

Unify almost identical code into one function and remove NUMA-specific
usage (specifically cpumask_of_node()) in favor of generic topology
methods.

Remove unused defines, while at it.

Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>cpumask: use modern cpumask style in drivers/edac/amd64_edac.c</title>
<updated>2010-01-06T23:05:07Z</updated>
<author>
<name>Rusty Russell</name>
<email>rusty@rustcorp.com.au</email>
</author>
<published>2009-11-03T04:26:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ebd2802865c7ea5f352fd5444c293d013e528922'/>
<id>urn:sha1:ebd2802865c7ea5f352fd5444c293d013e528922</id>
<content type='text'>
commit ba578cb34a71fb08fff14ac0796b934a8c9991e1 upstream.

cpumask_t -&gt; struct cpumask, and don't put one on the stack.  (Note: this
is actually on the stack unless CONFIG_CPUMASK_OFFSTACK=y).

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>amd64_edac: fix CECCs reporting</title>
<updated>2009-11-04T13:04:06Z</updated>
<author>
<name>Borislav Petkov</name>
<email>borislav.petkov@amd.com</email>
</author>
<published>2009-11-04T13:04:06Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=17adea01b9606e416ea5116a27d02d47fe7e6c8d'/>
<id>urn:sha1:17adea01b9606e416ea5116a27d02d47fe7e6c8d</id>
<content type='text'>
Shift error type bits properly.

Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
</content>
</entry>
<entry>
<title>amd64_edac: fix a wrong goto clause in amd64_edac.c</title>
<updated>2009-11-04T13:02:32Z</updated>
<author>
<name>Li Hong</name>
<email>lihong.hi@gmail.com</email>
</author>
<published>2009-10-19T08:33:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a3c4c58085b23d8e878a58dcdd0f8fcf8fad1ccd'/>
<id>urn:sha1:a3c4c58085b23d8e878a58dcdd0f8fcf8fad1ccd</id>
<content type='text'>
In amd64_edac_init(void) in amd64_edac.c, cache_k8_northbridges() is
called before pci_register_driver. If it fails, should exit with err
directly.

Signed-off-by: Li Hong &lt;lihong.hi@gmail.com&gt;
Acked-by: Doug Thompson &lt;dougthompson@xmission.com&gt;
Signed-off-by: Borislav Petkov &lt;borislav.petkov@amd.com&gt;
</content>
</entry>
<entry>
<title>edac: i5100 fix initialization code</title>
<updated>2009-10-29T14:39:30Z</updated>
<author>
<name>Keith Mannthey</name>
<email>kmannth@us.ibm.com</email>
</author>
<published>2009-10-26T23:50:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c2494ace990c5d37cfe66911b85d28e6945eadfc'/>
<id>urn:sha1:c2494ace990c5d37cfe66911b85d28e6945eadfc</id>
<content type='text'>
Allow csrows to properly initialize when the topology only has active
channels on 2 and 3.  This new check allows proper detection and
initialization in this topology.  Only checking the first mrt that
represented channels 0 and 1 is not sufficient.

I also fixed up the related debug information path.  I can submit as a 2nd
patch if needed.

Signed-off-by: Keith Mannthey &lt;kmannth@us.ibm.com&gt;
Acked-by: Aristeu Rozanski &lt;aris@ruivo.org&gt;
Signed-off-by: Doug Thompson &lt;dougthompson@xmission.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
