Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1293141 > unrolled thread
| Started by | Tony Luck <tony.luck@intel.com> |
|---|---|
| First post | 2015-12-16 18:30 +0100 |
| Last post | 2015-12-22 12:20 +0100 |
| Articles | 8 — 5 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables Tony Luck <tony.luck@intel.com> - 2015-12-16 18:30 +0100
Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables Andy Lutomirski <luto@amacapital.net> - 2015-12-16 19:00 +0100
RE: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables "Luck, Tony" <tony.luck@intel.com> - 2015-12-17 00:00 +0100
Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables Andy Lutomirski <luto@amacapital.net> - 2015-12-17 17:30 +0100
Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables Borislav Petkov <bp@alien8.de> - 2015-12-21 19:20 +0100
Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables Dan Williams <dan.j.williams@intel.com> - 2015-12-21 20:20 +0100
Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables Borislav Petkov <bp@alien8.de> - 2015-12-21 21:20 +0100
Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables Borislav Petkov <bp@alien8.de> - 2015-12-22 12:20 +0100
| From | Tony Luck <tony.luck@intel.com> |
|---|---|
| Date | 2015-12-16 18:30 +0100 |
| Subject | [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables |
| Message-ID | <qGo3M-4HH-21@gated-at.bofh.it> |
Copy the existing page fault fixup mechanisms to create a new table
to be used when fixing machine checks. Note:
1) At this time we only provide a macro to annotate assembly code
2) We assume all fixups will in code builtin to the kernel.
3) Only for x86_64
4) New code under CONFIG_MCE_KERNEL_RECOVERY (default 'n')
Signed-off-by: Tony Luck <tony.luck@intel.com>
---
arch/x86/Kconfig | 10 ++++++++++
arch/x86/include/asm/asm.h | 10 ++++++++--
arch/x86/include/asm/mce.h | 14 ++++++++++++++
arch/x86/kernel/cpu/mcheck/mce.c | 16 ++++++++++++++++
arch/x86/kernel/vmlinux.lds.S | 6 +++++-
arch/x86/mm/extable.c | 19 +++++++++++++++++++
include/asm-generic/vmlinux.lds.h | 12 +++++++-----
7 files changed, 79 insertions(+), 8 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 96d058a87100..42d26b4d1ec4 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1001,6 +1001,16 @@ config X86_MCE_INJECT
If you don't know what a machine check is and you don't do kernel
QA it is safe to say n.
+config MCE_KERNEL_RECOVERY
+ bool "Recovery from machine checks in special kernel memory copy functions"
+ default n
+ depends on X86_MCE && X86_64
+ ---help---
+ This option provides a new memory copy function mcsafe_memcpy()
+ that is annotated to allow the machine check handler to return
+ to an alternate code path to return an error to the caller instead
+ of crashing the system. Say yes if you have a driver that uses this.
+
config X86_THERMAL_VECTOR
def_bool y
depends on X86_MCE_INTEL
diff --git a/arch/x86/include/asm/asm.h b/arch/x86/include/asm/asm.h
index 189679aba703..a5d483ac11fa 100644
--- a/arch/x86/include/asm/asm.h
+++ b/arch/x86/include/asm/asm.h
@@ -44,13 +44,19 @@
/* Exception table entry */
#ifdef __ASSEMBLY__
-# define _ASM_EXTABLE(from,to) \
- .pushsection "__ex_table","a" ; \
+# define __ASM_EXTABLE(from, to, table) \
+ .pushsection table, "a" ; \
.balign 8 ; \
.long (from) - . ; \
.long (to) - . ; \
.popsection
+# define _ASM_EXTABLE(from, to) \
+ __ASM_EXTABLE(from, to, "__ex_table")
+
+# define _ASM_MCEXTABLE(from, to) \
+ __ASM_EXTABLE(from, to, "__mcex_table")
+
# define _ASM_EXTABLE_EX(from,to) \
.pushsection "__ex_table","a" ; \
.balign 8 ; \
diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h
index 2dbc0bf2b9f3..9dc11d2a9db1 100644
--- a/arch/x86/include/asm/mce.h
+++ b/arch/x86/include/asm/mce.h
@@ -279,4 +279,18 @@ struct cper_sec_mem_err;
extern void apei_mce_report_mem_error(int corrected,
struct cper_sec_mem_err *mem_err);
+#ifdef CONFIG_MCE_KERNEL_RECOVERY
+const struct exception_table_entry *search_mcexception_tables(unsigned long a);
+int fixup_mcexception(struct pt_regs *regs);
+#else
+static inline const struct exception_table_entry *search_mcexception_tables(unsigned long a)
+{
+ return 0;
+}
+static inline int fixup_mcexception(struct pt_regs *regs)
+{
+ return 0;
+}
+#endif
+
#endif /* _ASM_X86_MCE_H */
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index 9d014b82a124..0111cd49ee94 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -31,6 +31,7 @@
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/init.h>
+#include <linux/module.h>
#include <linux/kmod.h>
#include <linux/poll.h>
#include <linux/nmi.h>
@@ -2022,8 +2023,23 @@ static int __init mcheck_enable(char *str)
}
__setup("mce", mcheck_enable);
+#ifdef CONFIG_MCE_KERNEL_RECOVERY
+extern struct exception_table_entry __start___mcex_table[];
+extern struct exception_table_entry __stop___mcex_table[];
+
+/* Given an address, look for it in the machine check exception tables. */
+const struct exception_table_entry *search_mcexception_tables(unsigned long addr)
+{
+ return search_extable(__start___mcex_table, __stop___mcex_table-1, addr);
+}
+#endif
+
int __init mcheck_init(void)
{
+#ifdef CONFIG_MCE_KERNEL_RECOVERY
+ if (__stop___mcex_table > __start___mcex_table)
+ sort_extable(__start___mcex_table, __stop___mcex_table);
+#endif
mcheck_intel_therm_init();
mce_register_decode_chain(&mce_srao_nb);
mcheck_vendor_init_severity();
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 74e4bf11f562..a65fa0deda06 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -110,7 +110,11 @@ SECTIONS
NOTES :text :note
- EXCEPTION_TABLE(16) :text = 0x9090
+ EXCEPTION_TABLE(16)
+#ifdef CONFIG_MCE_KERNEL_RECOVERY
+ NAMED_EXCEPTION_TABLE(16, mcex)
+#endif
+ :text = 0x9090
#if defined(CONFIG_DEBUG_RODATA)
/* .text should occupy whole number of pages */
diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
index 903ec1e9c326..f8f8b72e88af 100644
--- a/arch/x86/mm/extable.c
+++ b/arch/x86/mm/extable.c
@@ -2,6 +2,7 @@
#include <linux/spinlock.h>
#include <linux/sort.h>
#include <asm/uaccess.h>
+#include <asm/mce.h>
static inline unsigned long
ex_insn_addr(const struct exception_table_entry *x)
@@ -49,6 +50,24 @@ int fixup_exception(struct pt_regs *regs)
return 0;
}
+#ifdef CONFIG_MCE_KERNEL_RECOVERY
+int fixup_mcexception(struct pt_regs *regs)
+{
+ const struct exception_table_entry *fixup;
+ unsigned long new_ip;
+
+ fixup = search_mcexception_tables(regs->ip);
+ if (fixup) {
+ new_ip = ex_fixup_addr(fixup);
+
+ regs->ip = new_ip;
+ return 1;
+ }
+
+ return 0;
+}
+#endif
+
/* Restricted version used during very early boot */
int __init early_fixup_exception(unsigned long *ip)
{
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 1781e54ea6d3..42ef98de373a 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -467,14 +467,16 @@
/*
* Exception table
*/
-#define EXCEPTION_TABLE(align) \
+#define NAMED_EXCEPTION_TABLE(align, pfx) \
. = ALIGN(align); \
- __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { \
- VMLINUX_SYMBOL(__start___ex_table) = .; \
- *(__ex_table) \
- VMLINUX_SYMBOL(__stop___ex_table) = .; \
+ __##pfx##_table : AT(ADDR(__##pfx##_table) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start___##pfx##_table) = .; \
+ *(__##pfx##_table) \
+ VMLINUX_SYMBOL(__stop___##pfx##_table) = .; \
}
+#define EXCEPTION_TABLE(align) NAMED_EXCEPTION_TABLE(align, ex)
+
/*
* Init task
*/
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Andy Lutomirski <luto@amacapital.net> |
|---|---|
| Date | 2015-12-16 19:00 +0100 |
| Subject | Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables |
| Message-ID | <qGowR-4RZ-57@gated-at.bofh.it> |
| In reply to | #1293141 |
On Tue, Dec 15, 2015 at 5:29 PM, Tony Luck <tony.luck@intel.com> wrote:
> Copy the existing page fault fixup mechanisms to create a new table
> to be used when fixing machine checks. Note:
> 1) At this time we only provide a macro to annotate assembly code
> 2) We assume all fixups will in code builtin to the kernel.
> 3) Only for x86_64
> 4) New code under CONFIG_MCE_KERNEL_RECOVERY (default 'n')
>
> Signed-off-by: Tony Luck <tony.luck@intel.com>
Looks generally good.
Reviewed-by: Andy Lutomirski <luto@kernel.org>
with trivial caveats:
> int __init mcheck_init(void)
> {
> +#ifdef CONFIG_MCE_KERNEL_RECOVERY
> + if (__stop___mcex_table > __start___mcex_table)
> + sort_extable(__start___mcex_table, __stop___mcex_table);
> +#endif
This doesn't matter unless we sprout a lot of these, but it could be
worthwhile to update sortextable.h as well.
> +#ifdef CONFIG_MCE_KERNEL_RECOVERY
> +int fixup_mcexception(struct pt_regs *regs)
> +{
> + const struct exception_table_entry *fixup;
> + unsigned long new_ip;
> +
> + fixup = search_mcexception_tables(regs->ip);
> + if (fixup) {
> + new_ip = ex_fixup_addr(fixup);
> +
> + regs->ip = new_ip;
You could very easily save a line of code here :)
> + return 1;
> + }
> +
> + return 0;
> +}
> +#endif
> +
--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | "Luck, Tony" <tony.luck@intel.com> |
|---|---|
| Date | 2015-12-17 00:00 +0100 |
| Subject | RE: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables |
| Message-ID | <qGtd8-7St-11@gated-at.bofh.it> |
| In reply to | #1293203 |
PiBMb29rcyBnZW5lcmFsbHkgZ29vZC4NCj4NCj4gUmV2aWV3ZWQtYnk6IEFuZHkgTHV0b21pcnNr aSA8bHV0b0BrZXJuZWwub3JnPg0KDQpZb3Ugc2F5IHRoYXQgdG8gcGFydCAxLzMgLi4uIHdoYXQg aGFwcGVucyB3aGVuIHlvdSBnZXQgdG8gcGFydCAzLzMgYW5kIHlvdQ0KcmVhZCBteSBhdHRlbXB0 cyBhdCB3cml0aW5nIHg4NiBhc3NlbWJseSBjb2RlPw0KDQo+PiArI2lmZGVmIENPTkZJR19NQ0Vf S0VSTkVMX1JFQ09WRVJZDQo+PiAraW50IGZpeHVwX21jZXhjZXB0aW9uKHN0cnVjdCBwdF9yZWdz ICpyZWdzKQ0KPj4gK3sNCj4+ICsgICAgICAgY29uc3Qgc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9l bnRyeSAqZml4dXA7DQo+PiArICAgICAgIHVuc2lnbmVkIGxvbmcgbmV3X2lwOw0KPj4gKw0KPj4g KyAgICAgICBmaXh1cCA9IHNlYXJjaF9tY2V4Y2VwdGlvbl90YWJsZXMocmVncy0+aXApOw0KPj4g KyAgICAgICBpZiAoZml4dXApIHsNCj4+ICsgICAgICAgICAgICAgICBuZXdfaXAgPSBleF9maXh1 cF9hZGRyKGZpeHVwKTsNCj4+ICsNCj4+ICsgICAgICAgICAgICAgICByZWdzLT5pcCA9IG5ld19p cDsNCj4NCj4gIFlvdSBjb3VsZCB2ZXJ5IGVhc2lseSBzYXZlIGEgbGluZSBvZiBjb2RlIGhlcmUg OikNCg0KVHdvIGxpbmVzICh0aGUgZGVjbGFyYXRpb24gb2YgdGhlIHZhcmlhYmxlIGNhbiBnbyBh d2F5IGFzIHdlbGwpLg0KV2lsbCBpbmNsdWRlIGlmIHdlIG5lZWQgYSBWNCB3aGVuIGV2ZXJ5b25l IGVsc2UgZ2V0cyB0byBjb21tZW50aW5nLg0KDQotVG9ueQ0K -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Andy Lutomirski <luto@amacapital.net> |
|---|---|
| Date | 2015-12-17 17:30 +0100 |
| Subject | Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables |
| Message-ID | <qGJBf-1Oc-7@gated-at.bofh.it> |
| In reply to | #1293380 |
On Wed, Dec 16, 2015 at 2:51 PM, Luck, Tony <tony.luck@intel.com> wrote: >> Looks generally good. >> >> Reviewed-by: Andy Lutomirski <luto@kernel.org> > > You say that to part 1/3 ... what happens when you get to part 3/3 and you > read my attempts at writing x86 assembly code? I'm not at all familiar with that code, and Borislav or someone else (Denys Vlasenko?) can probably review it much better than I can. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Borislav Petkov <bp@alien8.de> |
|---|---|
| Date | 2015-12-21 19:20 +0100 |
| Subject | Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables |
| Message-ID | <qIddU-1tP-15@gated-at.bofh.it> |
| In reply to | #1293141 |
On Tue, Dec 15, 2015 at 05:29:30PM -0800, Tony Luck wrote:
> Copy the existing page fault fixup mechanisms to create a new table
> to be used when fixing machine checks. Note:
> 1) At this time we only provide a macro to annotate assembly code
> 2) We assume all fixups will in code builtin to the kernel.
> 3) Only for x86_64
> 4) New code under CONFIG_MCE_KERNEL_RECOVERY (default 'n')
>
> Signed-off-by: Tony Luck <tony.luck@intel.com>
> ---
> arch/x86/Kconfig | 10 ++++++++++
> arch/x86/include/asm/asm.h | 10 ++++++++--
> arch/x86/include/asm/mce.h | 14 ++++++++++++++
> arch/x86/kernel/cpu/mcheck/mce.c | 16 ++++++++++++++++
> arch/x86/kernel/vmlinux.lds.S | 6 +++++-
> arch/x86/mm/extable.c | 19 +++++++++++++++++++
> include/asm-generic/vmlinux.lds.h | 12 +++++++-----
> 7 files changed, 79 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 96d058a87100..42d26b4d1ec4 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -1001,6 +1001,16 @@ config X86_MCE_INJECT
> If you don't know what a machine check is and you don't do kernel
> QA it is safe to say n.
>
> +config MCE_KERNEL_RECOVERY
> + bool "Recovery from machine checks in special kernel memory copy functions"
> + default n
> + depends on X86_MCE && X86_64
Still no dependency on CONFIG_LIBNVDIMM.
> + ---help---
> + This option provides a new memory copy function mcsafe_memcpy()
> + that is annotated to allow the machine check handler to return
> + to an alternate code path to return an error to the caller instead
> + of crashing the system. Say yes if you have a driver that uses this.
> +
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Dan Williams <dan.j.williams@intel.com> |
|---|---|
| Date | 2015-12-21 20:20 +0100 |
| Subject | Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables |
| Message-ID | <qIe9X-25k-5@gated-at.bofh.it> |
| In reply to | #1296131 |
On Mon, Dec 21, 2015 at 10:18 AM, Borislav Petkov <bp@alien8.de> wrote: > On Tue, Dec 15, 2015 at 05:29:30PM -0800, Tony Luck wrote: >> Copy the existing page fault fixup mechanisms to create a new table >> to be used when fixing machine checks. Note: >> 1) At this time we only provide a macro to annotate assembly code >> 2) We assume all fixups will in code builtin to the kernel. >> 3) Only for x86_64 >> 4) New code under CONFIG_MCE_KERNEL_RECOVERY (default 'n') >> >> Signed-off-by: Tony Luck <tony.luck@intel.com> >> --- >> arch/x86/Kconfig | 10 ++++++++++ >> arch/x86/include/asm/asm.h | 10 ++++++++-- >> arch/x86/include/asm/mce.h | 14 ++++++++++++++ >> arch/x86/kernel/cpu/mcheck/mce.c | 16 ++++++++++++++++ >> arch/x86/kernel/vmlinux.lds.S | 6 +++++- >> arch/x86/mm/extable.c | 19 +++++++++++++++++++ >> include/asm-generic/vmlinux.lds.h | 12 +++++++----- >> 7 files changed, 79 insertions(+), 8 deletions(-) >> >> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig >> index 96d058a87100..42d26b4d1ec4 100644 >> --- a/arch/x86/Kconfig >> +++ b/arch/x86/Kconfig >> @@ -1001,6 +1001,16 @@ config X86_MCE_INJECT >> If you don't know what a machine check is and you don't do kernel >> QA it is safe to say n. >> >> +config MCE_KERNEL_RECOVERY >> + bool "Recovery from machine checks in special kernel memory copy functions" >> + default n >> + depends on X86_MCE && X86_64 > > Still no dependency on CONFIG_LIBNVDIMM. I suggested we reverse the dependency and have the driver optionally "select MCE_KERNEL_RECOVERY". There may be other drivers outside of LIBNVDIMM that want this functionality enabled. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Borislav Petkov <bp@alien8.de> |
|---|---|
| Date | 2015-12-21 21:20 +0100 |
| Subject | Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables |
| Message-ID | <qIf62-2GM-13@gated-at.bofh.it> |
| In reply to | #1296158 |
On Mon, Dec 21, 2015 at 11:16:44AM -0800, Dan Williams wrote:
> I suggested we reverse the dependency and have the driver optionally
> "select MCE_KERNEL_RECOVERY". There may be other drivers outside of
> LIBNVDIMM that want this functionality enabled.
Ah ok, makes sense.
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Borislav Petkov <bp@alien8.de> |
|---|---|
| Date | 2015-12-22 12:20 +0100 |
| Subject | Re: [PATCHV3 1/3] x86, ras: Add new infrastructure for machine check fixup tables |
| Message-ID | <qIt8Z-3dF-5@gated-at.bofh.it> |
| In reply to | #1293141 |
On Tue, Dec 15, 2015 at 05:29:30PM -0800, Tony Luck wrote:
> Copy the existing page fault fixup mechanisms to create a new table
> to be used when fixing machine checks. Note:
> 1) At this time we only provide a macro to annotate assembly code
> 2) We assume all fixups will in code builtin to the kernel.
> 3) Only for x86_64
> 4) New code under CONFIG_MCE_KERNEL_RECOVERY (default 'n')
>
> Signed-off-by: Tony Luck <tony.luck@intel.com>
> ---
> arch/x86/Kconfig | 10 ++++++++++
> arch/x86/include/asm/asm.h | 10 ++++++++--
> arch/x86/include/asm/mce.h | 14 ++++++++++++++
> arch/x86/kernel/cpu/mcheck/mce.c | 16 ++++++++++++++++
> arch/x86/kernel/vmlinux.lds.S | 6 +++++-
> arch/x86/mm/extable.c | 19 +++++++++++++++++++
> include/asm-generic/vmlinux.lds.h | 12 +++++++-----
> 7 files changed, 79 insertions(+), 8 deletions(-)
Reviewed-by: Borislav Petkov <bp@suse.de>
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web