All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch V6 00/14] MDS basics 0
@ 2019-03-01 21:47 Thomas Gleixner
  2019-03-01 21:47 ` [patch V6 01/14] MDS basics 1 Thomas Gleixner
                   ` (15 more replies)
  0 siblings, 16 replies; 64+ messages in thread
From: Thomas Gleixner @ 2019-03-01 21:47 UTC (permalink / raw)
  To: speck

Changes vs. V5:

  - Fix tools/ build (Josh)

  - Dropped the AIRMONT_MID change as it needs confirmation from Intel

  - Made the consolidated whitelist more readable and correct

  - Added the MSBDS only quirk for XEON PHI, made the idle flush
    depend on it and updated the sysfs output accordingly.

  - Fixed the protection matrix in the admin documentation and clarified
    the SMT situation vs. MSBDS only.

  - Updated the KVM/VMX changelog.

Delta patch against V5 below.

Available from git:

   cvs.ou.linutronix.de:linux/speck/linux WIP.mds

The linux-4.20.y, linux-4.19.y and linux-4.14.y branches are updated as
well and contain the untested backports of the pile for reference.

I'll send git bundles of the pile as well.

Thanks,

	tglx

8<---------------------------
diff --git a/Documentation/admin-guide/hw-vuln/mds.rst b/Documentation/admin-guide/hw-vuln/mds.rst
index 73cdc390aece..1de29d28903d 100644
--- a/Documentation/admin-guide/hw-vuln/mds.rst
+++ b/Documentation/admin-guide/hw-vuln/mds.rst
@@ -23,6 +23,10 @@ vulnerability is not present on:
 Whether a processor is affected or not can be read out from the MDS
 vulnerability file in sysfs. See :ref:`mds_sys_info`.
 
+Not all processors are affected by all variants of MDS, but the mitigation
+is identical for all of them so the kernel treats them as a single
+vulnerability.
+
 Related CVEs
 ------------
 
@@ -112,6 +116,7 @@ to the above information:
 
     ========================  ============================================
     'SMT vulnerable'          SMT is enabled
+    'SMT mitigated'           SMT is enabled and mitigated
     'SMT disabled'            SMT is disabled
     'SMT Host state unknown'  Kernel runs in a VM, Host SMT state unknown
     ========================  ============================================
@@ -153,8 +158,12 @@ CPU buffer clearing
   The mitigation for MDS clears the affected CPU buffers on return to user
   space and when entering a guest.
 
-  If SMT is enabled it also clears the buffers on idle entry, but that's not
-  a sufficient SMT protection for all MDS variants; it covers solely MSBDS.
+  If SMT is enabled it also clears the buffers on idle entry when the CPU
+  is only affected by MSBDS and not any other MDS variant, because the
+  other variants cannot be protected against cross Hyper-Thread attacks.
+
+  For CPUs which are only affected by MSBDS the user space, guest and idle
+  transition mitigations are sufficient and SMT is not affected.
 
 .. _virt_mechanism:
 
@@ -168,8 +177,10 @@ Virtualization mitigation
 
     If the L1D flush mitigation is enabled and up to date microcode is
     available, the L1D flush mitigation is automatically protecting the
-    guest transition. If the L1D flush mitigation is disabled the MDS
-    mitigation is disabled as well.
+    guest transition.
+
+    If the L1D flush mitigation is disabled then the MDS mitigation is
+    invoked explicit when the host MDS mitigation is enabled.
 
     For details on L1TF and virtualization see:
     :ref:`Documentation/admin-guide/hw-vuln//l1tf.rst <mitigation_control_kvm>`.
@@ -177,16 +188,18 @@ Virtualization mitigation
   - CPU is not affected by L1TF:
 
     CPU buffers are flushed before entering the guest when the host MDS
-    protection is enabled.
+    mitigation is enabled.
 
   The resulting MDS protection matrix for the host to guest transition:
 
   ============ ===== ============= ============ =================
-   L1TF         MDS   VMX-L1FLUSH   Host MDS     State
+   L1TF         MDS   VMX-L1FLUSH   Host MDS     MDS-State
 
    Don't care   No    Don't care    N/A          Not affected
 
-   Yes          Yes   Disabled      Don't care   Vulnerable
+   Yes          Yes   Disabled      Off          Vulnerable
+
+   Yes          Yes   Disabled      Full         Mitigated
 
    Yes          Yes   Enabled       Don't care   Mitigated
 
@@ -196,7 +209,7 @@ Virtualization mitigation
   ============ ===== ============= ============ =================
 
   This only covers the host to guest transition, i.e. prevents leakage from
-  host to guest, but does not protect the guest internally. Guest need to
+  host to guest, but does not protect the guest internally. Guests need to
   have their own protections.
 
 .. _xeon_phi:
@@ -210,14 +223,22 @@ XEON PHI specific considerations
   for malicious user space. The exposure can be disabled on the kernel
   command line with the 'ring3mwait=disable' command line option.
 
+  XEON PHI is not affected by the other MDS variants and MSBDS is mitigated
+  before the CPU enters a idle state. As XEON PHI is not affected by L1TF
+  either disabling SMT is not required for full protection.
+
 .. _mds_smt_control:
 
 SMT control
 ^^^^^^^^^^^
 
-  To prevent the SMT issues of MDS it might be necessary to disable SMT
-  completely. Disabling SMT can have a significant performance impact, but
-  the impact depends on the type of workloads.
+  All MDS variants except MSBDS can be attacked cross Hyper-Threads. That
+  means on CPUs which are affected by MFBDS or MLPDS it is necessary to
+  disable SMT for full protection. These are most of the affected CPUs; the
+  exception is XEON PHI, see :ref:`xeon_phi`.
+
+  Disabling SMT can have a significant performance impact, but the impact
+  depends on the type of workloads.
 
   See the relevant chapter in the L1TF mitigation documentation for details:
   :ref:`Documentation/admin-guide/hw-vuln/l1tf.rst <smt_control>`.
@@ -260,9 +281,7 @@ Mitigation selection guide
 2. Virtualization with trusted guests
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-   The same considerations as above versus trusted user space apply. See
-   also: :ref:`Documentation/admin-guide/hw-vuln//l1tf.rst <mitigation_selection>`.
-
+   The same considerations as above versus trusted user space apply.
 
 3. Virtualization with untrusted guests
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -270,6 +289,8 @@ Mitigation selection guide
    The protection depends on the state of the L1TF mitigations.
    See :ref:`virt_mechanism`.
 
+   If the MDS mitigation is enabled and SMT is disabled, guest to host and
+   guest to guest attacks are prevented.
 
 .. _mds_default_mitigations:
 
diff --git a/Documentation/x86/mds.rst b/Documentation/x86/mds.rst
index b050623c869c..3d6f943f1afb 100644
--- a/Documentation/x86/mds.rst
+++ b/Documentation/x86/mds.rst
@@ -107,19 +107,19 @@ user space or VM guests.
 Kernel internal mitigation modes
 --------------------------------
 
- ======= ===========================================================
- off     Mitigation is disabled. Either the CPU is not affected or
-         mds=off is supplied on the kernel command line
+ ======= ============================================================
+ off      Mitigation is disabled. Either the CPU is not affected or
+          mds=off is supplied on the kernel command line
 
- full    Mitigation is eanbled. CPU is affected and MD_CLEAR is
-         advertised in CPUID.
+ full     Mitigation is eanbled. CPU is affected and MD_CLEAR is
+          advertised in CPUID.
 
- vmwerv	 Mitigation is enabled. CPU is affected and MD_CLEAR is not
-	 advertised in CPUID. That is mainly for virtualization
-	 scenarios where the host has the updated microcode but the
-	 hypervisor does not expose MD_CLEAR in CPUID. It's a best
-	 effort approach without guarantee.
- ======= ===========================================================
+ vmwerv	  Mitigation is enabled. CPU is affected and MD_CLEAR is not
+	  advertised in CPUID. That is mainly for virtualization
+	  scenarios where the host has the updated microcode but the
+	  hypervisor does not expose MD_CLEAR in CPUID. It's a best
+	  effort approach without guarantee.
+ ======= ============================================================
 
 If the CPU is affected and mds=off is not supplied on the kernel command
 line then the kernel selects the appropriate mitigation mode depending on
@@ -189,6 +189,13 @@ Mitigation points
    When SMT is inactive, i.e. either the CPU does not support it or all
    sibling threads are offline CPU buffer clearing is not required.
 
+   The idle clearing is enabled on CPUs which are only affected by MSBDS
+   and not by any other MDS variant. The other MDS variants cannot be
+   protected against cross Hyper-Thread attacks because the Fill Buffer and
+   the Load Ports are shared. So on CPUs affected by other variants, the
+   idle clearing would be a window dressing exercise and is therefore not
+   activated.
+
    The invocation is controlled by the static key mds_idle_clear which is
    switched depending on the chosen mitigation mode and the SMT state of
    the system.
diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
index ae3f987b24f1..bdcea163850a 100644
--- a/arch/x86/include/asm/cpufeatures.h
+++ b/arch/x86/include/asm/cpufeatures.h
@@ -383,5 +383,6 @@
 #define X86_BUG_SPEC_STORE_BYPASS	X86_BUG(17) /* CPU is affected by speculative store bypass attack */
 #define X86_BUG_L1TF			X86_BUG(18) /* CPU is affected by L1 Terminal Fault */
 #define X86_BUG_MDS			X86_BUG(19) /* CPU is affected by Microarchitectural data sampling */
+#define X86_BUG_MSBDS_ONLY		X86_BUG(20) /* CPU is only affected by the  MSDBS variant of BUG_MDS */
 
 #endif /* _ASM_X86_CPUFEATURES_H */
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index aea871e69d64..e11654f93e71 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -667,6 +667,15 @@ static void update_indir_branch_cond(void)
 /* Update the static key controlling the MDS CPU buffer clear in idle */
 static void update_mds_branch_idle(void)
 {
+	/*
+	 * Enable the idle clearing on CPUs which are affected only by
+	 * MDBDS and not any other MDS variant. The other variants cannot
+	 * be mitigated when SMT is enabled, so clearing the buffers on
+	 * idle would be a window dressing exercise.
+	 */
+	if (!boot_cpu_has(X86_BUG_MSBDS_ONLY))
+		return;
+
 	if (sched_smt_active())
 		static_branch_enable(&mds_idle_clear);
 	else
@@ -1174,6 +1183,11 @@ static ssize_t mds_show_state(char *buf)
 			       mds_strings[mds_mitigation]);
 	}
 
+	if (boot_cpu_has(X86_BUG_MSBDS_ONLY)) {
+		return sprintf(buf, "%s; SMT %s\n", mds_strings[mds_mitigation],
+			       sched_smt_active() ? "mitigated" : "disabled");
+	}
+
 	return sprintf(buf, "%s; SMT %s\n", mds_strings[mds_mitigation],
 		       sched_smt_active() ? "vulnerable" : "disabled");
 }
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 389853338c2f..71d953a2c4db 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -953,38 +953,57 @@ static void identify_cpu_without_cpuid(struct cpuinfo_x86 *c)
 #define NO_SSB		BIT(2)
 #define NO_L1TF		BIT(3)
 #define NO_MDS		BIT(4)
+#define MSBDS_ONLY	BIT(5)
+
+#define VULNWL(_vendor, _family, _model, _whitelist)	\
+	{ X86_VENDOR_##_vendor, _family, _model, X86_FEATURE_ANY, _whitelist }
+
+#define VULNWL_INTEL(model, whitelist)		\
+	VULNWL(INTEL, 6, INTEL_FAM6_##model, whitelist)
+
+#define VULNWL_AMD(family, whitelist)		\
+	VULNWL(AMD, family, X86_MODEL_ANY, whitelist)
+
+#define VULNWL_HYGON(family, whitelist)		\
+	VULNWL(HYGON, family, X86_MODEL_ANY, whitelist)
 
 static const __initconst struct x86_cpu_id cpu_vuln_whitelist[] = {
-	{ X86_VENDOR_ANY,	4, X86_MODEL_ANY,			X86_FEATURE_ANY, NO_SPECULATION },
-	{ X86_VENDOR_CENTAUR,	5, X86_MODEL_ANY,			X86_FEATURE_ANY, NO_SPECULATION },
-	{ X86_VENDOR_INTEL,	5, X86_MODEL_ANY,			X86_FEATURE_ANY, NO_SPECULATION },
-	{ X86_VENDOR_NSC,	5, X86_MODEL_ANY,			X86_FEATURE_ANY, NO_SPECULATION },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_SALTWELL,		X86_FEATURE_ANY, NO_SPECULATION },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_SALTWELL_TABLET,	X86_FEATURE_ANY, NO_SPECULATION },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_BONNELL_MID,		X86_FEATURE_ANY, NO_SPECULATION },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_SALTWELL_MID,	X86_FEATURE_ANY, NO_SPECULATION },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_BONNELL,		X86_FEATURE_ANY, NO_SPECULATION },
-
-	{ X86_VENDOR_AMD,	X86_FAMILY_ANY, X86_MODEL_ANY,		X86_FEATURE_ANY, NO_MELTDOWN | NO_L1TF },
-	{ X86_VENDOR_HYGON,	X86_FAMILY_ANY, X86_MODEL_ANY,		X86_FEATURE_ANY, NO_MELTDOWN | NO_L1TF },
-
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_SILVERMONT,		X86_FEATURE_ANY, NO_SSB | NO_L1TF },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_SILVERMONT_X,	X86_FEATURE_ANY, NO_SSB | NO_L1TF },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_SILVERMONT_MID,	X86_FEATURE_ANY, NO_SSB | NO_L1TF },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_AIRMONT,		X86_FEATURE_ANY, NO_SSB | NO_L1TF },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_AIRMONT_MID,		X86_FEATURE_ANY, NO_SSB | NO_L1TF },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_CORE_YONAH,		X86_FEATURE_ANY, NO_SSB | NO_L1TF },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_XEON_PHI_KNL,		X86_FEATURE_ANY, NO_SSB | NO_L1TF },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_XEON_PHI_KNM,		X86_FEATURE_ANY, NO_SSB | NO_L1TF },
-
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_GOLDMONT,		X86_FEATURE_ANY, NO_L1TF | NO_MDS },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_GOLDMONT_X,		X86_FEATURE_ANY, NO_L1TF | NO_MDS },
-	{ X86_VENDOR_INTEL,	6, INTEL_FAM6_ATOM_GOLDMONT_PLUS,	X86_FEATURE_ANY, NO_L1TF | NO_MDS },
-
-	{ X86_VENDOR_AMD,	0x0f, X86_MODEL_ANY,			X86_FEATURE_ANY, NO_SSB },
-	{ X86_VENDOR_AMD,	0x10, X86_MODEL_ANY,			X86_FEATURE_ANY, NO_SSB },
-	{ X86_VENDOR_AMD,	0x11, X86_MODEL_ANY,			X86_FEATURE_ANY, NO_SSB },
-	{ X86_VENDOR_AMD,	0x12, X86_MODEL_ANY,			X86_FEATURE_ANY, NO_SSB },
+	VULNWL(ANY,	4, X86_MODEL_ANY,	NO_SPECULATION),
+	VULNWL(CENTAUR,	5, X86_MODEL_ANY,	NO_SPECULATION),
+	VULNWL(INTEL,	5, X86_MODEL_ANY,	NO_SPECULATION),
+	VULNWL(NSC,	5, X86_MODEL_ANY,	NO_SPECULATION),
+
+	/* Intel Family 6 */
+	VULNWL_INTEL(ATOM_SALTWELL,		NO_SPECULATION),
+	VULNWL_INTEL(ATOM_SALTWELL_TABLET,	NO_SPECULATION),
+	VULNWL_INTEL(ATOM_SALTWELL_MID,		NO_SPECULATION),
+	VULNWL_INTEL(ATOM_BONNELL,		NO_SPECULATION),
+	VULNWL_INTEL(ATOM_BONNELL_MID,		NO_SPECULATION),
+
+	VULNWL_INTEL(ATOM_SILVERMONT,		NO_SSB | NO_L1TF),
+	VULNWL_INTEL(ATOM_SILVERMONT_X,		NO_SSB | NO_L1TF),
+	VULNWL_INTEL(ATOM_SILVERMONT_MID,	NO_SSB | NO_L1TF),
+	VULNWL_INTEL(ATOM_AIRMONT,		NO_SSB | NO_L1TF),
+	VULNWL_INTEL(XEON_PHI_KNL,		NO_SSB | NO_L1TF | MSBDS_ONLY),
+	VULNWL_INTEL(XEON_PHI_KNM,		NO_SSB | NO_L1TF | MSBDS_ONLY),
+
+	VULNWL_INTEL(CORE_YONAH,		NO_SSB),
+
+	VULNWL_INTEL(ATOM_AIRMONT_MID,		NO_L1TF),
+
+	VULNWL_INTEL(ATOM_GOLDMONT,		NO_MDS | NO_L1TF),
+	VULNWL_INTEL(ATOM_GOLDMONT_X,		NO_MDS | NO_L1TF),
+	VULNWL_INTEL(ATOM_GOLDMONT_PLUS,	NO_MDS | NO_L1TF),
+
+	/* AMD Family 0xf - 0x12 */
+	VULNWL_AMD(0x0f,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS),
+	VULNWL_AMD(0x10,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS),
+	VULNWL_AMD(0x11,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS),
+	VULNWL_AMD(0x12,	NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS),
+
+	/* FAMILY_ANY must be last, otherwise 0x0f - 0x12 matches won't work */
+	VULNWL_AMD(X86_FAMILY_ANY,	NO_MELTDOWN | NO_L1TF | NO_MDS),
+	VULNWL_HYGON(X86_FAMILY_ANY,	NO_MELTDOWN | NO_L1TF | NO_MDS),
 	{}
 };
 
@@ -1015,8 +1034,11 @@ static void __init cpu_set_bug_bits(struct cpuinfo_x86 *c)
 	if (ia32_cap & ARCH_CAP_IBRS_ALL)
 		setup_force_cpu_cap(X86_FEATURE_IBRS_ENHANCED);
 
-	if (!cpu_matches(NO_MDS) && !(ia32_cap & ARCH_CAP_MDS_NO))
+	if (!cpu_matches(NO_MDS) && !(ia32_cap & ARCH_CAP_MDS_NO)) {
 		setup_force_cpu_bug(X86_BUG_MDS);
+		if (cpu_matches(MSBDS_ONLY))
+			setup_force_cpu_bug(X86_BUG_MSBDS_ONLY);
+	}
 
 	if (cpu_matches(NO_MELTDOWN))
 		return;
diff --git a/tools/power/x86/turbostat/Makefile b/tools/power/x86/turbostat/Makefile
index 1598b4fa0b11..045f5f7d68ab 100644
--- a/tools/power/x86/turbostat/Makefile
+++ b/tools/power/x86/turbostat/Makefile
@@ -9,7 +9,7 @@ ifeq ("$(origin O)", "command line")
 endif
 
 turbostat : turbostat.c
-override CFLAGS +=	-Wall
+override CFLAGS +=	-Wall -I../../../include
 override CFLAGS +=	-DMSRHEADER='"../../../../arch/x86/include/asm/msr-index.h"'
 override CFLAGS +=	-DINTEL_FAMILY_HEADER='"../../../../arch/x86/include/asm/intel-family.h"'
 
diff --git a/tools/power/x86/x86_energy_perf_policy/Makefile b/tools/power/x86/x86_energy_perf_policy/Makefile
index ae7a0e09b722..1fdeef864e7c 100644
--- a/tools/power/x86/x86_energy_perf_policy/Makefile
+++ b/tools/power/x86/x86_energy_perf_policy/Makefile
@@ -9,7 +9,7 @@ ifeq ("$(origin O)", "command line")
 endif
 
 x86_energy_perf_policy : x86_energy_perf_policy.c
-override CFLAGS +=	-Wall
+override CFLAGS +=	-Wall -I../../../include
 override CFLAGS +=	-DMSRHEADER='"../../../../arch/x86/include/asm/msr-index.h"'
 
 %: %.c

^ permalink raw reply related	[flat|nested] 64+ messages in thread
* [patch V3 0/9] MDS basics 0
@ 2019-02-21 23:44 Thomas Gleixner
  2019-02-21 23:44 ` [patch V3 4/9] MDS basics 4 Thomas Gleixner
  0 siblings, 1 reply; 64+ messages in thread
From: Thomas Gleixner @ 2019-02-21 23:44 UTC (permalink / raw)
  To: speck

Hi!

Thanks for the valuable feedback to everyone!

Changes since V2:

 - Added the NMI mitigation and added an explanation. Thanks Andi and
   Kees.

 - Fixed the VERW asm magic as pointed out by Andrew and added
   more explanation as requested by Borislav and Andrew.

 - Adopted Peter's static branch suggestions

 - Renamed the _HOPE mode to _VMWERV along with an explanation of the
   acronym in the changelog. Thanks Mark for the inspiration.

 - Updated documentation. The return to user section has changed a
   lot. Added some explanation about assumptions and hopefully fixed all
   issues mentioned by Borislav, Andrew, Greg....

 - Cleaned up the bitmask issues in the speculation MSR defines as
   pointed out by Greg.

 - Got the Copy & Paste in the sysfs code right this time.

 - Dropped the conditional mode stuff for now. Needs more thought on
   all ends and I wish we just don't need it at all :)

 - Collected a few Reviewed-by tags, but not for the patches which
   have significant changes.

The admin documentation is still WIP, so not included.

It's also available through the git repository in the force updated
branch: WIP.mds

Thanks,

	tglx


 

^ permalink raw reply	[flat|nested] 64+ messages in thread
* [patch V2 00/10] MDS basics+ 0
@ 2019-02-20 15:07 Thomas Gleixner
  2019-02-20 15:07 ` [patch V2 04/10] MDS basics+ 4 Thomas Gleixner
  0 siblings, 1 reply; 64+ messages in thread
From: Thomas Gleixner @ 2019-02-20 15:07 UTC (permalink / raw)
  To: speck

Hi!

This is an update to yesterdays series with the following changes:

   - Addressed review comments (on/off list)

   - Changed the approach with static keys slightly

   - Added "cc" clobber to the VERW asm magic (spotted by Peterz)

   - Added x86 specific documentation which explains the mitigation methods
     and details on why particular code pathes are excluded.

   - Added an internal 'HOPE' mitigation mode to address the VMWare wish.

   - Added the basic infrastructure for conditional mode

Dropped the documentation patch for now as I'm not done with updating it
and I have to run now and attend my grandson's birthday party.

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 64+ messages in thread
* Encrypted Message
@ 2019-01-11 17:09 zzoru
  2019-01-11 17:21 ` zzoru
  0 siblings, 1 reply; 64+ messages in thread
From: zzoru @ 2019-01-11 17:09 UTC (permalink / raw)
  To: davem, ktkhai, avagin, dsahern, nicolas.dichtel, tyhicks, netdev,
	linux-kernel
  Cc: syzkaller

[-- Attachment #1: PGP/MIME version identification --]
[-- Type: application/pgp-encrypted, Size: 11 bytes --]

[-- Attachment #2: OpenPGP encrypted message --]
[-- Type: application/octet-stream, Size: 28617 bytes --]

-----BEGIN PGP MESSAGE-----

hQIMAysDYYUGZ9ybAQ/8C3OV2326BWkCo8dAQi6RgyBcTp/fmMsdbJPjOKNanq1c
Mr9dOPHDaZ4wBQhGy7/1TRaEMLf7h8/e4efIA4Dgt1/+Ubv6cSrovYBgDFGMGAPf
nMn4FW7k7RO22jqviks4vc3znHOPnjXANZSZH4C2g/b2jboAtSCL0A8znyN29okh
ZOyXhMq7mwn2/GViBuzEUCKZDNlQmLJrffu5lXbv//rUjTTVPTzOVqdH3UPKNpU5
mPGYH44vcs67zdXohsBWcug/AicX4MRkDDk+Z3Ih8OcwoZ93xxIYJciLaZ2ZrST4
1tdPXTg5/wRUvlX+sGJyeIAj9fpU3uGc8yi5X7bEKRA+89Mabm4LVsZPe1lrW8m5
SVdtoVHNXurEM8NzmDKiHpnoKbQeBn7oegqp59NxV2aoN51dBmn2pwPBjUQMpAdQ
hHSqJ9mXOTgAMviI1vYi+QriKhJAdyi6w0U+SBcsvzxqPGbQ11cVIlWoLMxQ1Wk1
Ixt5pWJapSJvvHWf2BtLGSd5qOTSwj80WJbL0upYH0xCpW4bpG+PMktM4pbg7bRG
iBC16pswwDagtcRjWcI/YuWR++Ut9ciuSKcaYV6qOO2s5Cjd7877sAP7/8OAizuY
7ngYRjRMRY3veWMaP8ZLbCMbrAU4s1ytXDHftBhf5Fv3d/3IDLIDBOmuxRurIBeF
AQwDL4BE2AK0I9kBB/0cZa9jDBxfBxxWUT6Who2VIHIufLdiSXRQqx+mbURJ8AAg
9NeQqoEDFb1CaFN0fYOESnPzX11i0SvP7lCmXdF2qniaYkMOvR2/6LPBVGsETdJB
596cdn+uAbm68InvXEbeSbyPlwde5tgHb+87sSijygXab0nwYhU4LeSA+QVxTauc
EQRlJODnPKQo9Z14k2Tv+D6ocAV9A31VndLdNzeUC1ZZgFJ8r6dsb9lUQQHWTR+1
DSlQPl8n7HjQneVWjpUf/ej6OGJphMo9lhN2M83oXso/m2CR77IAP1LAHU42H6f0
hHGNSqQ0fmotQduOk1cEOcxcKr9uaqadDRXEExp+0u0BqebjN1prPNiKJHgBvS33
sfNUw1dAPma3CuremNZoQHLl/GluGnEEk8CrIjTiSfbmO0DtBhboHIkOodssCAFC
MSc8x9ogLldl/CTHc8MuLJwoNqWwxb2Ulvd3WAfMsQZI11EWP25m4iJJlfpnXfwE
rZqnovJIkSAcLqI/vNGmZkeAJwgNwG+uPNdW15+lYbpNdXGRMJdtvRsQnbPsDUDE
vlOWmCPyRA5JCwxHX1165Bil7axiBrFD1by2DYNGjHHThWWJai7jxcRwtRwFd61j
2HH/HNTnhXkydhxtJPlRdrQEIMPKeG959Fu0BXRLC0ZX+jXZlU7tkLMi4ULOFB/I
10tI+sWHaHLHD2Xl5/eoV9DEiDTERqMCDVSXGTdtWLF7FkBYtcpU+rHHGEz4y82i
EeW81sW6Ar/jDdWCMy4Jp/qlEB5+adO/y04PI1Qka1J22FFamwAdxib2qI0NMNRu
FLgRwtHI2jFpO+IK9bjR+iOGJ2CX9NMOCImA6M75IHdI1c1Wi2EiPfa5ikEncuJc
YbcYtd35ZkmaNcICkhPE47gtw0YSqR0cjKr/+pHp/CQthcYY/X4e6enr0lEDNrY/
R5NUnKceRxq6IZ5NiMxPRdj1P4OnJizl2W71OMr4cmJ3ddKpXrLlkykjGjlwXcBW
hM7R6V/ohtxWmZVe+L1sZiWsNIbhvWNC6Jocno+zE49ZRqFNgsKie8V2HRUSu16w
LXb36jX46bFd4+b/7tcfe+wAAurqlvAbvUJ9+Avd2NavWVND7DyL48IROOZ6zQFJ
tuz2vwTSDqSXzxn/VzOF7CjrEZCDwg7QSOdTk2YYbMe22bpIMZnh6THqtsfFjrJT
kgF8VdzGzQSZgSun3MNef0guvd2VG1H62hGsieXZde0v/BMUiWndSpddBBkK05Mu
g9rmoIto2JyopQssMZTwlWTtjDl3BUakRYsEY8ptGpaVKAbHFjBBZkf8040eBi4V
o1m9JN+Dnp5X63wMFU6F9BtEnnWMXvFyofCYpRrUjooBV8A4ULB/aVKJ8pFpBF7a
/57mhzj9x6u3rtUEj8QyQoZZ+UV2bp6I9av/6ivvfrIyCciO9EqtJdqlhQgENM0o
EfHk3FnF1oZ3AjYHPK9uchoMaWqhARZOEisWXSiOWhpIJcGpw/O5ebeWC+mK/4Hn
2pyqW09xLjQPRBEjutQy4SB6k9nnCtt96wgJGXYMAf5qNC4kYRNoPonDN3C0MYAo
W4QwwYg5JlAh1NjPnf6yvIyFdM80ahtCRoNBOQZDdnBxO2gQWmV/vgA942UrfA5N
J8gxEiS935MraOG5l/Krk7iFEuvvlzPkLLEPU7flaAQF5q0VSOBO/qQ3p9Iv7R8Q
W6JP87B5d/cPk2wJflzDQGhYnF8IbhCzKuWzGTp60zEWyClyYjr1oDhuJOVx1uM1
KyOUWlXOIACiXYrxKUPJLjGfn2fWQvTMt25Amx4tj7WJ4jc8f3jT/C3bMXQkVFvU
QZFUi4KJlgUZGW+fTq1CiOlSkee/J1JEKBz8MSFA8koDwFE3yhTOt/MXHudnx7zD
A+SGVnlRj3llAsK7DP2ifT1FV6cYsxV4WnuQrUObJugkozdn6JnGmhsEciBS/Byf
4ImBI1gLJxfcCGP8PWbE6IjJeZjC95wuXe5Q1770yqT7GOf3d5b7hhE4O2RzAW4X
zNCmtoR43Qwm630TT7gU2hQgL+vCr/NaugUH3v9e+E6hdCFphM9nc+z/fKfm4iVF
MTHX1d/UWOM2hbbW20GrZlj0ySbbSrbsw5W7dTNBlriUybZMZxh9xp8210l8uUpF
nI/L130aS9rZJ+og1zRL255/9l+T05iqoAiaedAFIBwO/FOyYT8PNznKkM5fBJpT
n0VBLEy65q4v69drB2L8ySfCrSwXjNWGJPA62IDwt9TdiRvI2duIKMhLD83P+3aj
PQfOOnZaFlDFUupReHczlAqGNk3cu8OOHP3S1Sg/Gp9jC9Jlpz0trEZ9Ny8kN6Oy
dOT20ADSTmX0OeNOh/vxikSUEmoFg7IBejSOBousDA+OBfIG8jTLL3BR8FcvFVLw
Joh4n7TUtJJajFOoEBq3X/JLZ4JYivYzSZ6DfP3rkD3+z4nGVIIBscjUpeEkf89r
AP79xaUmPJdWnZz0EUOhgwDJhGqokD8N4sR4Eud8xHyU/yQH3SVZouow6Y6I/TCE
ksLdrxKDkg1OTHRRpVw5RrwT+wglS7NjBJA83PV6cjS45ZoHN2VE3Lis7IzExvOy
3Q/MkdfwpDztzPCbor6Vl+Mjo2PjfbjQ0LdKDKw64QXZAsFJ1cYkEpn71MkiN+W/
15VRUvdotqRZdr3zTbKpVDYivveQdW1CO7dy6bJWX7yL+pZTJIRZF1rQgl1ivLK7
aCrc19jcnFX+ZFuFMeMOcGKSS8+pxQI8tjIATNZzNp/uW2Ku+VzBs40L85/jwXUT
jyruGFz2GdCYOkcopJUTWkT5jWY79+Yg/zbMbkLS6U/PTJwN+DAcWeTQRD8CIjgE
PPNuuidv+V5Fmj/luhE0s87gWOtmK+dylBnE/9i2d3NwRoDGf8Yb0BlnwhcjxWbw
H7ADapz0QWC83FHrc5CX7pXjSeSiHjwYZeWjxgVlRqnLsexMpC7eSHDJ2U2zaYWv
aTvzNH64hys2xuIRfhkcGqSbnqKYe/RMHtikTxPCfYYQPyZj/NeMh7kS4YVoewTF
C0FHC5rYzrOwEo0FMeTuC6wjfuZ7aNRPHz7OPzO/NNMon03SfoCyPrLtUFPZh7qi
bYi2UY/Nj6eWpNMraJXuEuKOMieEto0G77yop8MkKrHz3JAb0HvbLzfDUBEB0gpp
x5aciWGzYXEVDb0lJFUM7cRaMuj0Iu49bHXCjYeL2rg5fpyv9T3QNpyMTu4F3TOG
HrgPulyLoGXOb8W0cvN26fRZWhhB4PspqlKIlB3pO9jkQ2l9PITsqgHLfinOup0z
SCzVtkSkWmENplivcpCz973Lwr9VDT4vxQh07Nc98EAQguS7psHVi1Jtes0QUXAu
njJymG2lbiroUVkr4eyW0KWFRCAin0L3HDr78fN4Q0FqH8eAQKh8ei3IzuhprX1R
ZiIlbkQJdC78/4qg6YHvldiISXoj250iZAjqZ6q2jICbGUGX5etcj9O5GCwaKk9C
F7pWbpKVifRRvN7k6+2ck5XguFr4b9X0PZpsZhJSBpimtVB7DHS9U2AL82Ap+ztq
pMkMXRoIMp5FdxiRqr6flilt3cvr8PIhgSJA6Q2b/gsxjC9NgHSjOSbeQJtWtIQh
CfMv5vkDkRN0xCmjIUa92+SELPO98ko0eycpBRsKoR0eR7WiiZWD/6SRz7UyPFyh
/8hgy5sX0YRZqLo/2EEVOR5yCoXkBwc2dEnkDhQ3d94WpYVBxUa5zpOVDfzvqWCl
2ByGyx1OyhyDRY2QSLjVJQnwvNuqso6DjfHkDLALI769LTBrc9cXngXRkvS0BkO6
hDkkWrRabIsMAdtSxR+eCTQS2PjL5s2vuKuPIxAdDvncT+a4waULCmKDI7D+8ynL
FZmoyMgNz4FMH4LgN0oCUQ1MzQS+z+TFR8FzRRVu3oxOS5asrtKPa18y/ADzsU5f
BTTb4RCsZIF5QHjH3zLiaOjru+XDU+PZOsvwTBfHb0arsLvMy6uP05Eek5wRc95v
Cexe1yqUZcioRpf65WomY1i63lsazqnnRNOikZZx3Dzid0qBe1lF2hqTS9DkPtKp
NTv0tbzxsWo7MuRR2xR6QaL9TKvUwCrv3132iZFxwH0l3zcTW4r0e4QVoL2U7zz7
HThhek8PSGIKZ3qhNtvxvUxJMMTrPPtTzmJ92cU5+ibj2vKFvg1UpGxpJfVRf1NX
Drv9CJJsGF1g0xywEwqGAsMZYUgxj6VO55USH7znf1Q/qlROGYs3pj0DX2MXSCFc
A5CJvDwIK98R+MksZ9tcl7yxx/cMPC3J8wEFBMePx3UfTL0Nr4Prt6bi9RBYAAQy
JsgkTLQWmvtgj3F+5lqPJ6PL58MIAzpp+A2rY3MIo5UZTAxVurq81DGXxRalZWYU
IRhX9lnwQn9K4ADxaedkv8GSItXDHA5PpoULS5OaEtUJOoOUeqlumJYVzqhxm8tc
j+30gtATzYNLT0fuk507wYHQW5iLVgtt6rrrYhfXqmp8LlwVgV68S9Tg3uq1NCLj
vwMkeXoT8pLyaOVPKuwtY4+km11dJphvtVseq2KbJWZ7cnT54HJpp4hZ9bDiH9EN
V4bIKsZD0Wp/B8tLVIukk9shNY1IqEhUlgu0srAFD5UBXnIGFPiLL2ALMgz/hn9+
RxlqZvoMuaf4DbSdr57jeSy+irxHuBzfBgKVfcLmaoVP2v/gb2/Nh4+VxMfViK7H
6Xa5u2iSK/FAsmHUPL1htVdAkPgfOtBog7iM8flKQiVfbRifWv36SXa3sQ6b2xT4
x1v+1L25DzLIDHsNDcCKHgwNdAG9KXEkcH9TmgV4MutZUW0Frx+HsZs4WNY3AHGI
6xGXZuFiOlz1dJBWlNg2Pe2vQGhFDbrdeDOUcc9m8RndcshDMis2eyJ5fiIAXBTA
qOm5Il5LBVzp7KMJ5fpHss+2/Y7/vgVmg1cDpFQ1H6lca4+w1QheasRTBV37oFOa
0kDlWwgEcuo9qEDUOVBglZ1x0swf4pJ6D/WktCjB1NVnJqlo168WIqUstMV9CGfO
Ozb2Ctp8jMJKyRlCzzMmwXrz7zhpBcNosjz3NktPo3ohbcfhaxIpiEINobbadmK6
qZxZKj1cf/y+RgHEvvkdLzX7OD13kw9LhE4hRVkbeklYHBEqxx8tm+WuoE9DI2cV
Pn+7PBj3I9aU8eq/0tv/hwkwyhMbK0qoGHsjLSCD5oNMTnITfkjOS7zGqukPdt6p
Y1tNojlemZ5ZszousBdzsZSrN68VCURt6xoTmqyaVkczLF2frVzxeMxjJ5t9OVga
Xz3sySaHxmFoknPVM7lb6Re/PgO3Wiu9EOvCHf8Ypm0U5Rls9/zknmpZ7zMU2pld
wdVbtagf9SFgLi03Q5wI620n72IDJNSY1hIaPxzS2fKgTsYCiBVbq6ehSA58Lyei
BiFzlI3AmjbPmAQ7Ku99FakaM52LgumL2vacNCI6CMyKLKaC+/QQvmotdASb7Ddg
lOerNOiHKt9eePZIXb3zUAqudmEakyA2Meath5iB+Sd6g+3N3OrUB1fMYp3z8P4l
Y9X7SEZBMVj+hZ9xLfJPvIzxVOkVbZjRH1JgHtpSxP5pOyTZDi74cEZY7Rd1MBkh
QJJXyLA655LTW/trvhikp+YiO/UH9nmFQhJtu0JW2ESCge/0ynM/VEu7YUpQNhnM
a4ColHLEndQ/m4AU9I7y8FP3T8sOYEuT3jExfnBAlcvwmQfdCZEJSpGvQFi8BokS
K1U9rv5sh5NBXVVhV3ISbjqF8zC1xR0xajFfdvJUqF+2uwZ/r1SJtV0qM5iIThO/
2eFxkZJ3eRGzeCxx4xAQH7zqlS9Ux+JElJ/8rJoqSXDm+baPA1UW4sHTDKE/i9cP
lYtNHTgQN7tpz7uYH7PGAOB5e91srUMYo+NSgUFOlgbavip9UK76Xs1BrRBjjmgp
FaTltVmTwzbarfaKq1xWHkI1iFIwXnIfRMFceAzfyVRYUAGndj9O4pzir2+UPzi3
ZPLd9Tf08M+bKDjctF0h0K+P0KKXoypVGLmw0zOoSMhy+kEIu+mMocvoE5UsD9DF
0fMJVr9C7eHqrCJRMLQqNSwUJv1zUqWQB+XvFjU8CWX1yRLejm1mfnHDcwP7Hzaf
l78wkClMOU/l/d4iMIgUlrmt9l8jtQy6wnZhgLIe8M49v1I0m19IQtn7ZcxtrL9U
W7h+WcR0PPtm8TekLf5imKY9dkSa7njahKs3E2AQNEc2MHmFgqdB6UHSJFeicLRh
/WrgTnE82C1S40aQnPfa0LejG+c3TNycc4Y20d+6ZFrY8N6S9QT3MR29rvIwe2Jz
z4QaapQaTJJ3uwVKsrhYxnxkIoApVl3Dd/MHAEeJiw/ol/o5JfiCPHwfWwc7v5ge
7641QWzKfMmSwO28sBVYarn8WkCJAgwugSCcB3bA3Q2hKA8c3MIigPlVhGf1xG0J
zZlVZV+kHVq7640r0o9ZKQhYP1PKkihd66qw5vj+niiIHpjKaR3ywJbWIEruYXzx
jmq55+kGrikwlHn6kPZiG6aaO49dt6E1ucfBFHYddIHx25Mynk2Y3ILw7Du7Lik+
YywrwJLrwTMs4ncePboKZLHpWefYXS0xTDI8eOO+UKyPr3L2DtlPzUmaHpB0JIfQ
6O3Nwu/EzqNxiFUNKkkN+pka0CDQCqkt4tD56E/b++/O/9WQ1GwtZ+qKn5XLlU/d
BW1/As1hp/81fR3eU9lxyZFxyEuEps+gu8sB1ig9lMk7TFMlxn+ePfjkPrzrgNkT
oegc1hV3VFmyOsDZWsb3j76hqrjF5Sf69MIAxgzxFr7b76DGDQqQxgnxkcA30txO
K70/hU4bzd02MYibLQdWYSlrhzawITd8hyeytCGm/VIJU80Qf+P6qNOIct2xAjLt
kBF4axety2SmwqNdFtgsZoXQ6ANbf3JLRvhLr5/msPDXYt3bGiJFL45ZMJy0CpVT
JqGzce+Sb83C6W0pX8wXjYvXgOBy0mmc7EJf4hdR0wnQKltveyj2322qbHCmLcQQ
LYPWy/7OkdXjI7njP92+GgyUizAprt9lZAoCRulDFoRCZ+j26gUs4pgeuyvq6ZgN
gkDnAitFcYcFB6tA7g5AI3uVH+0T2zOQmz5hZOBf/RKCW8CmyDqnKNSfp5DJ+pGi
s+NrBrYEHyuGN3avIe9l4daCgETWOvN/Stf7rupobhC2X4d0dgaDwlfe4zIthjq6
6OcXbj1627rWceJn3BHeTYjhvrWjri2fnWdmeogsAkRYpF2wdTmpgBQX8MiNKUlx
gShiHfykziL4KbMTtxMoSxX8SfiuPFG5o9ul+Igq7gY4pn7mUw1+lQjW43ITxl7a
nNTm67cHz8KpC4eDpnp96tEDcIiGeSZJnD/2T6E2jwu8l48oRUcAuQD4T5CaXpjZ
SpEv18zlDH1dUIgfpKC6n7OrTQPp0hes8fbS2MsQvPmBVClr2utNOc2FloEfyagA
P7PAajWE888q1U3VU8LSya0fy2qMZ6CWrdsFte6/V6LWOovk/iRBYsAiLkLIXNr6
VwfFx62rbMEV39DF2Ap+uaObyLdiYYfN7b9yPE7i22yu4tOtoCfWevxl348fkC76
TV1/ji9ArHEaGsYrX9skg1HKQXKCRshDmpw96zlv2KykWaPIALW7RB2d9zoJ6bl4
yK119GGACKmFJ11TMOZu5OKhQogpjpBXfQGcv6oHyTO4XrpQ5FktkEtOgz2FZqsb
QMQPeGvoGETAM1+yFDlNkLqX0xzSkQpdMV42uE5Fxzl/vryduhxjFfkr9s/XdIpl
v5oey6aU93tYNJQ8pjpfRkcuLe+57cpGmCBQZFJExflS+xQVn8PV+MrQch3zpYAl
c80zWwfmU4IdVilyr62AY1+p9NSkCvfrwhJlNsss02ghH9jd516EBuu8d9kfsxAU
QUWC7gKd+01uDJZzoQLJpSF70iXn5WFtQ5Swwwg3XPnNNYHpRKZFB9TuCbhiakr7
9+KicTen+28eye4i3NQLjJo5gunM09I8AhCaFC/k2yopjR4fo0gtR42LH9lf+kCG
C7NVTa1vI2K1v9/mH9CAgis98v0gQSU+HTfP5NvKkIc8CgRtBqODTa1x09zLyBuf
76XWkDyatHpQQx8G0AEc0R/3n12eTSv92tFpCLUQ5O58Iga1nJ102a5RO6cMfNi+
ZVOabhrHxzEBzT71yDJJnMDXRO+PfdFKRtJj3ny/AicVO1XQPws8tolyJ9osfNgQ
UJSXeK3qFlogT8ltLkVQci3fKx37BYBkiY4uapJBxbFA9ND4pOGAPmH6n6BWqtu0
XWLaM9kXfRmkm7IgeSAS88WtaQN2ht4k6FsO5rnfoIpsY3rrXbReCPcWNl/N7DJe
0lzUGYs8VihZJW3A/19EFykMY5fsuTT1sc3E11tpGIkdf9b+4AjY2RIvUANffUe6
5lZw2o990atr9aIlRIg1BF0oEZGX2vHpUsCoc5t+EAA6TGy9xaW8sMUeqQL3qKRq
y4nZdp0p5Q97KDRyz3W7aAkzIEPZJS3m5l67mlTNBUpV9fZcTKfNmeSd1eLpHsoX
HrC+C3Kt4oHkBObcmAWOBWlXxe+yyt5AtBzl74MiWX3oscyZ66uDb5nNtMyijeMB
z4M8bq6s3vRynxcw/CsF1Qv/C33RHfXe1NruGPFncOKsDrscB3fH4UFxzzAOTA9u
sjjzxmL0qudE6H15Sted2BjtT5NW3M3vEjr9+QWBF3N6+8fjsKft9TTe0vAjYQbF
Eg6I/3QTFhSpsv8EWZ6xOLOBoeZ/4iUmyp3FDrQVH2hu29tXd8m8tJkyR7KEIdV9
6qD7BNis8r3AGJpq1vmSOW29/Aove4hiaoqH4OAuKW4apFkXKBJs5htYI7Zyc/ar
cZOwX9YVENYTPH6V5LPoFCsIDwv5yY9Fx2WbZ991KdznmVlurdZbWBLIpi6vfGgd
69xmkcMXAPRu7ZihaCI7qmZJyG2XlseP960Ce0IQpTNNMGfMUn6jXEkUXroy/EGB
jBk0qXnELq/0Op28KA+WFdKrC9KZ98g3WZy+MCkAttkz76MVqoghpzqy8GVt70V5
724z8EVvrmzUlUONb8wYEpr8ZwutGxSSVMfOTZ4W3YLeVThWdI+n9KgV+FnSSqI4
PDKL41gDhAVE2cDLJBhSmlRoUjUuJa4uHKkRKH6rGITxrzeZIvlCpMAru35SWANn
snZxzTSPZQmIxdNiTlQ1fIE8FzIpGpufC+D1Da0j8deLViI4/lODgBtJAZz4MhM9
XiU3oGj85hGvTsUoRhn+wmaJo2vgbGOqYE5HhZYYKpU/D29liyxFQY2siZCHBfFG
+8777ykYyTjtGXzdh8LZy0AcDaMVeQjOSR0hqV09rNh5uiG9VkNiUURsDAVuHL6s
8EZkg6TWLw7df3xBHbaa5Vt0w9RmR3Pu7p06GPDx/F6aPpXYuex5pZurW32P8NW3
DLp0Za18QBU++J9DSqunfooJ8MsM8ZBeKYsy8imq+tiR11KgxuwdoFlYrn7f3kdN
t8Kstukr+lNefBVYDq5E8KSCDMtEVrJpKu1iTHY4llc6bjItpETKwL7ZMB0E0Oqu
phqi56EEedTrtVj3TCg0OswtD/GfsxtWAiVFFhgESSoKbD27pLkqtPqurG2yJIVI
7MdYwcc3MINiRHEB9SFyuKe0YmUS7QFuARnpSQuUyf3BQCuidFHLZ5LROmZ3mKmF
JXA6BtKa+oAClW/eXijpEYSJQlWj2uGDW5zjVKbHP3xqcBJHckSO/FGwyx3kkYrz
8ye/pABoysKwAPKiUwASiAkxquk9Cktwh2TTrdT06p8J3TV6XwhMZh1kWrwVefHy
sqWhQorNrt34ULmWkae6tlvKs7W1m6gK6K4i4Uu06vDskn/+gzlmU8YzkSFZXRYQ
BJSGoYRYWwxL+8+slneBvSGFcYCrTtKCBjd83Ij9fEcTct0/Upg6Z8kLqO3ftOCT
O9lgw1eb6zEfxOBxgwqHK2GrJqYYOcY+uplmP1TF1dHKNFZymj0utusLRItDsQOD
BcUVzsZuhNYioBqiyC9w1L5aR8pGNa1cYJpXRf+uaazsCt7/4EHl22+1bDSYoeyo
jitc7JBdMgh6xlRc7xfQRP5wtdxsWinJsrLqC/ZqhpoIm1B1Oy2bbpxnw6cJBFPI
+0QQ7grCCBVk73vOU2Fl4BjvjcbZ6Akyscf/iVLJResBWk5J+1lCx86U+2uBYeb2
bMXDz1OeFvEnZ58isvGG91KjIFqxHKKp3Hl47sI9j1HDOD8VWdfw5ZlRmQLmoqf1
p3DnZbqMXFCHBgSKvBfkbYclgipc7awKWqRV8iYK1AuvJa+bx8Kwie746EoYcgEB
beVaWjbbCfdKq4wXYMJnw73EMOTz4Yp9LM5omNdn0H7dPgeJePx3Q/pri9wO4VVf
i2xZPfKpuDnJS7DhdQrll1CW7h2Wpx+jcqepEx9xsUNi1LmqQhkXmzVaomo0okMw
yKIIPNT4zdo9xxr3xGSoyvpa5v++9Nh7cCv8P/dXcRgEXUaQC9lM+F9MoJZAuiO/
5Lytiu8FgkbaVdzlA+MF0pq2/4wT160hTephqrnzNmFyQBVN9jcqHrGrSY+liJp9
zwCnbrA0zSJj0XOg1GuYxoXqcdSIWnCuoQG/dTjbcSlDV2BdxcIxhkgnL/XvtUBc
ZXMaGkNmbjoNT48MsegkcqcqsMzMisPSaM2BWLxKyHraUkypzeBwbTMJhJ7TZVIg
NTaiqbOTa+9zxywPo2e4R1mYyrDa6H0Y22duHmP3O9VlFgSTpUAA5DUbI216kCD8
FSONDkj766aZY2jERvaJgF9JAD9Gr4Zj95ZcCPt6/bsnoliUmo+g+ERolei05CzQ
vzQ3WW6/Ew4Q0WnA8b0qdYTk5wB3ojetcMm6iC0qrZcsa5Zy5kGPCt1rV9FviNa/
xyqTxQbPyr+rf/Yua+IGDW6qaoRfi2qGhl7M2DZrt7wTmM13FIao2zqegSzTdes9
mFzV3jgpJuv0wghlPfVYBil59ja3DR7gVlgDqH4ECUbumodhSh7Y1jMNK/UkPhq1
X48pjP8Yz2O8V9gWZm41d0mJcZg4Z7T1X8CDQ6nBM0Sg7+4pW/9ysF0q++XOHnX7
uHo7mQtAmyHpWt9uV7Ck8j5VBFyPQea122fZfvXcF9TdZjm4PpHo+BnzaZoqlp9G
mE4u4fRCmvzbT7fAuDUXVT0Pp2K2Y4iWV/SNQ65LE/D8832ccGzpy1AhP7FxW+kh
0kjYmegneAn+cXmLxFLtcu0VQb3nfm35CIqEEeNtvLTelwWDhGpy7Hhf5WReXm2m
F9ewLHSs+pJslvToLKH+5s6NQDf2ZDuVfLPHFRNHwYNUFWkYPOVE17uaBD0C+JP/
kUATFdhLsruQMuvvZ/h1nVNgC+LGuA9jKC2qHGb0jEvyXor15niqtKCFNAyBhqwe
rkV49un4UCgchHXVhJ0D7vib9HDupALhMqL62dre0aqatd8M08HCkURhTtKWs55X
ExQetgVI5IvHJy4hX4rtGqrjYO3HluGc6mteHmDbP4+8cpVg+4FKfBFQoPybimiN
YSHFKYVlMIt1fLW3i/Nt/DTSbkRi+Eh8DwQNL23o8dIs1xxwVMf1U29cnllVmVlL
tpDfuP0CPiYP6Vg/a8q/9kFh6uqax3Mn0F05OfUT3WM2X4xPm3JmvEY7DCauxXqz
jGiDbpjJ/3dgejc/amXWYZVQjB3OSfdfqx4aVO7HnVBhXRtU7AZFCMoQLKo4tY2d
DbHnTwsMvXnC2kYdsI4jdzJgWuZIwKMwJpqRsQHRq7qONznRX/AUZAlEyv1oFMTO
H4YkF9wDlQ2YGSHc6Fx5ijYUYsIL12BndVQPWUnOJI29MRvyDi76UM8NT7GjgOU8
4v5qe8z9wubTey4y/DM0ORcEBWx9cLl87KV1IkWp1CTCd4Hkw255wjMQPBM7oISb
rZAe8VQqKNWYdT5bgjOoABDJu72U2iqMbagAOI8nDMFvTkGu2gMbBTfaL4oZx/s/
8+h4d2HF3imflVYKEekWY2UY66uzfeBS/kn+vZmHjbk9O+dSo27XbemGFYrFoGfe
YsGnbsb6uChoSjMNsRRHB1gP9/dgm2G1p6TEZdyMq1jioc6+4oIEbG4KbEP2X4wC
oD8RCSq8CiqDTrcPLhRhVSKLBaJ/x64CcS0yV4hmtnsR5Gxkd/5xFBxhzWSE3U7x
vO2VcCLg/U/tjbAMEYxAzhA/DiH+GOdABPp0h7HC9bRrQQS+4BrghPDQXn/smHoe
a0QkRqmWhnbzVPSxMDEr5lr+uiPMPhaNj5bZl5JIDq7smkL4imoQUnqRQdwZm/T/
oyOgFTrQ/yiqrpNLPD5pfjwa1ISmGO13lVl1x5INSsN3crNl6e+/XQhd5KK7ldeu
HmjSCwVYPv+NI7O5ShbCcim7ugBzCJ8IHE+B13ptDfhpVpfOHPvkYz0p8C7wmqMW
D2We2oaCfbLo9Gh78g8BZCnfHmuLn9bbwt3POVCYQzjOQaP0nOJGs0gvt5ueUpa+
3vZsrKkIdYCf7CcOEbAUtLYnkcMBWav2SnpLXKUCNC8R5lAqpJQhwjWWo89xLBVP
aksmOvdds8JBfKPHiCwrwie5eOi60fpHyS4q2DBo4ynJ9AkKEBEca2gc7Q3c6gXi
RiBDQnok1f/lLFfDxiwe2syrk+xEb5ast9fLTBKp4cfwV108suOUYx315vM2GB4a
0S90A1ZP25jocGQXJb442H6/xxO0gS64Q5HQBi7SqzSB58FnQOtrQOUK43yObNM4
Ru1p5D7ayxPyhGmhdYEaeREgeXMe1HzUB0IoTyWf6okwnNQ8Y7EuCQDiIVyJPD2j
bkzZLU/w3KpD4KSOEyqbfEj/PHxZntDuPDwCHwbMDzeaI7uWX9DJbnJxWXRz+ERL
v4ovS2XNzYbrlVdEonSfwmo6H5uyF7y3mai8UDO2z9b2LTW4oByHWQASM3ue375r
ohswTlT+UZhW/hk44oHb/la6wu7ZOj90Z0cCxCPdXQcnaPmkHnS25T1W9ahWox0b
PSeiQsZiayW4v7OUOU1d7qBUH76p0JcWyIJ9wAZRuQ6nQUF+NRWUu6qUPwZOPZmi
9sUFfPwKXfUEBVrLH2DSQrABxGTcS9GiaQMjh1vFZDc9pCZ+rgYr+JN+u/T9s/A6
AT8kPELyPVX8Y+y704ltoRLEaB91rAp+5AHU8E9TxNkEaA+xM3BjC/TZ+R06Cuvm
mxklwtmL3M8bUWMm2i80kAevwMCXbESLYDpXoRV252jX6qvYruJUltnPJmj+EYS1
8dmnHmAVcRDGOF+etep+uRhcnvYNCCxeKuhbYlts3ibgGBch+Qak/hfCh9Hzg3LG
ayx/i8CG5Yj+WYmOJpYhCoLRmgTEey0jKhgRXgR6gdkfl2hfqVtvagCCaw1HlzLB
Mv3o7eTkGSzZs3Y69dONGUe8cPN3mFjEgJAgcpL2q+Zk+78k7qZlJwOXfD5XEF5z
JUOuOPdKWdzXF14+cmFjIxYiyz3ni18mUVOBqNJ5/v0X3QKjI4PqLBeRan/mO7mz
LUfWG4SOCNYg93EEkU+1xvWzfJdJuj8YSYT6tSos6peD1yqpj/zKHMF9EtV67ipd
LmiYXMZCR2p5IvPtpi+0jJMQN5IjSf4gF8m3Ljywh/fjS+OXP9DHy9fkLcj3MqyM
P6ilQkZc8gNfh7RslUjPG/VLombBnmXZsH74yG/gO1pCKP8ImcxPsFCV/Ijzn1s9
ICrGnUp/zUKpd96/x1mqMqt63XTZ8qKXE9SdTbH4URpR50kLpovChPKUDCgAfHb5
hVar3knoXAkD34g+zrZ+etkQsNozvE2dluGEJW5nLca+vwd107CR8O8YL4xbYRwo
bJTyk0HPmt6K8BXjx5A7JsUdlfZnMsNNue1lnwAnq/ozaQrakLIwqQ7WWrYz9pjL
eZUgIZSk48QyCBIkaRRU+RHVKwFxDPRhe71prNQqZRsizfnYNDmNr4GRpnlG8Hb3
QnNCirT05bHkldbk/eDNrGPbtF44Ffu0hQESMGsQ8eIlNxyUqihG3FM3mmTY4uUu
8LABwe2xKoNWLeaainQsjKOR4HkYr7LKEQWaKL8xXHreXBVAO3BHSusidW+0N9Ww
V4Xv/R+DND7CZG85ysJmfGLUs+ANKtbc/JbDoL0R48kdCbBZNudEHR+ipqheoRKP
0sMws1AkGskVnYehi7Qxla2w4dH3bfADZ/fiOHcbMqDDJoWbPbWxOUHHXMP143CD
315cDv3MUAhPQI+9HCge04u4+IgAlXbKQfCqD3zgE2nRAgcE8HeNE71s5Y9Xw1nG
9gPiBu414sIacN1fyYRDu33d/DjGqX8Nbvfq7yjIQcYDeYuk2+go+o8pFNhoSkz9
/OhqtAtO7Dl9OKvZt96m474eSlri8Nw9+FGCvZxZISMLlZOk+ls1nrpcFMIuChQc
aZt+hDY52DmKKy64tmJWNzLrtlHrCarD9B/W+eCXuyZZVxQxklgu5cZoolkb7XDf
e68SCMRD6/rotoivtQiSfsMfpuFRRdGOZxxU7AYlSI2Q4HCigIyrGI7kviHW8n3K
NMl4w93Fq2yiuNkbRg9G3SC3GHnIQBDaIjsQncbqLtH8BzpkCB3NdPh60jLDvJUk
f+v61PVtOKrZMQ0pk9BChbr+M6M+CkrJh1BRc17kfOtnt4JOVLhCBo+HTBWhdZF/
lGHgU2cqprrbobbEE2yoPiKphbUIgV98DXV0SWoWVGF2m+X29NbPMtYyvXEts6Eb
pXaPkl0fbwkZU+y1i9k3OzI/qjSeyV78lGtKurxE9KucA91yR6wIkEjuxJifL60J
Lda0xd2Nc7Qz2zSeWba1QB5yRAx7rrBqORf6r96HBjF8JCTmcKREnusEUeG5Dt5A
+wjTPLy9E5W9NQqXpAANeqbAfNjb53PSolBxoUyj49YbNbW4h5vyQYny+jmrhWUD
FfASw6OACtCQb4WP9DkRMb9dj2SqwUOA3NIKI8aq/GN6aFQzr1LiTtxUaVNZhNmj
mBK0/8xevn/QXrnwi9ntHOO5BQ0oPQTWNM6T0N4g4XX91ltVK+iyhdMvrqGmkOBF
uNIL5yJuEJryEPSGhoCmnRRdVV1U74f+CJ20H6dM9I0WrTjdadiAVkGAjGzo6ENe
asKkT/DDiaLVwj4iSchpvrnGD9g0g+wngA7dCGhQipI58N1DdUoD2kmb8nMsNGFx
2US4ZSSTSSQM7Q9X5E6lb7a1rWu9bDuI7lO6I6iTWnNJ73juFOOrdj02v1ce61UP
S/9N6lgIPHby2mAW23B8qR+M/Go7z82UIP4OzKyVH12T9mRABAbavJnTfWbEbsjD
i+tw89UcLNkqVfdbEnNiszcCLnlzHDrNR32PgQyepFQhjDBfOYGPxJ0BR61OPFKm
LZkV5ui+AqQTzEKl6KZ44Yaseyf+Q0Vo487JeB8XPnjznVTnUTwRmitLkUn8eArc
r4MOAXco85H8CBirkekboR6wDfg9Qm6MELrz/BfSuegBPEeBq7J6xRMQoSIGHLhD
N3VILWbAtDcOf3/fXI3ibEzVbRKTGkq8czFcljYPWrFE+Cq6K48+zqYhQJPQP91W
KBTd2d0gObaBqjdrq+mK6maxOzyvBddaGnK+ixwOuFCEMUJhVqIj5lLlxs5rijCf
Vb/l1cY7DI0wbUXUWFLGSbYprnFJpG8Zii+AO4ZiWM9XgVXeDNq3LglbNnjlS9Uo
8fQLcZ2CfLzh+6m7RQzcKWICED6DZPHeXzNgfy174ri+ono9HVH9ZMag4I9vvFRt
Fp1S5VVHnxTrsw27j6ulx+hNQF2rAnx/9067C+Y8Jk1U45kghZIWBDf7vPSIq4/1
3oE4UIZ/nofkhO5UXZCXi4Sqjf9/dTymsxMr4X6bUNToCbe97ug3CIZVO8q0Oy/M
u8R+spg8XG/JFcInoGMj0leMxNpwmM7H2drkSiOR5+9Y0Z/s9DKpzF7BxfX6A6e4
QaPsjeYz6wx9e+BU45JN+GdQSOoop/NnuRWT+U2a+8BErIr6l6X3eaZHKFvDNJ8L
ejspvaoJuziZyKOH3aypwqdpI1dnpBN/95sCPdY7op9HtiLw9DgNQPSdZ/Kk94WF
bECjNWGr8omw/QNDMpSGvOIbw8xPFgFeg4pHUqYUXPbaCjpl7Dm1EqTBy4rm5EVB
eb7xmzLRDvyOC9WHnIy/M1q8KCsbInqdqOEp2XMD/6shRVwLmEdP5qiTZjwuI95b
ymCZO3JjKlL6cdazs1yIh35RA0yzWrPPt0NJhMPJHrvYxAe9Zd7GzMoLum6E7vmW
ubFu0PohIu2uSewzFcJOFErrkC8efm+DzLZFxIYAbpSt8rbVZMqqOCmJX5nk9TBE
Iq3stImG5HiM7d470Xdu2Nl61etpa9V49pjsQJCWgntS4F8mXcDhL9k9IApvanw3
2fZ0fiXyo8xw3oyZunC5V0N1YvKe2JCgr+dsKqyccEaKh8OKBcFDcvS2u2OOdbWo
F6cQCCYxWzfowWyFDHYiHlTCE0D7mtQu9PY0/NuL0y1iltWQy8k51fPXYbyzPRVc
Z7/Mr9M4Rtwos7uwOfPfKANEWKRKsk0vluY+++F0Np7AyO+7D0c6FZdnNGL9cTXA
bWLZaCyLq95AgZwKLAlN/6LgjDWQKjEcmBVXORi1L/4E9m8eC9Zq0qpRmDFkmHLe
tmKDXDHcCjnrIS/oINsLVMfZ0GV5Lzh19VnvSzJIetr8f/SE7rSb8s3VuvolDAWz
mI8sZ6DdI5aVe4ldMVEMVLPofwlaAeIWcuAQcTjSt11Bd5F+lXzYKMvsX+e5/mMp
wSlXenZCoEwHbFyc1C8rx6pe8vOyjj8IQVZeZ6PQ1VfTGNYWO/PiWI/0jShknNNT
q5IQnZh92lUDLoHhwjThe9e8AP3U1bptz5k0g+3tvl8OUt6Ea8qz2SASz/GrIoSX
QlULwPnqQlQB9EFxieu++WIblBKMzqvFdXyfECyYvQKqqLWg13VwYCIQh3QjsPy6
EWsOByn0EeDAJ76kaj1WKErP2n/lT02ZTwkrK3sjaUNkwCNy8S5j0bSilBQbYbCo
WsVEm+h5/Uv5mLaHRTBqDfj6U1sGXrHBwbvtXJ20UAtLAQUCJqhPHlLy/oY+FRN6
LIxnHXrEJB2m+6VIhs64MzW6ASkCiRjOrfU9WvRFWpDy7KzfOI0WShszQqMbVo3u
Ruee/TL6p0LID4k5KFxpEs5wRZUd8kFy5Df6r6IJzvfHbvxFMLlvgP9btb5xja46
gBwkppgQC7N5Ph6rqcPyrQcu2KpYAgm/BYlkPGFlir1a4t/00hLYtNuAx9RVhVcN
yd8Ewp8amn3Svg+/j7MYLPw1AvUxwRkD/XRrI3F01GTuDQ9xUiGdm3RoBaUP/aMe
2I+9nqhJxgFlPFgBS1y8E7aThiE3I68EX/rG1WmKeKmfornMIQlVWGdjPoI9Jk9+
QVs32SqszE6iYfU5EodDohEf2Vj2UW95kHAFvRKwhbsb9LilS3Li2J5zu8giTZoV
fbdGmWQWa5b6KuifA50F44Wn1575cobMOW317moRDQlGHJsv7rcXNgYg4KE/GOiR
kNxBQrSPdPbcem3nSG+KV76fKlkW4zg2DJ7cjJDkKp6faXvlG2tfSvQbaBH7QyjH
JD8v8Hp4mA1IWh2V1xAdCVwnMEWcPC/gBJLXJ0UqooKSfoSVUdrYOoUcvQzYsiDo
xPXf+esUXpmgDJ7ovUbPsLqLvssdFquJCBy1E2yjvCeOcM8T/EoNKYMolnaa852b
/rH8PR+z4uQTmShRW9uulhjBGPwgl+BOq3vFUAm2H6VsZV69op2KXxsHOjjOQ39p
R6iWmSA6Q2k3RFgzbkkT99HZk6MrA98/ylsTB0U9Swv5N1K/Y17pZnFh4Q3kG8q/
o/75/bqy1rEHL6HpnzkS41EgnLPeRBnvi47VpXW3xR+4YPHFTx8SFlPzoBD5pXlf
vDXSLslg/CUmscqbtdTL2xZBuavIL0Zk7f41cw7SZr/6KwDlhqdBowA5mRSieKMr
yBI1P2iOYQfgVpjT84oPFFvTnCzK11P3gB8vc3U3hS74pNjqEyKu1py8X02pj43Q
fBgGmrhszLC8A5bjl978O87aV7wJlSsMCp+l01VDt0o2dDsqQAp/g3nrnFZLfnaw
Nbplxjfa7LkjbzFHUFv7URZpx6lpru0ux02fcnjvMKtTWJZJIxTZkxDwmw1IAZw2
Sf5rSwfeF3vEoHIyVT9Vx7wjWszvn96UhLpZK8bSefqIppgRmdxv3/Q/V/7U81H3
hEztWggcWDsr+eGxhAJzJoCDGUy7fZnEl07EUfQtpn++dO0lpJmSvfl6fShLcE6J
c4d5FdTL0XYVS6T9rbTgfQQ64e60LVy3r69CmmsysA20aOa1Yzj3pJ+3UEVdhOdJ
Qhb7KuNuADAl7yEoTBGJF2DC6Iz4WIjvo9Uxh5Ksagw+WLOJDNMTjInTnJIujVHF
0ynE7kdIlCy3UeWzuNWjm12kTvptukE6onLld6xHwdF9j83gVQmVW+b0G3KqJs5U
kRdEjOAz/Ey7ynoLCSJlZsJ1lDqdDmuTW54Ka5GEf99WjNH5QMmhTkfmYGvBi8mg
Nln5s5WpWKTXrIrYGMdcWD3nzOYq4oPnNN/nUlOP+ty4pJnGt9WJQ1Bx0hWrbZwe
72PcIYXK51KlBlK1AR0mL3k8quMBX6ZHezgvXXC5jusmu/AdvczpfIeMGP93Zrz8
anrlRl/PpntU8GVa7Lg4treqPbWiuT/IqwGkXM6vac6e81OCS9101J8gDjHpymsD
8BR2wlarMT0YSvBCm4ek7Hmpgr6cXDRSPKxKcJq+fc5stF8vYzHATTxo+4YmJJ+j
18ze5/G4tnsfiCTgt5LXnCjDTO/tRRbbyT82JQ4i194UkefWTVLDwYOYHB0aDyKT
oUw8NUHnuZX2tmNpseASkb4cX6TjpwUV/aWzaWIVwiQ1hyaLQZEdJ2pLwgvOWg5h
q/Bn7EgaeSywkQ4kJXuX5CPILxrnqBZJbHkCAsFsi1Q5xCcSmkcI5U/3lh9FxqtT
dGIXQdkc7+52KLFpiXltz68y3W2EAQAaU6qRjaUDAa6VXEWcSDnnBS2SFn1a/YN/
Y6EhfB8Kd/8wp9bx8SgFOzZynYYYVEpC124WBWCrCBp9NF7smBCKXL1jy/rc4fSJ
LLL0vrcYi09cb33FzT3nPy76Xp47orV3i4MrZGOkpni067knk3gV9mCDfQWVWKFC
Xi8uzKlxCP6qwWBcLw3wkvthiOM5QDIWSzp6p7SlvpSANnWYfM4o/NLYIT4cU/aW
pIB5pFue3fAhEtYZ+ZFVWiWuvQXPmyPoWU5mBIcoeZYFDtnLdn/VYENh1oSVlxYJ
pnZioODtYcPhSZ+dluTqUNDbWSkTKSPP5n0yrBuGQ/KbJs4nTl1hrEHiCJTt/P9T
E2ay70kAchz39gGHTpA2vC4Mc629QIvmXGYhyPgZX9ludNAU88UrFESS9egPA5Hx
59EDnulnKLM33EtmXUCeiLBjxBGPX8kYIgo9rwsMCwhhH2IDfn84JCD1gKNPwyeu
Zkk1f5siahVo+t6D6PcGeXyrC9aW1JJOkEBm9MN5O2LCRMwpNfhSOPuTZkKjpWtB
Zd4MhdNKx8O0+DSgvXwWDaXhszN89CTrePfYa9ZIvxHKRQluiHZsJmpXPJvOtkzM
jOA18/KV2dUY93jwrRoiY7Xz9BBbwDKsJ2TBr7PxeV+90FuLY0gXSekCLpE0EQ38
Ig/yZAc0mYpbQ/JoR/00kkaQWJhT/ndng2HRTneBWVIBeCX/EQpmmlwljVQOZmH+
+XkLVg4m4j5l7ZmVlY1/PZV97kRX++34eVRXDy/FqDbznUa3pRDcnTQWghq0lQ0T
8rK0f+9Rt8iGyOQo+Je5HL8Ey/HeNIDZUMTdnk77aCHsRt+wFM7taPBWmkUv12Ty
vVbtoB2kGv9zaslbQwlcAMI66CHRknworQ2RHcTFYeJSmFhLUpQcpBpuiStWeCVu
PgVdATSFzp/UY5XSmWyuaN3K2J6Ey73LoIgaJWLe582KGAzuODhUSvs6ok8nBdAR
/NvuqanOy3ILmdclBbnGbkG9yvDJko/X6AXT5lRNYNfOs9SZaNJjGfnx0NH8z7sl
2zHVZtsiVWgyw0i3CFEutZ9F20g0NXcgoGNwLo0wcPa7YteLdZNa012gC5T5dce+
CKM4dWmQ5Kf7CJX6PlTbsSiw3Zi8Xe+ilupaykOtX4ZBluMarSUADUrdkZ0F64//
z8t/cZUqY2GT+qD+elqKHUc5HRRknHQZDZ6m33UemEEp1xyXLkAFu3jICnRi/mw4
7tNZcBHiqHwNzPc4ZWrfx0PnHTbuFmOHOaF3ayMDnsmigl7OhxTIIGYMf0eVOVX7
Pn7iMGlj8o6BEWD67wE8IJbeCSwtK1KsMlsxOq6nuZZ8CfFV7l7ot5Loc3KSN31f
HLssgAr2C7UVK4xIR5aMf9VPasBfGQrxglMjBqoMMSCQNZbv6zsbeet8VX2pX9Vn
i3izjBYIrjqPiMDDHNWQieiqGP+d9l1wKWEgzbWaO1znfNM2qlsBdpGIdLTxVXYw
3iPKnsTQ0K0BmPZdRNvxjzPaU8wtLytl0tF89klU2p3+jbowc8G3u/yBj/keLK/N
x+goP5sxXIe5Rae8f8Vgc48cktdkYjOA8ITRs0gkMBW9CCvRWqX2lt97cRTr0ddD
Csc3ZIXqNhgx6g/mzVDKqKcmOVNOWMJEBoxDezkIyfgtfBsCSsfHpRA8ow8pcM9m
R/cmbTIx+YKPXNiR48/FGk6hiFw2KMSw31vnX5WAqDT94YRv5PAoNr85p0EIVhBE
Cnbkb1oThDM1FhJeMN4pk8H7dTmdAOSkc5X9JZRhEHBM8nkAauxEs7ljJAekIVhX
agpPL/x1XyqZWpfqp4d016uVtYoebyWa5ZHA3ZhBl6IA4Cj98aPPU5AySl+a2Fsq
0kY1tNZaZmfOTOMzyBoGYIT0fItkm/MgjjINMsbBYqFwkjQfsPmM1iefG/XRySNO
p2SJenJ0CxPnqmyEFocGayhrhPGTl2gJIepLVIbEVF3Hg2H1LrLnXyFjrn1hVEka
pWc+pUQ3tnfPVS9sBgSI4hKlHXawsUhe+tjZ5ybx6nGFJiVIKcM+FcSU7RFsQOpn
CDCG/YhfjN6xcWrp9fAeIEpzUU/Mk/YSLheI1V2WrYli44cDUFzvT9iM3ea2oHvJ
5LvWVa9QS9DZ7HLAI2W4aQDJcjbncTaYJ29MBwkkY7q6edIYBhiTyXeSLCTE/4+e
9Oht3azqTOO4N9wv0jctNJdwAPdEzufCzVgjHm9mZ1zUHVCC+hiQqm1PHl3tzdHh
T4IeOwoHchLdbenJdsc9lsDGihOmdUed49hgW3gTwmxCYiA2Q0OAt68oIjQURVwP
/rgd8UiwDNBC/ezhBPXtkxTuFcByRgDtU40a8BhOZZ7pO6zo1iHZtcIX3sONyIMl
bybL5fRHu2QVxzNieisyz73FFOAX6IbiRIjfnwDQGXP9Hu5xKg4v1eAiiECCYp4K
abYlI8gfbrysLEzMquHjm6Q0M8WjKOuqAlXMFTm9KO+62+MbjRjhfu1QiqBdB9U3
b8Kv9EGc55lXLwRQPwRcn7CD6olVMyidSLLT2idyPEmOA1ALP127f/IfGzh82Nth
PdFQ9j49olgtGrKE1zvq6F6VpDv0eNXEbv5kcaU7tHtmJQm0vXGuESOUNRvnwzpT
+bzXSgQCT5zfbrZ7WJef7xq6QnfZZhoVFFjbfkIj6iYkjg5HE1mZE8mZ5nAsIoCQ
cKfujLxF1dMlCFX4/AdpRaO1RuNGvAboFzpPY2wwDS/QGlhKMC0aZELhKT+EVute
xugyPlws+nUKDhlOw3YAbKrR8/DYYmcLuQfErpN8GvsRJzqS9ey1X1SOxvKvi1aR
e6c6VEWiZX5SvvIpl+FkybtR5cnRMhas58tk4nZPKWYTxXk6TA+OgFw/Qf+x2lER
vhfrwEs+Hz11s4UIVway6gKfQ55dqUGDEyHZ7zHG1DAyl640ZsauIlgh+nn3SrW9
qapo488NQ9Lpb7IOV0/tqsp7d1z1WX1HC7MG1JB48jiLP1AhrHsyg8oiRFLTuBCd
YyqzAaP0ghID5hJ7lf50pvRQGVSSINOLSb8N+136GVv3ha2Z7Z1czTRfLhI8w1ZY
1+shLST12Cm+zCpjTU2VzbE/8hDrohUVSk5QWZNZTxLgL6If1RCgcucP0wxRfIXr
zGE0ccuXC89E38uZodrvWlxVkope+JQJDUrTZp8iwqsRtua59cFk3+OTnTXoCIfU
ujY5W5pZVft3iS7IA0lyqRxc2zFh1Nt0ETzNABYELIoKPDk6FxFAXOHHn3n6eqjQ
IpZFwjyr0+gf7x9q1/LA97yNfHg7dsvPif9IWIugk3d06zjbFMLQfC89hlKblF3X
UbYuazfklNR3VKzInT2/auOinLI2czGc//N3hZa4Hwxz+ZaMKkzLxa+jjxwfZFga
WdJIkGoQqLuHRllydrAuTAtP3UbuTl8nGVzmmggbpHzoVEXKDvzS8oG2psMZwVTR
9h/JYnRnYqt0Mq2TnEad109N0bOkS/GGyw3vh4YndquVRdV2oPK33Joa8CxvysvX
nTZWxXwSkvcYPv8brIqRBm3HqabPiAex9PqCeO7AH8OoxvoxXZq1zJNmQ2JSQ6V3
CSzi33jtu47DVXjlNhtGTPUZmYh07LtoKnUkdTaxnat7N7HOGJ869tbbpZwUPWAq
Z1+Nm8PbiNeDOeDmlsEUF/HIJn+DDSNfNBq0OZ7DZr+EfH6SEsAPs7NTqYXj9C9G
63+XjxVfzFU0btjRJoY++vt6IgcuJeHelsrJiVp7bhQbAtz/FXyptpj8CbLIQDh7
2sGBEwL+bjMTRzmHtvWp+3EPULqr8x/XeHzDcG4of4c3MT6wc928H2c4iOMSwKm+
a5tnXfzPimjQNQA+wPxQudBxPppqyLi4ESG4xUdnpLkaDQP9zLXo7q8U3AS5lBlA
dFVR6A/buup/X2+ZPb5/mYzC8DNON/2VrKs6T43URMuE+rsWVk14rUzjBIj1avgO
FQfL4R1TTsbqANGGszg+269RfU2yJif3uIIxwtISx6YoZIIbLzcxeNP8QNNSUFLi
YXVIM82BNnNTUmhEZ0hTclPU9TGGIGK9VVQsmLwMa/9foLtcuiUlcQEP40vcjuJO
kHz0/9fwc8XXoFJpe4LGnQSXQF9hSLdgTBdv/Onj8wQhNH1fHW6slY7wEuok1fP/
rqOO6ni2fY1TkJlUZzJSlud/sE03PzayBbOvk1kzutd9vUqt2c9/F0cxhuthFGdk
zxB7hIbxX3xrkJr+f69bgbXYKdHmjDS0SU4+FjVzcQp7XCw3uGqSxeD01N8cIl2u
eJkM5mUksR3a76d8od0F56L2klVoFbO9smmSyITCZy5M+TEmwo7NffYXh5EtOqCm
+GFmP7idt+G3AhRMUsg+qv1Rl9U58Ju3p2QlXP/rrLSPV6RhMKAqoiizMThL+Wni
U3hUzUmnO3YyFHx9oWAiZ8HwdvqF2hIPtqfUXAEQ4h5+8gbwzcsJcdg4hkfj8Ylx
rtvs2YyFCaOLQJ3boO/qMt4ibYj/xuswV1cZD3M7BsOghLFBuSBNkx9n4Mv9Cthu
+nmxhfXTbf23RhlgtaquBUXUofjw8nN/pxroldQo+fgWswcicATPbprhqVBvFUob
vDh6h2TJM6gj8wo3Etu0YmAVTFWs+dXhJj2esNyD5F4+SZnynypC9k8pxq26fA0e
y9YGbXBJz95ACtCPVgEVSWqU5aFvLcq6nn4LmCUKx9DMtGny/Yss/ejMZqTwOve7
lcMA4yG8MSxIJqULmResjS5zsNsqXvEcLF/w8qsevM64QSexOUFfS6dIE006tJjy
MBGVtrcIwe1M/JPhJpxRgkJ8tOEt0LiVpTYdYdKBR4MgLKArlBPIPJPko8vqC2Xi
SpZNzpqDbuRaLdC/LWNLNUEH8dNxbKetKGU3+CzUIRck+/lqEy4j/VRuHwZCnM6R
rt3aPd9Kf46jbzpO0aoNGNOCrTrx5x6ReLFC1siuc5vZYuZ6Ml7uHXREsPZGPKpl
WDtZBARplxjerc1CKDq0kVl+lT7OxGXPKa2IHZV9MDGLTc0pZzlnN+0KYqpzhQjJ
REIn+/DvVfSVElmj/RtmInxfJP4nsVqEEIp+5Ini8Syl2EzeRde/5g/lHH3tUs24
ELibRaRMWtUdhvigKKN8if/ysoKnj04+XwF3VitdcNRbNXO3orccM6N1xXVd90f3
iS2wOfyZbJlOtQJS3d1tFR4RBfTuy1YukR+yezVCWEmrByzvaD6HiZWlfteIzkoW
7PsUR0LUxcaKynpCfUmlj1lS+guplHIUufrVSUo8xlNI/ZnAyHcDniPYZQDzZOTe
Cex751Yg0xb8PuTMl9WBVd8zj2Y42j/euRk8GIbc432kKrE6BF+R9aHtXRGXOeuI
Ln1mI0lSTwOiQKo8TstjvnTFOKSuh8YJhfl3ErBcA5nC4S6VCqAZLQCyV7w4XR5m
nry5A8hn61H57wPgG7ZbZwJUaCLYeQOawRhhEJ0P64u+yiU3vyJc2/uSqrSkbEBX
KGGZdUv4j5u1g4iTmS5dl1xe8xL+JMyjwZkMq8lqCwa7t3Wdy3Cph+q/FA6OXtFW
L973lYqu38s52zW7OIoEcXbwR7BXuCKzEv/HwPwhv4QREqnAbWuKHjCuYh+oN8BO
uF68GcK6VceT4STu5Q/hh04hb6yvW1bI+/gnizBuKp2kh6WQM7oQAen7EZz4p/E1
NSww9pmQhr9hCRAgI5Da5cBHck/Ey4FFe/JIWKsOGaSYuNIsYhaPCfvfZs/sAbNR
BoMeaK8xBrJjIG5bc1CoZVefOVEGJEQvpHy7yG8ZDnl8p+qdR9A/XXZBdI4ydrZR
l0ZoG5o0W1gpnEzAUxiG6COqL1tL0nnyGVD6cua379nZMMr4Ef9sbQtfPa01ftDU
n2lIiFbu0RFnHthtOL9SYZkjfV7Px3nP9PAgryxymDUCIDpbaHg53SKTCLiFv5q/
cC5FQt2EIgza66+bqetc61+6MeTuccAlbkMnUl/0lseVByJo7DiztixWQysebAui
PZHauCwUY8ZJ0Bwi4nD3mLANr+yrFCPZRp8CU5Id+BtnB50F2ZooqdldKPWCebBn
DEgDEQHfKV/7MD7CjP2ivW3TMMTYnUoR7iltSvbxOd1TktbmS9gXhdbbq+4MJNVV
9mVyup4miu7/2FHC3Qnl/cCYonF9Nkt3YhPCTsQKgO4rwfWY93RlZfSjHppwMSRA
zTpYsqF0E5WCe+a7NzWjb8x+Q938mdpWzOKUVJK9kNL8LhPzdnF+rcxhqegJkQEX
Fc/o8G5OXz1+NSZI/rBe0m2q7K+4PGMRjcxn9Ajxfmg69JRPVcVitNIZ78zjUiGO
yrdq3fP31FEw5QSPqEZraXXNVRn+R+h8PkWjRyY/dyy/1MsCwD3GuMWy9cLN0K0h
vdiHTcstfOtrJG+eQXDNZHVf/opD4JoJecSqrdCYiyRU0wpGF9CijIjxNPTb2yeL
Vdx9r1C/jMxF/T4/LkFpTgadIU3l5yDcuaXhnAnBrEoDyMF90ZZmmmT7bSRbYLub
LjIv+OgeB54Jn5fTZHwA4ZBvDS1pSbZvqAXiFSO5oDpd4qYaXhJ/V9YvP8OSTu87
9wPqU1PmXvgN6vrq7GpODXQEvqHJ2yvIPmGLvyydv3iRqSsfyqtrmMAMz3cqVr3Y
Yy4mEmrawtDVALz5SXPATKQtBU+1toMr+akFpjJsp9h/Pd4Y6Vfc5cRHzK1P/nr1
Km0MA14QLWm9VZEC6rpvw/B9xbUpfVye7nodAdR2F2ExE9qazNA9K7urhFSJSbEU
o/w1sgsOnekkcUHrqoHJySf6/R6kpWAXSBw+UHUMTCrTI3zm8dbvtHQMt1XN+qxy
qPJ4oE7X6AGJJouSe04lhMWzBHDbnB7y2nbGBnjbEGBkOxpk0CIED9TqwkiksRb2
Pf8gWuCGfw/fiZNH7feEIlQYwFbQ/ZzKFkx/otQNyXqIWSSP1ICTP4uOvmXUO1YE
cdGZEbzm7G+bL/UDFlrSdMZ9h/9x3oDWu7VTVcYnyXKCWMfMqlKGAjUETeSh/0fp
7YiwvU9yDfjtKVcM8Q037sC/8n8ErWumBQJwud+7aLxVgL58NbbD7w8h5lHHiQVK
rHm42Y8LRzrx5gIAD7ifOMfb3ZbiRdrzl4g6c+u4RMMgqQlQGI0m//Fi+pWdgl2U
CB1J6aCav1ZYKTI345jBmUujWbef+tRHc36YWO6BOM7hX97f1fgPksdfbx2DzM2o
kOFcIgMzm0uPBzqoskXOSbsld/sIxShjTwLpVqJn+BomIl/dZucx0HGqjCjiDwXu
LVdhMy26Lzy8bu0vF1INZ04BZrq4IVqruGF/FUrIOpuYvGVIzliJ3PPGctro4G+T
maV9gxJUHMs9WD8OPlUkx2/ve1S1FrrFPueh9RvOjnyywblbYWsTNHTfaWySd02i
RIb9QtREPrsE9BUUiwppanF6QJ6iEHQDIHXvAjypKBTX59VZzCBc+mSjzZiyzjsp
qVKT8JRHUz3wLoB4podWO8SA6C9Y1kuY3cn/pqsX6PEV5a1i203DyXTstZEdFPe3
8O1MKT7r0qIFKXbv4FzQ3ovMJq0emJ+JQVXmyTrFn6ne3WKI9BzG1kaLryo6urIV
bj/ZXgPAXqeX0EkVdb5h+PiNmhLqEOCVr5euXViYgf6OV+dgVMRVmnwr0jJYndHo
ZwHT93nv4gCgoX6C7iyLUDRK2dWsnz1+Q7EpkTb7fuxNgmNrGRb/i5lBVarM9zKN
xI27fvwFwBYqlhMTkHG0MWwZsQeO86Qjz1ymvtVTt1KHnsvKU+S6KVOYWDlDZGG8
TS2AidDvg35KiFbLMEmFWVvEMphNAqJFStpW5AI9Qgq12mvPwHnxdfxsrJ5/ccDl
vvwUZNlykqjHey7zJr30mAqFAMVjjY1ggCgmJF8d2oA4oqSpw2mRP6WnD73dyUv5
VxKras55RlghxgrbjXU5YTQdoAl13nPhRrLwHbWEBLpo30bJ8jLDv1iHcrWPbo9e
gAED0yFLVtXTyKlxrDLe+NOkI0OSTLg4cYSiyUj2rCMR9P+NC2oyqj7cScd+RxlS
iXVSYjSyrE7tFOVI9N71h/tGZY2E0x/GW1b/F4wHVPY96JJ3pXzuAA2TBAFQqC6L
bYgThkW4L3plVh42gVUXTV40iPd7sXYv0+kPrI1LAnNzB63OuXOtonnBpfQPuqkf
OYN/j9RgIkgIZk5KHvG1w7qsmUxGqteFQZI6aPOc0ch3lX2zmANRI0oAxk+v1CXC
nBm+ij3BWzUGW1pIZ0rQ
=r9af
-----END PGP MESSAGE-----

^ permalink raw reply	[flat|nested] 64+ messages in thread

end of thread, other threads:[~2019-03-08  6:37 UTC | newest]

Thread overview: 64+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-01 21:47 [patch V6 00/14] MDS basics 0 Thomas Gleixner
2019-03-01 21:47 ` [patch V6 01/14] MDS basics 1 Thomas Gleixner
2019-03-02  0:06   ` [MODERATED] " Frederic Weisbecker
2019-03-01 21:47 ` [patch V6 02/14] MDS basics 2 Thomas Gleixner
2019-03-02  0:34   ` [MODERATED] " Frederic Weisbecker
2019-03-02  8:34   ` Greg KH
2019-03-05 17:54   ` Borislav Petkov
2019-03-01 21:47 ` [patch V6 03/14] MDS basics 3 Thomas Gleixner
2019-03-02  1:12   ` [MODERATED] " Frederic Weisbecker
2019-03-01 21:47 ` [patch V6 04/14] MDS basics 4 Thomas Gleixner
2019-03-02  1:28   ` [MODERATED] " Frederic Weisbecker
2019-03-05 14:52     ` Thomas Gleixner
2019-03-06 20:00   ` [MODERATED] " Andrew Cooper
2019-03-06 20:32     ` Thomas Gleixner
2019-03-07 23:56   ` [MODERATED] " Andi Kleen
2019-03-08  0:36     ` Linus Torvalds
2019-03-01 21:47 ` [patch V6 05/14] MDS basics 5 Thomas Gleixner
2019-03-02  1:37   ` [MODERATED] " Frederic Weisbecker
2019-03-07 23:59   ` Andi Kleen
2019-03-08  6:37     ` Thomas Gleixner
2019-03-01 21:47 ` [patch V6 06/14] MDS basics 6 Thomas Gleixner
2019-03-04  6:28   ` [MODERATED] Encrypted Message Jon Masters
2019-03-05 14:55     ` Thomas Gleixner
2019-03-01 21:47 ` [patch V6 07/14] MDS basics 7 Thomas Gleixner
2019-03-02  2:22   ` [MODERATED] " Frederic Weisbecker
2019-03-05 15:30     ` Thomas Gleixner
2019-03-06 15:49       ` [MODERATED] " Frederic Weisbecker
2019-03-06  5:21   ` Borislav Petkov
2019-03-01 21:47 ` [patch V6 08/14] MDS basics 8 Thomas Gleixner
2019-03-03  2:54   ` [MODERATED] " Frederic Weisbecker
2019-03-04  6:57   ` [MODERATED] Encrypted Message Jon Masters
2019-03-04  7:06     ` Jon Masters
2019-03-04  8:12       ` Jon Masters
2019-03-05 15:34     ` Thomas Gleixner
2019-03-06 16:21       ` [MODERATED] " Jon Masters
2019-03-06 14:11   ` [MODERATED] Re: [patch V6 08/14] MDS basics 8 Borislav Petkov
2019-03-01 21:47 ` [patch V6 09/14] MDS basics 9 Thomas Gleixner
2019-03-06 16:14   ` [MODERATED] " Frederic Weisbecker
2019-03-01 21:47 ` [patch V6 10/14] MDS basics 10 Thomas Gleixner
2019-03-04  6:45   ` [MODERATED] Encrypted Message Jon Masters
2019-03-05 18:42   ` [MODERATED] Re: [patch V6 10/14] MDS basics 10 Andrea Arcangeli
2019-03-06 19:15     ` Thomas Gleixner
2019-03-06 14:31   ` [MODERATED] " Borislav Petkov
2019-03-06 15:30     ` Thomas Gleixner
2019-03-06 18:35       ` Thomas Gleixner
2019-03-06 19:34         ` [MODERATED] Re: " Borislav Petkov
2019-03-01 21:47 ` [patch V6 11/14] MDS basics 11 Thomas Gleixner
2019-03-01 21:47 ` [patch V6 12/14] MDS basics 12 Thomas Gleixner
2019-03-04  5:47   ` [MODERATED] Encrypted Message Jon Masters
2019-03-05 16:04     ` Thomas Gleixner
2019-03-05 16:40   ` [MODERATED] Re: [patch V6 12/14] MDS basics 12 mark gross
2019-03-06 14:42   ` Borislav Petkov
2019-03-01 21:47 ` [patch V6 13/14] MDS basics 13 Thomas Gleixner
2019-03-03  4:01   ` [MODERATED] " Josh Poimboeuf
2019-03-05 16:04     ` Thomas Gleixner
2019-03-05 16:43   ` [MODERATED] " mark gross
2019-03-01 21:47 ` [patch V6 14/14] MDS basics 14 Thomas Gleixner
2019-03-01 23:48 ` [patch V6 00/14] MDS basics 0 Thomas Gleixner
2019-03-04  5:30 ` [MODERATED] Encrypted Message Jon Masters
  -- strict thread matches above, loose matches on Subject: below --
2019-02-21 23:44 [patch V3 0/9] MDS basics 0 Thomas Gleixner
2019-02-21 23:44 ` [patch V3 4/9] MDS basics 4 Thomas Gleixner
2019-02-22  7:45   ` [MODERATED] Encrypted Message Jon Masters
2019-02-22 17:16     ` [MODERATED] " Linus Torvalds
2019-02-22 17:40       ` Thomas Gleixner
2019-02-20 15:07 [patch V2 00/10] MDS basics+ 0 Thomas Gleixner
2019-02-20 15:07 ` [patch V2 04/10] MDS basics+ 4 Thomas Gleixner
2019-02-20 17:10   ` [MODERATED] " mark gross
2019-02-21 19:26     ` [MODERATED] Encrypted Message Tim Chen
2019-02-21 20:32       ` Thomas Gleixner
2019-01-11 17:09 zzoru
2019-01-11 17:21 ` zzoru
2019-01-11 17:57   ` zzoru

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.