All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@suse.de>
To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brian Gerst <brgerst@gmail.com>,
	Chris Metcalf <cmetcalf@mellanox.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Huang Rui <ray.huang@amd.com>, Jiri Slaby <jslaby@suse.cz>,
	Jonathan Corbet <corbet@lwn.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Paul Gortmaker <paul.gortmaker@windriver.com>,
	Vlastimil Babka <vbabka@suse.cz>, Chen Yucong <slaoub@gmail.com>,
	Alexandre Julliard <julliard@winehq.org>,
	Stas Sergeev <stsp@list.ru>, Fenghua Yu <fenghua.yu@intel.com>,
	"Ravi V. Shankar" <ravi.v.shankar@intel.com>,
	Shuah Khan <shuah@kernel.org>,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	linux-msdos@vger.kernel.org, wine-devel@winehq.org,
	Adam Buchbinder <adam.buchbinder@gmail.com>,
	Colin Ian King <colin.king@canonical.com>,
	Lorenzo Stoakes <lstoakes@gmail.com>,
	Qiaowei Ren <qiaowei.ren@intel.com>,
	Nathan Howard <liverlint@gmail.com>,
	Adan Hawthorn <adanhawthorn@gmail.com>,
	Joe Perches <joe@perches.com>
Subject: Re: [v6 PATCH 03/21] x86/mpx: Do not use R/EBP as base in the SIB byte with Mod = 0
Date: Wed, 12 Apr 2017 00:08:16 +0200	[thread overview]
Message-ID: <20170411220816.2u3o72qnwcwq7jzc@pd.tnic> (raw)
In-Reply-To: <20170308003254.27833-4-ricardo.neri-calderon@linux.intel.com>

On Tue, Mar 07, 2017 at 04:32:36PM -0800, Ricardo Neri wrote:
> Section 2.2.1.2 of the Intel 64 and IA-32 Architectures Software
> Developer's Manual volume 2A states that when a SIB byte is used and the
> base of the SIB byte points to R/EBP (i.e., base = 5) and the mod part
> of the ModRM byte is zero, the value of such register will not be used
> as part of the address computation. To signal this, a -EDOM error is
> returned to indicate callers that they should ignore the value.
> 
> Also, for this particular case, a displacement of 32-bits should follow
> the SIB byte if the mod part of ModRM is equal to zero. The instruction
> decoder ensures that this is the case.
> 
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: Adam Buchbinder <adam.buchbinder@gmail.com>
> Cc: Colin Ian King <colin.king@canonical.com>
> Cc: Lorenzo Stoakes <lstoakes@gmail.com>
> Cc: Qiaowei Ren <qiaowei.ren@intel.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Nathan Howard <liverlint@gmail.com>
> Cc: Adan Hawthorn <adanhawthorn@gmail.com>
> Cc: Joe Perches <joe@perches.com>
> Cc: Ravi V. Shankar <ravi.v.shankar@intel.com>
> Cc: x86@kernel.org
> Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
> ---
>  arch/x86/mm/mpx.c | 29 ++++++++++++++++++++++-------
>  1 file changed, 22 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/x86/mm/mpx.c b/arch/x86/mm/mpx.c
> index d9e92d6..ef7eb67 100644
> --- a/arch/x86/mm/mpx.c
> +++ b/arch/x86/mm/mpx.c
> @@ -121,6 +121,17 @@ static int get_reg_offset(struct insn *insn, struct pt_regs *regs,
>  
>  	case REG_TYPE_BASE:
>  		regno = X86_SIB_BASE(insn->sib.value);
> +		/*
> +		 * If mod is 0 and register R/EBP (regno=5) is indicated in the
> +		 * base part of the SIB byte,

you can simply say here: "if SIB.base == 5, the base of the
register-indirect addressing is 0."

> the value of such register should
> +		 * not be used in the address computation. Also, a 32-bit

Not "Also" but "In this case, a 32-bit displacement..."

> +		 * displacement is expected in this case; the instruction
> +		 * decoder takes care of it. This is true for both R13 and
> +		 * R/EBP as REX.B will not be decoded.

You don't need that sentence as the only thing that matters is ModRM.mod
being 0.

> +		 */
> +		if (regno == 5 && X86_MODRM_MOD(insn->modrm.value) == 0)

The 0 test we normally do with the ! (also flip parts of if-condition):

		if (!X86_MODRM_MOD(insn->modrm.value) && regno == 5)

> +			return -EDOM;
> +
>  		if (X86_REX_B(insn->rex_prefix.value))
>  			regno += 8;
>  		break;
> @@ -161,16 +172,21 @@ static void __user *mpx_get_addr_ref(struct insn *insn, struct pt_regs *regs)
>  		eff_addr = regs_get_register(regs, addr_offset);
>  	} else {
>  		if (insn->sib.nbytes) {
> +			/*
> +			 * Negative values in the base and index offset means
> +			 * an error when decoding the SIB byte. Except -EDOM,
> +			 * which means that the registers should not be used
> +			 * in the address computation.
> +			 */
>  			base_offset = get_reg_offset(insn, regs, REG_TYPE_BASE);
> -			if (base_offset < 0)
> +			if (unlikely(base_offset == -EDOM))
> +				base = 0;
> +			else if (unlikely(base_offset < 0))

Bah, unlikely's in something which is not really a hot path. They only
encumber readability, no need for them.

-- 
Regards/Gruss,
    Boris.

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
-- 

WARNING: multiple messages have this Message-ID (diff)
From: Borislav Petkov <bp@suse.de>
To: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Brian Gerst <brgerst@gmail.com>,
	Chris Metcalf <cmetcalf@mellanox.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Huang Rui <ray.huang@amd.com>, Jiri Slaby <jslaby@suse.cz>,
	Jonathan Corbet <corbet@lwn.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Paul Gortmaker <paul.gortmaker@windriver.com>,
	Vlastimil Babka <vbabka@suse.cz>, Chen Yucong <slaoub@gmail.com>,
	Alexandre Julliard <julliard@winehq.org>,
	Stas Sergeev <stsp@list.ru>, Fenghua Yu <fenghua.yu>
Subject: Re: [v6 PATCH 03/21] x86/mpx: Do not use R/EBP as base in the SIB byte with Mod = 0
Date: Wed, 12 Apr 2017 00:08:16 +0200	[thread overview]
Message-ID: <20170411220816.2u3o72qnwcwq7jzc@pd.tnic> (raw)
In-Reply-To: <20170308003254.27833-4-ricardo.neri-calderon@linux.intel.com>

On Tue, Mar 07, 2017 at 04:32:36PM -0800, Ricardo Neri wrote:
> Section 2.2.1.2 of the Intel 64 and IA-32 Architectures Software
> Developer's Manual volume 2A states that when a SIB byte is used and the
> base of the SIB byte points to R/EBP (i.e., base = 5) and the mod part
> of the ModRM byte is zero, the value of such register will not be used
> as part of the address computation. To signal this, a -EDOM error is
> returned to indicate callers that they should ignore the value.
> 
> Also, for this particular case, a displacement of 32-bits should follow
> the SIB byte if the mod part of ModRM is equal to zero. The instruction
> decoder ensures that this is the case.
> 
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: Adam Buchbinder <adam.buchbinder@gmail.com>
> Cc: Colin Ian King <colin.king@canonical.com>
> Cc: Lorenzo Stoakes <lstoakes@gmail.com>
> Cc: Qiaowei Ren <qiaowei.ren@intel.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Nathan Howard <liverlint@gmail.com>
> Cc: Adan Hawthorn <adanhawthorn@gmail.com>
> Cc: Joe Perches <joe@perches.com>
> Cc: Ravi V. Shankar <ravi.v.shankar@intel.com>
> Cc: x86@kernel.org
> Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
> ---
>  arch/x86/mm/mpx.c | 29 ++++++++++++++++++++++-------
>  1 file changed, 22 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/x86/mm/mpx.c b/arch/x86/mm/mpx.c
> index d9e92d6..ef7eb67 100644
> --- a/arch/x86/mm/mpx.c
> +++ b/arch/x86/mm/mpx.c
> @@ -121,6 +121,17 @@ static int get_reg_offset(struct insn *insn, struct pt_regs *regs,
>  
>  	case REG_TYPE_BASE:
>  		regno = X86_SIB_BASE(insn->sib.value);
> +		/*
> +		 * If mod is 0 and register R/EBP (regno=5) is indicated in the
> +		 * base part of the SIB byte,

you can simply say here: "if SIB.base == 5, the base of the
register-indirect addressing is 0."

> the value of such register should
> +		 * not be used in the address computation. Also, a 32-bit

Not "Also" but "In this case, a 32-bit displacement..."

> +		 * displacement is expected in this case; the instruction
> +		 * decoder takes care of it. This is true for both R13 and
> +		 * R/EBP as REX.B will not be decoded.

You don't need that sentence as the only thing that matters is ModRM.mod
being 0.

> +		 */
> +		if (regno == 5 && X86_MODRM_MOD(insn->modrm.value) == 0)

The 0 test we normally do with the ! (also flip parts of if-condition):

		if (!X86_MODRM_MOD(insn->modrm.value) && regno == 5)

> +			return -EDOM;
> +
>  		if (X86_REX_B(insn->rex_prefix.value))
>  			regno += 8;
>  		break;
> @@ -161,16 +172,21 @@ static void __user *mpx_get_addr_ref(struct insn *insn, struct pt_regs *regs)
>  		eff_addr = regs_get_register(regs, addr_offset);
>  	} else {
>  		if (insn->sib.nbytes) {
> +			/*
> +			 * Negative values in the base and index offset means
> +			 * an error when decoding the SIB byte. Except -EDOM,
> +			 * which means that the registers should not be used
> +			 * in the address computation.
> +			 */
>  			base_offset = get_reg_offset(insn, regs, REG_TYPE_BASE);
> -			if (base_offset < 0)
> +			if (unlikely(base_offset == -EDOM))
> +				base = 0;
> +			else if (unlikely(base_offset < 0))

Bah, unlikely's in something which is not really a hot path. They only
encumber readability, no need for them.

-- 
Regards/Gruss,
    Boris.

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
-- 

  reply	other threads:[~2017-04-11 22:08 UTC|newest]

Thread overview: 222+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-08  0:32 [v6 PATCH 00/21] x86: Enable User-Mode Instruction Prevention Ricardo Neri
2017-03-08  0:32 ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 01/21] x86/mpx: Use signed variables to compute effective addresses Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-11 21:56   ` Borislav Petkov
2017-04-11 21:56     ` Borislav Petkov
2017-04-26  1:40     ` Ricardo Neri
2017-04-26  1:40       ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 02/21] x86/mpx: Do not use SIB index if index points to R/ESP Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-11 11:31   ` Borislav Petkov
2017-04-11 11:31     ` Borislav Petkov
2017-04-26  1:39     ` Ricardo Neri
2017-04-26  1:39       ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 03/21] x86/mpx: Do not use R/EBP as base in the SIB byte with Mod = 0 Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-11 22:08   ` Borislav Petkov [this message]
2017-04-11 22:08     ` Borislav Petkov
2017-04-26  2:04     ` Ricardo Neri
2017-04-26  2:04       ` Ricardo Neri
2017-04-26  8:05       ` Borislav Petkov
2017-04-26  8:05         ` Borislav Petkov
2017-04-27 22:49         ` Ricardo Neri
2017-04-27 22:49           ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 04/21] x86/mpx, x86/insn: Relocate insn util functions to a new insn-kernel Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-12 10:03   ` Borislav Petkov
2017-04-12 10:03     ` Borislav Petkov
2017-04-26  2:05     ` Ricardo Neri
2017-04-26  2:05       ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 05/21] x86/insn-eval: Add utility functions to get register offsets Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-12 16:28   ` Borislav Petkov
2017-04-12 16:28     ` Borislav Petkov
2017-04-26 18:13     ` Ricardo Neri
2017-04-26 18:13       ` Ricardo Neri
2017-04-28 10:40       ` Borislav Petkov
2017-04-28 10:40         ` Borislav Petkov
2017-03-08  0:32 ` [v6 PATCH 06/21] x86/insn-eval: Add utility functions to get segment selector Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-18  9:42   ` Borislav Petkov
2017-04-18  9:42     ` Borislav Petkov
2017-04-26 20:44     ` Ricardo Neri
2017-04-26 20:44       ` Ricardo Neri
2017-04-26 20:47       ` Ricardo Neri
2017-04-26 20:47         ` Ricardo Neri
2017-04-30 17:15       ` Borislav Petkov
2017-04-30 17:15         ` Borislav Petkov
2017-05-05 18:31         ` Ricardo Neri
2017-05-05 18:31           ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 07/21] x86/insn-eval: Add utility function to get segment descriptor Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-19 10:26   ` Borislav Petkov
2017-04-19 10:26     ` Borislav Petkov
2017-04-26 21:51     ` Ricardo Neri
2017-04-26 21:51       ` Ricardo Neri
2017-05-04 11:02       ` Borislav Petkov
2017-05-04 11:02         ` Borislav Petkov
2017-05-12  2:13         ` Ricardo Neri
2017-05-12  2:13           ` Ricardo Neri
2017-05-15 17:27           ` Borislav Petkov
2017-05-15 17:27             ` Borislav Petkov
2017-03-08  0:32 ` [v6 PATCH 08/21] x86/insn-eval: Add utility function to get segment descriptor base address Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-20  8:25   ` Borislav Petkov
2017-04-20  8:25     ` Borislav Petkov
2017-04-26 22:37     ` Ricardo Neri
2017-04-26 22:37       ` Ricardo Neri
2017-05-05 17:19       ` Borislav Petkov
2017-05-05 17:19         ` Borislav Petkov
2017-05-12  2:09         ` Ricardo Neri
2017-05-12  2:09           ` Ricardo Neri
2017-04-26 22:52     ` Ricardo Neri
2017-04-26 22:52       ` Ricardo Neri
2017-05-05 17:28       ` Borislav Petkov
2017-05-05 17:28         ` Borislav Petkov
2017-05-12  2:06         ` Ricardo Neri
2017-05-12  2:06           ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 09/21] x86/insn-eval: Add functions to get default operand and address sizes Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-20 13:06   ` Borislav Petkov
2017-04-20 13:06     ` Borislav Petkov
2017-04-27  1:07     ` Ricardo Neri
2017-04-27  1:07       ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 10/21] x86/insn-eval: Do not use R/EBP as base if mod in ModRM is zero Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-21 10:52   ` Borislav Petkov
2017-04-21 10:52     ` Borislav Petkov
2017-04-27  1:29     ` Ricardo Neri
2017-04-27  1:29       ` Ricardo Neri
2017-05-07 17:20       ` Borislav Petkov
2017-05-07 17:20         ` Borislav Petkov
2017-05-12  1:57         ` Ricardo Neri
2017-05-12  1:57           ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 11/21] insn/eval: Incorporate segment base in address computation Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-21 14:55   ` Borislav Petkov
2017-04-21 14:55     ` Borislav Petkov
2017-04-27  1:31     ` Ricardo Neri
2017-04-27  1:31       ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 12/21] x86/insn: Support both signed 32-bit and 64-bit effective addresses Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-04-25 13:51   ` Borislav Petkov
2017-04-25 13:51     ` Borislav Petkov
2017-04-27  3:33     ` Ricardo Neri
2017-04-27  3:33       ` Ricardo Neri
2017-05-08 11:42       ` Borislav Petkov
2017-05-08 11:42         ` Borislav Petkov
2017-05-12  1:55         ` Ricardo Neri
2017-05-12  1:55           ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 13/21] x86/insn-eval: Add support to resolve 16-bit addressing encodings Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 14/21] x86/insn-eval: Add wrapper function for 16-bit and 32-bit address encodings Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 15/21] x86/mm: Relocate page fault error codes to traps.h Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-03-08 16:08   ` Andy Lutomirski
2017-03-08 16:08     ` Andy Lutomirski
2017-03-08  0:32 ` [v6 PATCH 16/21] x86/cpufeature: Add User-Mode Instruction Prevention definitions Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 17/21] x86: Add emulation code for UMIP instructions Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 18/21] x86/umip: Force a page fault when unable to copy emulated result to user Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 19/21] x86/traps: Fixup general protection faults caused by UMIP Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-03-08 15:54   ` Andy Lutomirski
2017-03-08 15:54     ` Andy Lutomirski
2017-03-08  0:32 ` [v6 PATCH 20/21] x86: Enable User-Mode Instruction Prevention Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-03-08  0:32 ` [v6 PATCH 21/21] selftests/x86: Add tests for " Ricardo Neri
2017-03-08  0:32   ` Ricardo Neri
2017-03-08 15:56   ` Andy Lutomirski
2017-03-08 15:56     ` Andy Lutomirski
2017-03-10 23:38     ` Ricardo Neri
2017-03-10 23:38       ` Ricardo Neri
2017-03-08 14:08 ` [v6 PATCH 00/21] x86: Enable " Stas Sergeev
2017-03-08 14:08   ` Stas Sergeev
2017-03-08 16:06   ` Andy Lutomirski
2017-03-08 16:06     ` Andy Lutomirski
2017-03-08 16:29     ` Stas Sergeev
2017-03-08 16:29       ` Stas Sergeev
2017-03-08 16:46       ` Andy Lutomirski
2017-03-08 16:46         ` Andy Lutomirski
2017-03-08 16:53         ` Stas Sergeev
2017-03-08 16:53           ` Stas Sergeev
2017-03-09  1:11           ` Ricardo Neri
2017-03-09  1:11             ` Ricardo Neri
2017-03-09 22:05             ` Stas Sergeev
2017-03-09 22:05               ` Stas Sergeev
2017-03-10  2:41             ` Andy Lutomirski
2017-03-10  2:41               ` Andy Lutomirski
2017-03-10 10:30               ` Stas Sergeev
2017-03-10 10:30                 ` Stas Sergeev
2017-03-10 21:04                 ` Andy Lutomirski
2017-03-10 21:04                   ` Andy Lutomirski
2017-03-10 21:37                   ` Stas Sergeev
2017-03-10 21:37                     ` Stas Sergeev
2017-03-09  1:15         ` Ricardo Neri
2017-03-09  1:15           ` Ricardo Neri
2017-03-09 22:10           ` Stas Sergeev
2017-03-09 22:10             ` Stas Sergeev
2017-03-10  2:39             ` Andy Lutomirski
2017-03-10  2:39               ` Andy Lutomirski
2017-03-10 11:33               ` Stas Sergeev
2017-03-10 11:33                 ` Stas Sergeev
2017-03-10 14:17                 ` Andy Lutomirski
2017-03-10 14:17                   ` Andy Lutomirski
2017-03-11  1:22                   ` Ricardo Neri
2017-03-11  1:22                     ` Ricardo Neri
2017-03-10 23:59                 ` Ricardo Neri
2017-03-10 23:59                   ` Ricardo Neri
2017-03-13 21:25                   ` Stas Sergeev
2017-03-13 21:25                     ` Stas Sergeev
2017-03-27 23:46                     ` Ricardo Neri
2017-03-27 23:46                       ` Ricardo Neri
2017-03-28  9:38                       ` Stas Sergeev
2017-03-28  9:38                         ` Stas Sergeev
2017-03-29  4:38                         ` Ricardo Neri
2017-03-29  4:38                           ` Ricardo Neri
2017-03-29 20:55                           ` Stas Sergeev
2017-03-29 20:55                             ` Stas Sergeev
2017-03-30  5:14                             ` Ricardo Neri
2017-03-30  5:14                               ` Ricardo Neri
2017-03-30 10:10                               ` Stas Sergeev
2017-03-30 10:10                                 ` Stas Sergeev
2017-03-31  1:33                                 ` Ricardo Neri
2017-03-31  1:33                                   ` Ricardo Neri
2017-03-31 14:11                                   ` Alexandre Julliard
2017-03-31 14:11                                     ` Alexandre Julliard
2017-03-31 21:26                                     ` Stas Sergeev
2017-03-31 21:26                                       ` Stas Sergeev
2017-04-01  2:18                                       ` Andy Lutomirski
2017-04-01  2:18                                         ` Andy Lutomirski
2017-04-04  2:02                                     ` Ricardo Neri
2017-04-04  2:02                                       ` Ricardo Neri
2017-04-04  6:08                                       ` Alexandre Julliard
2017-04-04  6:08                                         ` Alexandre Julliard
2017-04-01 13:08                               ` Stas Sergeev
2017-04-01 13:08                                 ` Stas Sergeev
2017-04-01 17:49                                 ` H. Peter Anvin
2017-04-01 17:49                                   ` H. Peter Anvin
2017-04-02 15:52                                   ` Andy Lutomirski
2017-04-04  9:59                                   ` Stas Sergeev
2017-04-04  2:05                                 ` Ricardo Neri
2017-04-04  2:05                                   ` Ricardo Neri
2017-04-04  8:03                                   ` Stas Sergeev
2017-04-04  8:03                                     ` Stas Sergeev
2017-03-10 23:58               ` Ricardo Neri
2017-03-10 23:58                 ` Ricardo Neri
2017-03-09  0:46   ` Ricardo Neri
2017-03-09  0:46     ` Ricardo Neri
2017-03-09 22:01     ` Stas Sergeev
2017-03-09 22:01       ` Stas Sergeev
2017-03-10 23:47       ` Ricardo Neri
2017-03-10 23:47         ` Ricardo Neri
2017-03-10 23:58         ` Stas Sergeev
2017-03-10 23:58           ` Stas Sergeev
2017-03-11  0:13           ` Ricardo Neri
2017-03-11  0:13             ` Ricardo Neri
2017-03-08 16:07 ` Andy Lutomirski
2017-03-08 16:07   ` Andy Lutomirski

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=20170411220816.2u3o72qnwcwq7jzc@pd.tnic \
    --to=bp@suse.de \
    --cc=adam.buchbinder@gmail.com \
    --cc=adanhawthorn@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=brgerst@gmail.com \
    --cc=cmetcalf@mellanox.com \
    --cc=colin.king@canonical.com \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=joe@perches.com \
    --cc=jslaby@suse.cz \
    --cc=julliard@winehq.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-msdos@vger.kernel.org \
    --cc=liverlint@gmail.com \
    --cc=lstoakes@gmail.com \
    --cc=luto@kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mst@redhat.com \
    --cc=paul.gortmaker@windriver.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=qiaowei.ren@intel.com \
    --cc=ravi.v.shankar@intel.com \
    --cc=ray.huang@amd.com \
    --cc=ricardo.neri-calderon@linux.intel.com \
    --cc=shuah@kernel.org \
    --cc=slaoub@gmail.com \
    --cc=stsp@list.ru \
    --cc=tglx@linutronix.de \
    --cc=vbabka@suse.cz \
    --cc=wine-devel@winehq.org \
    --cc=x86@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.