[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-05-08 Thread Mike Pagano
commit: 7287b48d4c0fe338c20e0ef320c23a4b2376c81c
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon May  8 10:44:53 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon May  8 10:44:53 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=7287b48d

Linux patch 4.10.15

 _README  |   4 +
 1014_linux-4.10.15.patch | 509 +++
 2 files changed, 513 insertions(+)

diff --git a/_README b/_README
index 5295a7d..1e8afc8 100644
--- a/_README
+++ b/_README
@@ -99,6 +99,10 @@ Patch:  1013_linux-4.10.14.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.14
 
+Patch:  1014_linux-4.10.15.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.15
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1014_linux-4.10.15.patch b/1014_linux-4.10.15.patch
new file mode 100644
index 000..d485ffb
--- /dev/null
+++ b/1014_linux-4.10.15.patch
@@ -0,0 +1,509 @@
+diff --git a/Makefile b/Makefile
+index 48756653c42c..6f600fee5753 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 14
++SUBLEVEL = 15
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c
+index 43146162c122..b99c1df48156 100644
+--- a/drivers/hwmon/it87.c
 b/drivers/hwmon/it87.c
+@@ -3115,7 +3115,7 @@ static int __init sm_it87_init(void)
+ {
+   int sioaddr[2] = { REG_2E, REG_4E };
+   struct it87_sio_data sio_data;
+-  unsigned short isa_address;
++  unsigned short isa_address[2];
+   bool found = false;
+   int i, err;
+ 
+@@ -3125,15 +3125,29 @@ static int __init sm_it87_init(void)
+ 
+   for (i = 0; i < ARRAY_SIZE(sioaddr); i++) {
+   memset(_data, 0, sizeof(struct it87_sio_data));
+-  isa_address = 0;
+-  err = it87_find(sioaddr[i], _address, _data);
+-  if (err || isa_address == 0)
++  isa_address[i] = 0;
++  err = it87_find(sioaddr[i], _address[i], _data);
++  if (err || isa_address[i] == 0)
+   continue;
++  /*
++   * Don't register second chip if its ISA address matches
++   * the first chip's ISA address.
++   */
++  if (i && isa_address[i] == isa_address[0])
++  break;
+ 
+-  err = it87_device_add(i, isa_address, _data);
++  err = it87_device_add(i, isa_address[i], _data);
+   if (err)
+   goto exit_dev_unregister;
++
+   found = true;
++
++  /*
++   * IT8705F may respond on both SIO addresses.
++   * Stop probing after finding one.
++   */
++  if (sio_data.type == it87)
++  break;
+   }
+ 
+   if (!found) {
+diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
+index a5a9b17f0f7f..5edc2a58edcc 100644
+--- a/drivers/md/dm-ioctl.c
 b/drivers/md/dm-ioctl.c
+@@ -1847,7 +1847,7 @@ static int ctl_ioctl(uint command, struct dm_ioctl 
__user *user)
+   if (r)
+   goto out;
+ 
+-  param->data_size = sizeof(*param);
++  param->data_size = offsetof(struct dm_ioctl, data);
+   r = fn(param, input_param_size);
+ 
+   if (unlikely(param->flags & DM_BUFFER_FULL_FLAG) &&
+diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
+index 7be04fc0d0e7..6f5d173ea9ff 100644
+--- a/drivers/scsi/storvsc_drv.c
 b/drivers/scsi/storvsc_drv.c
+@@ -400,8 +400,6 @@ MODULE_PARM_DESC(storvsc_vcpus_per_sub_channel, "Ratio of 
VCPUs to subchannels")
+  */
+ static int storvsc_timeout = 180;
+ 
+-static int msft_blist_flags = BLIST_TRY_VPD_PAGES;
+-
+ #if IS_ENABLED(CONFIG_SCSI_FC_ATTRS)
+ static struct scsi_transport_template *fc_transport_template;
+ #endif
+@@ -1283,6 +1281,22 @@ static int storvsc_do_io(struct hv_device *device,
+   return ret;
+ }
+ 
++static int storvsc_device_alloc(struct scsi_device *sdevice)
++{
++  /*
++   * Set blist flag to permit the reading of the VPD pages even when
++   * the target may claim SPC-2 compliance. MSFT targets currently
++   * claim SPC-2 compliance while they implement post SPC-2 features.
++   * With this flag we can correctly handle WRITE_SAME_16 issues.
++   *
++   * Hypervisor reports SCSI_UNKNOWN type for DVD ROM device but
++   * still supports REPORT LUN.
++   */
++  sdevice->sdev_bflags = BLIST_REPORTLUN2 | BLIST_TRY_VPD_PAGES;
++
++  return 0;
++}
++
+ static int storvsc_device_configure(struct scsi_device *sdevice)
+ {
+ 
+@@ -1298,14 +1312,6 @@ static int storvsc_device_configure(struct scsi_device 
*sdevice)
+   sdevice->no_write_same = 1;
+ 
+   /*
+-   * Add blist flags to permit the reading of the VPD pages even 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-05-03 Thread Mike Pagano
commit: 2924718e5b11fe3a7209b755097cba3a3f955839
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed May  3 17:46:16 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed May  3 17:46:16 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=2924718e

Linux patch 4.10.14

 _README  |4 +
 1013_linux-4.10.14.patch | 2251 ++
 2 files changed, 2255 insertions(+)

diff --git a/_README b/_README
index 0aa6665..5295a7d 100644
--- a/_README
+++ b/_README
@@ -95,6 +95,10 @@ Patch:  1012_linux-4.10.13.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.13
 
+Patch:  1013_linux-4.10.14.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.14
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1013_linux-4.10.14.patch b/1013_linux-4.10.14.patch
new file mode 100644
index 000..ae4d094
--- /dev/null
+++ b/1013_linux-4.10.14.patch
@@ -0,0 +1,2251 @@
+diff --git a/Makefile b/Makefile
+index 8285f4de02d1..48756653c42c 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 13
++SUBLEVEL = 14
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/arch/arc/include/asm/atomic.h b/arch/arc/include/asm/atomic.h
+index b65930a49589..54b54da6384c 100644
+--- a/arch/arc/include/asm/atomic.h
 b/arch/arc/include/asm/atomic.h
+@@ -17,10 +17,11 @@
+ #include 
+ #include 
+ 
++#define ATOMIC_INIT(i){ (i) }
++
+ #ifndef CONFIG_ARC_PLAT_EZNPS
+ 
+ #define atomic_read(v)  READ_ONCE((v)->counter)
+-#define ATOMIC_INIT(i){ (i) }
+ 
+ #ifdef CONFIG_ARC_HAS_LLSC
+ 
+diff --git a/arch/mips/kernel/cevt-r4k.c b/arch/mips/kernel/cevt-r4k.c
+index 804d2a2a19fe..dd6a18bc10ab 100644
+--- a/arch/mips/kernel/cevt-r4k.c
 b/arch/mips/kernel/cevt-r4k.c
+@@ -80,7 +80,7 @@ static unsigned int calculate_min_delta(void)
+   }
+ 
+   /* Sorted insert of 75th percentile into buf2 */
+-  for (k = 0; k < i; ++k) {
++  for (k = 0; k < i && k < ARRAY_SIZE(buf2); ++k) {
+   if (buf1[ARRAY_SIZE(buf1) - 1] < buf2[k]) {
+   l = min_t(unsigned int,
+ i, ARRAY_SIZE(buf2) - 1);
+diff --git a/arch/mips/kernel/elf.c b/arch/mips/kernel/elf.c
+index 6430bff21fff..5c429d70e17f 100644
+--- a/arch/mips/kernel/elf.c
 b/arch/mips/kernel/elf.c
+@@ -257,7 +257,7 @@ int arch_check_elf(void *_ehdr, bool has_interpreter, void 
*_interp_ehdr,
+   else if ((prog_req.fr1 && prog_req.frdefault) ||
+(prog_req.single && !prog_req.frdefault))
+   /* Make sure 64-bit MIPS III/IV/64R1 will not pick FR1 */
+-  state->overall_fp_mode = ((current_cpu_data.fpu_id & 
MIPS_FPIR_F64) &&
++  state->overall_fp_mode = ((raw_current_cpu_data.fpu_id & 
MIPS_FPIR_F64) &&
+ cpu_has_mips_r2_r6) ?
+ FP_FR1 : FP_FR0;
+   else if (prog_req.fr1)
+diff --git a/arch/mips/kernel/kgdb.c b/arch/mips/kernel/kgdb.c
+index 1f4bd222ba76..eb6c0d582626 100644
+--- a/arch/mips/kernel/kgdb.c
 b/arch/mips/kernel/kgdb.c
+@@ -244,9 +244,6 @@ static int compute_signal(int tt)
+ void sleeping_thread_to_gdb_regs(unsigned long *gdb_regs, struct task_struct 
*p)
+ {
+   int reg;
+-  struct thread_info *ti = task_thread_info(p);
+-  unsigned long ksp = (unsigned long)ti + THREAD_SIZE - 32;
+-  struct pt_regs *regs = (struct pt_regs *)ksp - 1;
+ #if (KGDB_GDB_REG_SIZE == 32)
+   u32 *ptr = (u32 *)gdb_regs;
+ #else
+@@ -254,25 +251,46 @@ void sleeping_thread_to_gdb_regs(unsigned long 
*gdb_regs, struct task_struct *p)
+ #endif
+ 
+   for (reg = 0; reg < 16; reg++)
+-  *(ptr++) = regs->regs[reg];
++  *(ptr++) = 0;
+ 
+   /* S0 - S7 */
+-  for (reg = 16; reg < 24; reg++)
+-  *(ptr++) = regs->regs[reg];
++  *(ptr++) = p->thread.reg16;
++  *(ptr++) = p->thread.reg17;
++  *(ptr++) = p->thread.reg18;
++  *(ptr++) = p->thread.reg19;
++  *(ptr++) = p->thread.reg20;
++  *(ptr++) = p->thread.reg21;
++  *(ptr++) = p->thread.reg22;
++  *(ptr++) = p->thread.reg23;
+ 
+   for (reg = 24; reg < 28; reg++)
+   *(ptr++) = 0;
+ 
+   /* GP, SP, FP, RA */
+-  for (reg = 28; reg < 32; reg++)
+-  *(ptr++) = regs->regs[reg];
+-
+-  *(ptr++) = regs->cp0_status;
+-  *(ptr++) = regs->lo;
+-  *(ptr++) = regs->hi;
+-  *(ptr++) = regs->cp0_badvaddr;
+-  *(ptr++) = regs->cp0_cause;
+-  *(ptr++) = regs->cp0_epc;
++  *(ptr++) = (long)p;
++  *(ptr++) = p->thread.reg29;
++  *(ptr++) = p->thread.reg30;
++  *(ptr++) = p->thread.reg31;
++
++  *(ptr++) = p->thread.cp0_status;
++
++  /* lo, hi */
++   

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-04-27 Thread Alice Ferrazzi
commit: ea4709ae5b6d7054a381c8c5ee5db3980e0e543f
Author: Alice Ferrazzi  gentoo  org>
AuthorDate: Thu Apr 27 09:42:05 2017 +
Commit: Alice Ferrazzi  gentoo  org>
CommitDate: Thu Apr 27 09:42:05 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=ea4709ae

Linux patch 4.10.13

 _README  |   4 +
 1012_linux-4.10.13.patch | 814 +++
 2 files changed, 818 insertions(+)

diff --git a/_README b/_README
index e55a9e7..0aa6665 100644
--- a/_README
+++ b/_README
@@ -91,6 +91,10 @@ Patch:  1011_linux-4.10.12.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.12
 
+Patch:  1012_linux-4.10.13.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.13
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1012_linux-4.10.13.patch b/1012_linux-4.10.13.patch
new file mode 100644
index 000..7c9db8c
--- /dev/null
+++ b/1012_linux-4.10.13.patch
@@ -0,0 +1,814 @@
+diff --git a/Makefile b/Makefile
+index 9689d3f644ea..8285f4de02d1 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 12
++SUBLEVEL = 13
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
+index 6432d4bf08c8..767ef6d68c9e 100644
+--- a/arch/powerpc/kernel/entry_64.S
 b/arch/powerpc/kernel/entry_64.S
+@@ -689,7 +689,7 @@ resume_kernel:
+ 
+   addir8,r1,INT_FRAME_SIZE/* Get the kprobed function entry */
+ 
+-  lwz r3,GPR1(r1)
++  ld  r3,GPR1(r1)
+   subir3,r3,INT_FRAME_SIZE/* dst: Allocate a trampoline exception 
frame */
+   mr  r4,r1   /* src:  current exception frame */
+   mr  r1,r3   /* Reroute the trampoline frame to r1 */
+@@ -703,8 +703,8 @@ resume_kernel:
+   addir6,r6,8
+   bdnz2b
+ 
+-  /* Do real store operation to complete stwu */
+-  lwz r5,GPR1(r1)
++  /* Do real store operation to complete stdu */
++  ld  r5,GPR1(r1)
+   std r8,0(r5)
+ 
+   /* Clear _TIF_EMULATE_STACK_STORE flag */
+diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
+index 0362cd5fa187..0cea7026e4ff 100644
+--- a/arch/s390/include/asm/pgtable.h
 b/arch/s390/include/asm/pgtable.h
+@@ -1029,6 +1029,8 @@ int get_guest_storage_key(struct mm_struct *mm, unsigned 
long addr,
+ static inline void set_pte_at(struct mm_struct *mm, unsigned long addr,
+ pte_t *ptep, pte_t entry)
+ {
++  if (pte_present(entry))
++  pte_val(entry) &= ~_PAGE_UNUSED;
+   if (mm_has_pgste(mm))
+   ptep_set_pte_at(mm, addr, ptep, entry);
+   else
+diff --git a/arch/x86/kernel/cpu/mcheck/mce-genpool.c 
b/arch/x86/kernel/cpu/mcheck/mce-genpool.c
+index 93d824ec3120..040af1939460 100644
+--- a/arch/x86/kernel/cpu/mcheck/mce-genpool.c
 b/arch/x86/kernel/cpu/mcheck/mce-genpool.c
+@@ -85,7 +85,7 @@ void mce_gen_pool_process(void)
+   head = llist_reverse_order(head);
+   llist_for_each_entry_safe(node, tmp, head, llnode) {
+   mce = >mce;
+-  atomic_notifier_call_chain(_mce_decoder_chain, 0, mce);
++  blocking_notifier_call_chain(_mce_decoder_chain, 0, mce);
+   gen_pool_free(mce_evt_pool, (unsigned long)node, sizeof(*node));
+   }
+ }
+diff --git a/arch/x86/kernel/cpu/mcheck/mce-internal.h 
b/arch/x86/kernel/cpu/mcheck/mce-internal.h
+index cd74a3f00aea..de20902ecf23 100644
+--- a/arch/x86/kernel/cpu/mcheck/mce-internal.h
 b/arch/x86/kernel/cpu/mcheck/mce-internal.h
+@@ -13,7 +13,7 @@ enum severity_level {
+   MCE_PANIC_SEVERITY,
+ };
+ 
+-extern struct atomic_notifier_head x86_mce_decoder_chain;
++extern struct blocking_notifier_head x86_mce_decoder_chain;
+ 
+ #define ATTR_LEN  16
+ #define INITIAL_CHECK_INTERVAL5 * 60 /* 5 minutes */
+diff --git a/arch/x86/kernel/cpu/mcheck/mce.c 
b/arch/x86/kernel/cpu/mcheck/mce.c
+index 036fc03aefbd..fcf8b8d6ebfb 100644
+--- a/arch/x86/kernel/cpu/mcheck/mce.c
 b/arch/x86/kernel/cpu/mcheck/mce.c
+@@ -123,7 +123,7 @@ static void (*quirk_no_way_out)(int bank, struct mce *m, 
struct pt_regs *regs);
+  * CPU/chipset specific EDAC code can register a notifier call here to print
+  * MCE errors in a human-readable form.
+  */
+-ATOMIC_NOTIFIER_HEAD(x86_mce_decoder_chain);
++BLOCKING_NOTIFIER_HEAD(x86_mce_decoder_chain);
+ 
+ /* Do initial initialization of a struct mce */
+ void mce_setup(struct mce *m)
+@@ -223,7 +223,7 @@ void mce_register_decode_chain(struct notifier_block *nb)
+   if (nb != _srao_nb && nb->priority == INT_MAX)
+   nb->priority -= 1;
+ 
+-  atomic_notifier_chain_register(_mce_decoder_chain, nb);
++  blocking_notifier_chain_register(_mce_decoder_chain, nb);
+ }
+ 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-04-22 Thread Mike Pagano
commit: b3664958047a78d65c5ad40678c8bff0d0843099
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Apr 22 17:03:12 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Apr 22 17:03:12 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=b3664958

Linux patch 4.10.12

 _README  |4 +
 1011_linux-4.10.12.patch | 3376 ++
 2 files changed, 3380 insertions(+)

diff --git a/_README b/_README
index f05d7f1..e55a9e7 100644
--- a/_README
+++ b/_README
@@ -87,6 +87,10 @@ Patch:  1010_linux-4.10.11.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.11
 
+Patch:  1011_linux-4.10.12.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.12
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1011_linux-4.10.12.patch b/1011_linux-4.10.12.patch
new file mode 100644
index 000..74cbab6
--- /dev/null
+++ b/1011_linux-4.10.12.patch
@@ -0,0 +1,3376 @@
+diff --git a/Makefile b/Makefile
+index 412f2a0a3814..9689d3f644ea 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 11
++SUBLEVEL = 12
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
+index 0ddf3698b85d..8ac0e5994ed2 100644
+--- a/arch/mips/lantiq/irq.c
 b/arch/mips/lantiq/irq.c
+@@ -269,11 +269,6 @@ static void ltq_hw5_irqdispatch(void)
+ DEFINE_HWx_IRQDISPATCH(5)
+ #endif
+ 
+-static void ltq_hw_irq_handler(struct irq_desc *desc)
+-{
+-  ltq_hw_irqdispatch(irq_desc_get_irq(desc) - 2);
+-}
+-
+ #ifdef CONFIG_MIPS_MT_SMP
+ void __init arch_init_ipiirq(int irq, struct irqaction *action)
+ {
+@@ -318,19 +313,23 @@ static struct irqaction irq_call = {
+ asmlinkage void plat_irq_dispatch(void)
+ {
+   unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
+-  int irq;
+-
+-  if (!pending) {
+-  spurious_interrupt();
+-  return;
++  unsigned int i;
++
++  if ((MIPS_CPU_TIMER_IRQ == 7) && (pending & CAUSEF_IP7)) {
++  do_IRQ(MIPS_CPU_TIMER_IRQ);
++  goto out;
++  } else {
++  for (i = 0; i < MAX_IM; i++) {
++  if (pending & (CAUSEF_IP2 << i)) {
++  ltq_hw_irqdispatch(i);
++  goto out;
++  }
++  }
+   }
++  pr_alert("Spurious IRQ: CAUSE=0x%08x\n", read_c0_status());
+ 
+-  pending >>= CAUSEB_IP;
+-  while (pending) {
+-  irq = fls(pending) - 1;
+-  do_IRQ(MIPS_CPU_IRQ_BASE + irq);
+-  pending &= ~BIT(irq);
+-  }
++out:
++  return;
+ }
+ 
+ static int icu_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw)
+@@ -355,6 +354,11 @@ static const struct irq_domain_ops irq_domain_ops = {
+   .map = icu_map,
+ };
+ 
++static struct irqaction cascade = {
++  .handler = no_action,
++  .name = "cascade",
++};
++
+ int __init icu_of_init(struct device_node *node, struct device_node *parent)
+ {
+   struct device_node *eiu_node;
+@@ -386,7 +390,7 @@ int __init icu_of_init(struct device_node *node, struct 
device_node *parent)
+   mips_cpu_irq_init();
+ 
+   for (i = 0; i < MAX_IM; i++)
+-  irq_set_chained_handler(i + 2, ltq_hw_irq_handler);
++  setup_irq(i + 2, );
+ 
+   if (cpu_has_vint) {
+   pr_info("Setting up vectored interrupts\n");
+diff --git a/arch/parisc/include/asm/uaccess.h 
b/arch/parisc/include/asm/uaccess.h
+index 7fcf5128996a..0497ceceeb85 100644
+--- a/arch/parisc/include/asm/uaccess.h
 b/arch/parisc/include/asm/uaccess.h
+@@ -42,10 +42,10 @@ static inline long access_ok(int type, const void __user * 
addr,
+ #define get_user __get_user
+ 
+ #if !defined(CONFIG_64BIT)
+-#define LDD_USER(ptr) __get_user_asm64(ptr)
++#define LDD_USER(val, ptr)__get_user_asm64(val, ptr)
+ #define STD_USER(x, ptr)  __put_user_asm64(x, ptr)
+ #else
+-#define LDD_USER(ptr) __get_user_asm("ldd", ptr)
++#define LDD_USER(val, ptr)__get_user_asm(val, "ldd", ptr)
+ #define STD_USER(x, ptr)  __put_user_asm("std", x, ptr)
+ #endif
+ 
+@@ -100,63 +100,87 @@ struct exception_data {
+   " mtsp %0,%%sr2\n\t"\
+   : : "r"(get_fs()) : )
+ 
+-#define __get_user(x, ptr)   \
+-({   \
+-  register long __gu_err __asm__ ("r8") = 0;   \
+-  register long __gu_val;  \
+-   \
+-  load_sr2();  \
+-  switch (sizeof(*(ptr))) {\
+-  case 1: __get_user_asm("ldb", ptr); break;   \
+-  case 2: __get_user_asm("ldh", 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-04-18 Thread Mike Pagano
commit: 4e0e4f1029afd27b8bf7999371ce7d817c11d73a
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Apr 18 10:23:49 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Apr 18 10:23:49 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=4e0e4f10

Linux patch 4.10.11

 _README  |4 +
 1010_linux-4.10.11.patch | 1128 ++
 2 files changed, 1132 insertions(+)

diff --git a/_README b/_README
index abc6f43..f05d7f1 100644
--- a/_README
+++ b/_README
@@ -83,6 +83,10 @@ Patch:  1009_linux-4.10.10.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.10
 
+Patch:  1010_linux-4.10.11.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.11
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1010_linux-4.10.11.patch b/1010_linux-4.10.11.patch
new file mode 100644
index 000..ac7bb4e
--- /dev/null
+++ b/1010_linux-4.10.11.patch
@@ -0,0 +1,1128 @@
+diff --git a/Makefile b/Makefile
+index 52858726495b..412f2a0a3814 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 10
++SUBLEVEL = 11
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index 9a6e11b6f457..5a4f2eb9d0d5 100644
+--- a/arch/mips/Kconfig
 b/arch/mips/Kconfig
+@@ -9,6 +9,7 @@ config MIPS
+   select HAVE_CONTEXT_TRACKING
+   select HAVE_GENERIC_DMA_COHERENT
+   select HAVE_IDE
++  select HAVE_IRQ_EXIT_ON_IRQ_STACK
+   select HAVE_OPROFILE
+   select HAVE_PERF_EVENTS
+   select PERF_USE_VMALLOC
+diff --git a/arch/mips/include/asm/irq.h b/arch/mips/include/asm/irq.h
+index 6bf10e796553..956db6e201d1 100644
+--- a/arch/mips/include/asm/irq.h
 b/arch/mips/include/asm/irq.h
+@@ -17,6 +17,18 @@
+ 
+ #include 
+ 
++#define IRQ_STACK_SIZETHREAD_SIZE
++
++extern void *irq_stack[NR_CPUS];
++
++static inline bool on_irq_stack(int cpu, unsigned long sp)
++{
++  unsigned long low = (unsigned long)irq_stack[cpu];
++  unsigned long high = low + IRQ_STACK_SIZE;
++
++  return (low <= sp && sp <= high);
++}
++
+ #ifdef CONFIG_I8259
+ static inline int irq_canonicalize(int irq)
+ {
+diff --git a/arch/mips/include/asm/stackframe.h 
b/arch/mips/include/asm/stackframe.h
+index eebf39549606..2f182bdf024f 100644
+--- a/arch/mips/include/asm/stackframe.h
 b/arch/mips/include/asm/stackframe.h
+@@ -216,12 +216,19 @@
+   LONG_S  $25, PT_R25(sp)
+   LONG_S  $28, PT_R28(sp)
+   LONG_S  $31, PT_R31(sp)
++
++  /* Set thread_info if we're coming from user mode */
++  mfc0k0, CP0_STATUS
++  sll k0, 3   /* extract cu0 bit */
++  bltzk0, 9f
++
+   ori $28, sp, _THREAD_MASK
+   xori$28, _THREAD_MASK
+ #ifdef CONFIG_CPU_CAVIUM_OCTEON
+   .setmips64
+   pref0, 0($28)   /* Prefetch the current pointer */
+ #endif
++9:
+   .setpop
+   .endm
+ 
+diff --git a/arch/mips/kernel/asm-offsets.c b/arch/mips/kernel/asm-offsets.c
+index 6080582a26d1..a7277698d328 100644
+--- a/arch/mips/kernel/asm-offsets.c
 b/arch/mips/kernel/asm-offsets.c
+@@ -102,6 +102,7 @@ void output_thread_info_defines(void)
+   OFFSET(TI_REGS, thread_info, regs);
+   DEFINE(_THREAD_SIZE, THREAD_SIZE);
+   DEFINE(_THREAD_MASK, THREAD_MASK);
++  DEFINE(_IRQ_STACK_SIZE, IRQ_STACK_SIZE);
+   BLANK();
+ }
+ 
+diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S
+index 52a4fdfc8513..2ac6c2625c13 100644
+--- a/arch/mips/kernel/genex.S
 b/arch/mips/kernel/genex.S
+@@ -187,9 +187,44 @@ NESTED(handle_int, PT_SIZE, sp)
+ 
+   LONG_L  s0, TI_REGS($28)
+   LONG_S  sp, TI_REGS($28)
+-  PTR_LA  ra, ret_from_irq
+-  PTR_LA  v0, plat_irq_dispatch
+-  jr  v0
++
++  /*
++   * SAVE_ALL ensures we are using a valid kernel stack for the thread.
++   * Check if we are already using the IRQ stack.
++   */
++  moves1, sp # Preserve the sp
++
++  /* Get IRQ stack for this CPU */
++  ASM_CPUID_MFC0  k0, ASM_SMP_CPUID_REG
++#if defined(CONFIG_32BIT) || defined(KBUILD_64BIT_SYM32)
++  lui k1, %hi(irq_stack)
++#else
++  lui k1, %highest(irq_stack)
++  daddiu  k1, %higher(irq_stack)
++  dsllk1, 16
++  daddiu  k1, %hi(irq_stack)
++  dsllk1, 16
++#endif
++  LONG_SRLk0, SMP_CPUID_PTRSHIFT
++  LONG_ADDU   k1, k0
++  LONG_L  t0, %lo(irq_stack)(k1)
++
++  # Check if already on IRQ stack
++  PTR_LI  t1, ~(_THREAD_SIZE-1)
++  and t1, t1, sp
++  beq t0, t1, 2f
++
++  /* Switch to IRQ stack */
++  li  t1, _IRQ_STACK_SIZE
++  PTR_ADD sp, t0, t1
++
++2:
++  jal 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-04-12 Thread Mike Pagano
commit: dc93dbc1a0e8814da2e5ae4a6f6d9e7bc83aabcc
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed Apr 12 18:02:09 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed Apr 12 18:02:09 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=dc93dbc1

Linux patch 4.10.10

 _README  |4 +
 1009_linux-4.10.10.patch | 4168 ++
 2 files changed, 4172 insertions(+)

diff --git a/_README b/_README
index 5f8d5b0..abc6f43 100644
--- a/_README
+++ b/_README
@@ -79,6 +79,10 @@ Patch:  1008_linux-4.10.9.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.9
 
+Patch:  1009_linux-4.10.10.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.10
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1009_linux-4.10.10.patch b/1009_linux-4.10.10.patch
new file mode 100644
index 000..8380fc6
--- /dev/null
+++ b/1009_linux-4.10.10.patch
@@ -0,0 +1,4168 @@
+diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt 
b/Documentation/devicetree/bindings/usb/usb-xhci.txt
+index 0b7d8576001c..2d80b60eeabe 100644
+--- a/Documentation/devicetree/bindings/usb/usb-xhci.txt
 b/Documentation/devicetree/bindings/usb/usb-xhci.txt
+@@ -27,6 +27,7 @@ Required properties:
+ Optional properties:
+   - clocks: reference to a clock
+   - usb3-lpm-capable: determines if platform is USB3 LPM capable
++  - quirk-broken-port-ped: set if the controller has broken port disable 
mechanism
+ 
+ Example:
+   usb@f0931000 {
+diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt 
b/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
+index 8f3d96af81d7..1f6e101e299a 100644
+--- a/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
 b/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
+@@ -6,10 +6,11 @@ occurred.
+ 
+ Required properties:
+ - compatible : should be one among the following
+-  (a) "samsung,s3c2410-wdt" for Exynos4 and previous SoCs
+-  (b) "samsung,exynos5250-wdt" for Exynos5250
+-  (c) "samsung,exynos5420-wdt" for Exynos5420
+-  (c) "samsung,exynos7-wdt" for Exynos7
++  - "samsung,s3c2410-wdt" for S3C2410
++  - "samsung,s3c6410-wdt" for S3C6410, S5PV210 and Exynos4
++  - "samsung,exynos5250-wdt" for Exynos5250
++  - "samsung,exynos5420-wdt" for Exynos5420
++  - "samsung,exynos7-wdt" for Exynos7
+ 
+ - reg : base physical address of the controller and length of memory mapped
+   region.
+diff --git a/Documentation/process/stable-kernel-rules.rst 
b/Documentation/process/stable-kernel-rules.rst
+index 11ec2d93a5e0..61e9c78bd6d1 100644
+--- a/Documentation/process/stable-kernel-rules.rst
 b/Documentation/process/stable-kernel-rules.rst
+@@ -124,7 +124,7 @@ specified in the following format in the sign-off area:
+ 
+ .. code-block:: none
+ 
+- Cc:  # 3.3.x-
++ Cc:  # 3.3.x
+ 
+ The tag has the meaning of:
+ 
+diff --git a/Makefile b/Makefile
+index 4ebd511dee58..52858726495b 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 9
++SUBLEVEL = 10
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+@@ -370,7 +370,7 @@ LDFLAGS_MODULE  =
+ CFLAGS_KERNEL =
+ AFLAGS_KERNEL =
+ LDFLAGS_vmlinux =
+-CFLAGS_GCOV   = -fprofile-arcs -ftest-coverage -fno-tree-loop-im 
-Wno-maybe-uninitialized
++CFLAGS_GCOV   := -fprofile-arcs -ftest-coverage -fno-tree-loop-im $(call 
cc-disable-warning,maybe-uninitialized,)
+ CFLAGS_KCOV   := $(call cc-option,-fsanitize-coverage=trace-pc,)
+ 
+ 
+@@ -651,6 +651,12 @@ KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \
+ # Tell gcc to never replace conditional load with a non-conditional one
+ KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
+ 
++# check for 'asm goto'
++ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) 
$(KBUILD_CFLAGS)), y)
++  KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
++  KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
++endif
++
+ include scripts/Makefile.gcc-plugins
+ 
+ ifdef CONFIG_READABLE_ASM
+@@ -796,12 +802,6 @@ KBUILD_CFLAGS   += $(call 
cc-option,-Werror=incompatible-pointer-types)
+ # use the deterministic mode of AR if available
+ KBUILD_ARFLAGS := $(call ar-option,D)
+ 
+-# check for 'asm goto'
+-ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) 
$(KBUILD_CFLAGS)), y)
+-  KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
+-  KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
+-endif
+-
+ include scripts/Makefile.kasan
+ include scripts/Makefile.extrawarn
+ include scripts/Makefile.ubsan
+diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c
+index 7e45f69a0ddc..8e8d20cdbce7 100644
+--- a/arch/arm/kernel/armksyms.c
 b/arch/arm/kernel/armksyms.c
+@@ -178,6 +178,6 @@ EXPORT_SYMBOL(__pv_offset);
+ #endif
+ 
+ #ifdef 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-03-31 Thread Mike Pagano
commit: 0ebaa38341c1d4266ba9b27e39a35bf296bd1c96
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Mar 31 10:45:43 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Mar 31 10:45:43 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=0ebaa383

Linux patch 4.10.8

 _README |   4 +
 1007_linux-4.10.8.patch | 493 
 2 files changed, 497 insertions(+)

diff --git a/_README b/_README
index 02aad35..4c7de50 100644
--- a/_README
+++ b/_README
@@ -71,6 +71,10 @@ Patch:  1006_linux-4.10.7.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.7
 
+Patch:  1007_linux-4.10.8.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.8
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1007_linux-4.10.8.patch b/1007_linux-4.10.8.patch
new file mode 100644
index 000..4928a4c
--- /dev/null
+++ b/1007_linux-4.10.8.patch
@@ -0,0 +1,493 @@
+diff --git a/Makefile b/Makefile
+index 976e8d1a468a..82e0809fed9b 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 7
++SUBLEVEL = 8
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/arch/c6x/kernel/ptrace.c b/arch/c6x/kernel/ptrace.c
+index 3c494e8d..a511ac16a8e3 100644
+--- a/arch/c6x/kernel/ptrace.c
 b/arch/c6x/kernel/ptrace.c
+@@ -69,46 +69,6 @@ static int gpr_get(struct task_struct *target,
+  0, sizeof(*regs));
+ }
+ 
+-static int gpr_set(struct task_struct *target,
+- const struct user_regset *regset,
+- unsigned int pos, unsigned int count,
+- const void *kbuf, const void __user *ubuf)
+-{
+-  int ret;
+-  struct pt_regs *regs = task_pt_regs(target);
+-
+-  /* Don't copyin TSR or CSR */
+-  ret = user_regset_copyin(, , , ,
+-   ,
+-   0, PT_TSR * sizeof(long));
+-  if (ret)
+-  return ret;
+-
+-  ret = user_regset_copyin_ignore(, , , ,
+-  PT_TSR * sizeof(long),
+-  (PT_TSR + 1) * sizeof(long));
+-  if (ret)
+-  return ret;
+-
+-  ret = user_regset_copyin(, , , ,
+-   ,
+-   (PT_TSR + 1) * sizeof(long),
+-   PT_CSR * sizeof(long));
+-  if (ret)
+-  return ret;
+-
+-  ret = user_regset_copyin_ignore(, , , ,
+-  PT_CSR * sizeof(long),
+-  (PT_CSR + 1) * sizeof(long));
+-  if (ret)
+-  return ret;
+-
+-  ret = user_regset_copyin(, , , ,
+-   ,
+-   (PT_CSR + 1) * sizeof(long), -1);
+-  return ret;
+-}
+-
+ enum c6x_regset {
+   REGSET_GPR,
+ };
+@@ -120,7 +80,6 @@ static const struct user_regset c6x_regsets[] = {
+   .size = sizeof(u32),
+   .align = sizeof(u32),
+   .get = gpr_get,
+-  .set = gpr_set
+   },
+ };
+ 
+diff --git a/arch/h8300/kernel/ptrace.c b/arch/h8300/kernel/ptrace.c
+index 92075544a19a..0dc1c8f622bc 100644
+--- a/arch/h8300/kernel/ptrace.c
 b/arch/h8300/kernel/ptrace.c
+@@ -95,7 +95,8 @@ static int regs_get(struct task_struct *target,
+   long *reg = (long *)
+ 
+   /* build user regs in buffer */
+-  for (r = 0; r < ARRAY_SIZE(register_offset); r++)
++  BUILD_BUG_ON(sizeof(regs) % sizeof(long) != 0);
++  for (r = 0; r < sizeof(regs) / sizeof(long); r++)
+   *reg++ = h8300_get_reg(target, r);
+ 
+   return user_regset_copyout(, , , ,
+@@ -113,7 +114,8 @@ static int regs_set(struct task_struct *target,
+   long *reg;
+ 
+   /* build user regs in buffer */
+-  for (reg = (long *), r = 0; r < ARRAY_SIZE(register_offset); r++)
++  BUILD_BUG_ON(sizeof(regs) % sizeof(long) != 0);
++  for (reg = (long *), r = 0; r < sizeof(regs) / sizeof(long); r++)
+   *reg++ = h8300_get_reg(target, r);
+ 
+   ret = user_regset_copyin(, , , ,
+@@ -122,7 +124,7 @@ static int regs_set(struct task_struct *target,
+   return ret;
+ 
+   /* write back to pt_regs */
+-  for (reg = (long *), r = 0; r < ARRAY_SIZE(register_offset); r++)
++  for (reg = (long *), r = 0; r < sizeof(regs) / sizeof(long); r++)
+   h8300_put_reg(target, r, *reg++);
+   return 0;
+ }
+diff --git a/arch/metag/kernel/ptrace.c b/arch/metag/kernel/ptrace.c
+index 7563628822bd..5e2dc7defd2c 100644
+--- a/arch/metag/kernel/ptrace.c
 b/arch/metag/kernel/ptrace.c
+@@ -24,6 +24,16 @@
+  * user_regset definitions.
+  */
+ 
++static unsigned long user_txstatus(const struct pt_regs *regs)
++{
++  unsigned long data = (unsigned 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-03-26 Thread Mike Pagano
commit: 504b3f376381804b07a3110ce29a6bb6ac11060d
Author: Mike Pagano  gentoo  org>
AuthorDate: Sun Mar 26 19:33:18 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sun Mar 26 19:33:18 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=504b3f37

Linux patch 4.10.6

 _README |   4 +
 1005_linux-4.10.6.patch | 943 
 2 files changed, 947 insertions(+)

diff --git a/_README b/_README
index 464eea3..014e9c4 100644
--- a/_README
+++ b/_README
@@ -63,6 +63,10 @@ Patch:  1004_linux-4.10.5.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.5
 
+Patch:  1005_linux-4.10.6.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.6
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1005_linux-4.10.6.patch b/1005_linux-4.10.6.patch
new file mode 100644
index 000..3c1b6da
--- /dev/null
+++ b/1005_linux-4.10.6.patch
@@ -0,0 +1,943 @@
+diff --git a/Makefile b/Makefile
+index 48e18096913f..23b6d29cb6da 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 5
++SUBLEVEL = 6
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/arch/parisc/include/asm/cacheflush.h 
b/arch/parisc/include/asm/cacheflush.h
+index 7bd69bd43a01..1d8c24dc04d4 100644
+--- a/arch/parisc/include/asm/cacheflush.h
 b/arch/parisc/include/asm/cacheflush.h
+@@ -45,28 +45,9 @@ static inline void flush_kernel_dcache_page(struct page 
*page)
+ 
+ #define flush_kernel_dcache_range(start,size) \
+   flush_kernel_dcache_range_asm((start), (start)+(size));
+-/* vmap range flushes and invalidates.  Architecturally, we don't need
+- * the invalidate, because the CPU should refuse to speculate once an
+- * area has been flushed, so invalidate is left empty */
+-static inline void flush_kernel_vmap_range(void *vaddr, int size)
+-{
+-  unsigned long start = (unsigned long)vaddr;
+-
+-  flush_kernel_dcache_range_asm(start, start + size);
+-}
+-static inline void invalidate_kernel_vmap_range(void *vaddr, int size)
+-{
+-  unsigned long start = (unsigned long)vaddr;
+-  void *cursor = vaddr;
+ 
+-  for ( ; cursor < vaddr + size; cursor += PAGE_SIZE) {
+-  struct page *page = vmalloc_to_page(cursor);
+-
+-  if (test_and_clear_bit(PG_dcache_dirty, >flags))
+-  flush_kernel_dcache_page(page);
+-  }
+-  flush_kernel_dcache_range_asm(start, start + size);
+-}
++void flush_kernel_vmap_range(void *vaddr, int size);
++void invalidate_kernel_vmap_range(void *vaddr, int size);
+ 
+ #define flush_cache_vmap(start, end)  flush_cache_all()
+ #define flush_cache_vunmap(start, end)flush_cache_all()
+diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c
+index 977f0a4f5ecf..53ec75f8e237 100644
+--- a/arch/parisc/kernel/cache.c
 b/arch/parisc/kernel/cache.c
+@@ -633,3 +633,25 @@ flush_cache_page(struct vm_area_struct *vma, unsigned 
long vmaddr, unsigned long
+   __flush_cache_page(vma, vmaddr, PFN_PHYS(pfn));
+   }
+ }
++
++void flush_kernel_vmap_range(void *vaddr, int size)
++{
++  unsigned long start = (unsigned long)vaddr;
++
++  if ((unsigned long)size > parisc_cache_flush_threshold)
++  flush_data_cache();
++  else
++  flush_kernel_dcache_range_asm(start, start + size);
++}
++EXPORT_SYMBOL(flush_kernel_vmap_range);
++
++void invalidate_kernel_vmap_range(void *vaddr, int size)
++{
++  unsigned long start = (unsigned long)vaddr;
++
++  if ((unsigned long)size > parisc_cache_flush_threshold)
++  flush_data_cache();
++  else
++  flush_kernel_dcache_range_asm(start, start + size);
++}
++EXPORT_SYMBOL(invalidate_kernel_vmap_range);
+diff --git a/arch/parisc/kernel/module.c b/arch/parisc/kernel/module.c
+index a0ecdb4abcc8..c66c943d9322 100644
+--- a/arch/parisc/kernel/module.c
 b/arch/parisc/kernel/module.c
+@@ -620,6 +620,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
+*/
+   *loc = fsel(val, addend); 
+   break;
++  case R_PARISC_SECREL32:
++  /* 32-bit section relative address. */
++  *loc = fsel(val, addend);
++  break;
+   case R_PARISC_DPREL21L:
+   /* left 21 bit of relative address */
+   val = lrsel(val - dp, addend);
+@@ -807,6 +811,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
+*/
+   *loc = fsel(val, addend); 
+   break;
++  case R_PARISC_SECREL32:
++  /* 32-bit section relative address. */
++  *loc = fsel(val, addend);
++  break;
+   

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-03-23 Thread Mike Pagano
commit: 4d7ca9b58735b713fe8dbf0380a319c4f2f45be8
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Mar 23 17:28:39 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Mar 23 17:28:39 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=4d7ca9b5

Upgrade gcc cpu optimization patch. See bug #613570

 ...able-additional-cpu-optimizations-for-gcc.patch | 225 +++--
 1 file changed, 166 insertions(+), 59 deletions(-)

diff --git a/5010_enable-additional-cpu-optimizations-for-gcc.patch 
b/5010_enable-additional-cpu-optimizations-for-gcc.patch
index d9729b2..76cbd9d 100644
--- a/5010_enable-additional-cpu-optimizations-for-gcc.patch
+++ b/5010_enable-additional-cpu-optimizations-for-gcc.patch
@@ -1,33 +1,51 @@
-WARNING - this version of the patch works with version 4.9+ of gcc and with
-kernel version 3.15.x+ and should NOT be applied when compiling on older
-versions due to name changes of the flags with the 4.9 release of gcc.
+WARNING
+This patch works with gcc versions 4.9+ and with kernel version 3.15+ and 
should
+NOT be applied when compiling on older versions of gcc due to key name changes
+of the march flags introduced with the version 4.9 release of gcc.[1]
+
 Use the older version of this patch hosted on the same github for older
-versions of gcc. For example:
+versions of gcc.
 
-corei7 --> nehalem
-corei7-avx --> sandybridge
-core-avx-i --> ivybridge
-core-avx2 --> haswell
+FEATURES
+This patch adds additional CPU options to the Linux kernel accessible under:
+ Processor type and features  --->
+  Processor family --->
 
-For more, see: https://gcc.gnu.org/gcc-4.9/changes.html
+The expanded microarchitectures include:
+* AMD Improved K8-family
+* AMD K10-family
+* AMD Family 10h (Barcelona)
+* AMD Family 14h (Bobcat)
+* AMD Family 16h (Jaguar)
+* AMD Family 15h (Bulldozer)
+* AMD Family 15h (Piledriver)
+* AMD Family 15h (Steamroller)
+* AMD Family 15h (Excavator)
+* AMD Family 17h (Zen)
+* Intel Silvermont low-power processors
+* Intel 1st Gen Core i3/i5/i7 (Nehalem)
+* Intel 1.5 Gen Core i3/i5/i7 (Westmere)
+* Intel 2nd Gen Core i3/i5/i7 (Sandybridge)
+* Intel 3rd Gen Core i3/i5/i7 (Ivybridge)
+* Intel 4th Gen Core i3/i5/i7 (Haswell)
+* Intel 5th Gen Core i3/i5/i7 (Broadwell)
+* Intel 6th Gen Core i3/i5.i7 (Skylake)
 
-It also changes 'atom' to 'bonnell' in accordance with the gcc v4.9 changes.
-Note that upstream is using the deprecated 'match=atom' flags when I believe it
-should use the newer 'march=bonnell' flag for atom processors.
+It also offers to compile passing the 'native' option which, "selects the CPU
+to generate code for at compilation time by determining the processor type of
+the compiling machine. Using -march=native enables all instruction subsets
+supported by the local machine and will produce code optimized for the local
+machine under the constraints of the selected instruction set."[3]
 
-I have made that change to this patch set as well.  See the following kernel
-bug report to see if I'm right: 
https://bugzilla.kernel.org/show_bug.cgi?id=77461
+MINOR NOTES
+This patch also changes 'atom' to 'bonnell' in accordance with the gcc v4.9
+changes. Note that upstream is using the deprecated 'match=atom' flags when I
+believe it should use the newer 'march=bonnell' flag for atom processors.[2]
 
-This patch will expand the number of microarchitectures to include newer
-processors including: AMD K10-family, AMD Family 10h (Barcelona), AMD Family
-14h (Bobcat), AMD Family 15h (Bulldozer), AMD Family 15h (Piledriver), AMD
-Family 15h (Steamroller), Family 16h (Jaguar), Intel 1st Gen Core i3/i5/i7
-(Nehalem), Intel 1.5 Gen Core i3/i5/i7 (Westmere), Intel 2nd Gen Core i3/i5/i7
-(Sandybridge), Intel 3rd Gen Core i3/i5/i7 (Ivybridge), Intel 4th Gen Core
-i3/i5/i7 (Haswell), Intel 5th Gen Core i3/i5/i7 (Broadwell), and the low power
-Silvermont series of Atom processors (Silvermont). It also offers the compiler
-the 'native' flag.
+It is not recommended to compile on Atom-CPUs with the 'native' option.[4] The
+recommendation is use to the 'atom' option instead.
 
+BENEFITS
 Small but real speed increases are measurable using a make endpoint comparing
 a generic kernel to one built with one of the respective microarchs.
 
@@ -38,8 +56,18 @@ REQUIREMENTS
 linux version >=3.15
 gcc version >=4.9
 
 a/arch/x86/include/asm/module.h2015-08-30 14:34:09.0 -0400
-+++ b/arch/x86/include/asm/module.h2015-11-06 14:18:24.234941036 -0500
+ACKNOWLEDGMENTS
+This patch builds on the seminal work by Jeroen.[5]
+
+REFERENCES
+1. https://gcc.gnu.org/gcc-4.9/changes.html
+2. https://bugzilla.kernel.org/show_bug.cgi?id=77461
+3. https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
+4. https://github.com/graysky2/kernel_gcc_patch/issues/15
+5. http://www.linuxforge.net/docs/linux/linux-gcc.php
+
+--- a/arch/x86/include/asm/module.h2016-12-11 14:17:54.0 -0500
 b/arch/x86/include/asm/module.h2017-01-06 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-03-22 Thread Mike Pagano
commit: 81829230c28d23865ae8b0139826128a718c7017
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed Mar 22 16:55:18 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed Mar 22 16:55:18 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=81829230

Linux patch 4.10.5

 _README |4 +
 1004_linux-4.10.5.patch | 2238 +++
 2 files changed, 2242 insertions(+)

diff --git a/_README b/_README
index a80feb8..464eea3 100644
--- a/_README
+++ b/_README
@@ -59,6 +59,10 @@ Patch:  1003_linux-4.10.4.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.4
 
+Patch:  1004_linux-4.10.5.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.5
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1004_linux-4.10.5.patch b/1004_linux-4.10.5.patch
new file mode 100644
index 000..0772bdc
--- /dev/null
+++ b/1004_linux-4.10.5.patch
@@ -0,0 +1,2238 @@
+diff --git a/Documentation/arm64/silicon-errata.txt 
b/Documentation/arm64/silicon-errata.txt
+index 405da11fc3e4..d11af52427b4 100644
+--- a/Documentation/arm64/silicon-errata.txt
 b/Documentation/arm64/silicon-errata.txt
+@@ -42,24 +42,26 @@ file acts as a registry of software workarounds in the 
Linux Kernel and
+ will be updated when new workarounds are committed and backported to
+ stable kernels.
+ 
+-| Implementor| Component   | Erratum ID  | Kconfig
 |
+-++-+-+-+
+-| ARM| Cortex-A53  | #826319 | ARM64_ERRATUM_826319   
 |
+-| ARM| Cortex-A53  | #827319 | ARM64_ERRATUM_827319   
 |
+-| ARM| Cortex-A53  | #824069 | ARM64_ERRATUM_824069   
 |
+-| ARM| Cortex-A53  | #819472 | ARM64_ERRATUM_819472   
 |
+-| ARM| Cortex-A53  | #845719 | ARM64_ERRATUM_845719   
 |
+-| ARM| Cortex-A53  | #843419 | ARM64_ERRATUM_843419   
 |
+-| ARM| Cortex-A57  | #832075 | ARM64_ERRATUM_832075   
 |
+-| ARM| Cortex-A57  | #852523 | N/A
 |
+-| ARM| Cortex-A57  | #834220 | ARM64_ERRATUM_834220   
 |
+-| ARM| Cortex-A72  | #853709 | N/A
 |
+-| ARM| MMU-500 | #841119,#826419 | N/A
 |
+-|| | |
 |
+-| Cavium | ThunderX ITS| #22375, #24313  | CAVIUM_ERRATUM_22375   
 |
+-| Cavium | ThunderX ITS| #23144  | CAVIUM_ERRATUM_23144   
 |
+-| Cavium | ThunderX GICv3  | #23154  | CAVIUM_ERRATUM_23154   
 |
+-| Cavium | ThunderX Core   | #27456  | CAVIUM_ERRATUM_27456   
 |
+-| Cavium | ThunderX SMMUv2 | #27704  | N/A   |
+-|| | |
 |
+-| Freescale/NXP  | LS2080A/LS1043A | A-008585| FSL_ERRATUM_A008585
 |
++| Implementor| Component   | Erratum ID  | Kconfig
 |
++++-+-+-+
++| ARM| Cortex-A53  | #826319 | ARM64_ERRATUM_826319   
 |
++| ARM| Cortex-A53  | #827319 | ARM64_ERRATUM_827319   
 |
++| ARM| Cortex-A53  | #824069 | ARM64_ERRATUM_824069   
 |
++| ARM| Cortex-A53  | #819472 | ARM64_ERRATUM_819472   
 |
++| ARM| Cortex-A53  | #845719 | ARM64_ERRATUM_845719   
 |
++| ARM| Cortex-A53  | #843419 | ARM64_ERRATUM_843419   
 |
++| ARM| Cortex-A57  | #832075 | ARM64_ERRATUM_832075   
 |
++| ARM| Cortex-A57  | #852523 | N/A
 |
++| ARM| Cortex-A57  | #834220 | ARM64_ERRATUM_834220   
 |
++| ARM| Cortex-A72  | #853709 | N/A
 |
++| ARM| MMU-500 | #841119,#826419 | N/A
 |
++|| | |
 |
++| Cavium | ThunderX ITS| #22375, #24313  | CAVIUM_ERRATUM_22375   
 |
++| Cavium | ThunderX ITS| #23144  | CAVIUM_ERRATUM_23144   
 |
++| Cavium | ThunderX GICv3  | #23154  | CAVIUM_ERRATUM_23154   
 |
++| Cavium | ThunderX Core   | #27456  | CAVIUM_ERRATUM_27456   
 |
++| Cavium | ThunderX SMMUv2 | #27704  | N/A
 |
++|| | | 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-03-18 Thread Mike Pagano
commit: 2e76d12605325175166610a828dae3a9daa06f89
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Mar 18 14:35:30 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Mar 18 14:35:30 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=2e76d126

Linux patch 4.10.4

 _README |4 +
 1003_linux-4.10.4.patch | 1805 +++
 2 files changed, 1809 insertions(+)

diff --git a/_README b/_README
index 471175a..a80feb8 100644
--- a/_README
+++ b/_README
@@ -55,6 +55,10 @@ Patch:  1002_linux-4.10.3.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.3
 
+Patch:  1003_linux-4.10.4.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.4
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1003_linux-4.10.4.patch b/1003_linux-4.10.4.patch
new file mode 100644
index 000..ed8a7ee
--- /dev/null
+++ b/1003_linux-4.10.4.patch
@@ -0,0 +1,1805 @@
+diff --git a/Makefile b/Makefile
+index 190a684303c1..8df819e31882 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 3
++SUBLEVEL = 4
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
+index 8c3a0108a231..c73299b51f7b 100644
+--- a/arch/arm/configs/qcom_defconfig
 b/arch/arm/configs/qcom_defconfig
+@@ -157,6 +157,8 @@ CONFIG_DMADEVICES=y
+ CONFIG_QCOM_BAM_DMA=y
+ CONFIG_STAGING=y
+ CONFIG_COMMON_CLK_QCOM=y
++CONFIG_QCOM_CLK_RPM=y
++CONFIG_QCOM_CLK_SMD_RPM=y
+ CONFIG_APQ_MMCC_8084=y
+ CONFIG_IPQ_LCC_806X=y
+ CONFIG_MSM_GCC_8660=y
+diff --git a/arch/mips/configs/ip22_defconfig 
b/arch/mips/configs/ip22_defconfig
+index 5d83ff755547..ec8e9684296d 100644
+--- a/arch/mips/configs/ip22_defconfig
 b/arch/mips/configs/ip22_defconfig
+@@ -67,8 +67,8 @@ CONFIG_NETFILTER_NETLINK_QUEUE=m
+ CONFIG_NF_CONNTRACK=m
+ CONFIG_NF_CONNTRACK_SECMARK=y
+ CONFIG_NF_CONNTRACK_EVENTS=y
+-CONFIG_NF_CT_PROTO_DCCP=m
+-CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CT_PROTO_DCCP=y
++CONFIG_NF_CT_PROTO_UDPLITE=y
+ CONFIG_NF_CONNTRACK_AMANDA=m
+ CONFIG_NF_CONNTRACK_FTP=m
+ CONFIG_NF_CONNTRACK_H323=m
+diff --git a/arch/mips/configs/ip27_defconfig 
b/arch/mips/configs/ip27_defconfig
+index 2b74aee320a1..e582069b44fd 100644
+--- a/arch/mips/configs/ip27_defconfig
 b/arch/mips/configs/ip27_defconfig
+@@ -133,7 +133,7 @@ CONFIG_LIBFC=m
+ CONFIG_SCSI_QLOGIC_1280=y
+ CONFIG_SCSI_PMCRAID=m
+ CONFIG_SCSI_BFA_FC=m
+-CONFIG_SCSI_DH=m
++CONFIG_SCSI_DH=y
+ CONFIG_SCSI_DH_RDAC=m
+ CONFIG_SCSI_DH_HP_SW=m
+ CONFIG_SCSI_DH_EMC=m
+@@ -205,7 +205,6 @@ CONFIG_MLX4_EN=m
+ # CONFIG_MLX4_DEBUG is not set
+ CONFIG_TEHUTI=m
+ CONFIG_BNX2X=m
+-CONFIG_QLGE=m
+ CONFIG_SFC=m
+ CONFIG_BE2NET=m
+ CONFIG_LIBERTAS_THINFIRM=m
+diff --git a/arch/mips/configs/lemote2f_defconfig 
b/arch/mips/configs/lemote2f_defconfig
+index 5da76e0e120f..0cdb431bff80 100644
+--- a/arch/mips/configs/lemote2f_defconfig
 b/arch/mips/configs/lemote2f_defconfig
+@@ -39,7 +39,7 @@ CONFIG_HIBERNATION=y
+ CONFIG_PM_STD_PARTITION="/dev/hda3"
+ CONFIG_CPU_FREQ=y
+ CONFIG_CPU_FREQ_DEBUG=y
+-CONFIG_CPU_FREQ_STAT=m
++CONFIG_CPU_FREQ_STAT=y
+ CONFIG_CPU_FREQ_STAT_DETAILS=y
+ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+ CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+diff --git a/arch/mips/configs/malta_defconfig 
b/arch/mips/configs/malta_defconfig
+index 58d43f3c348d..078ecac071ab 100644
+--- a/arch/mips/configs/malta_defconfig
 b/arch/mips/configs/malta_defconfig
+@@ -59,8 +59,8 @@ CONFIG_NETFILTER=y
+ CONFIG_NF_CONNTRACK=m
+ CONFIG_NF_CONNTRACK_SECMARK=y
+ CONFIG_NF_CONNTRACK_EVENTS=y
+-CONFIG_NF_CT_PROTO_DCCP=m
+-CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CT_PROTO_DCCP=y
++CONFIG_NF_CT_PROTO_UDPLITE=y
+ CONFIG_NF_CONNTRACK_AMANDA=m
+ CONFIG_NF_CONNTRACK_FTP=m
+ CONFIG_NF_CONNTRACK_H323=m
+diff --git a/arch/mips/configs/malta_kvm_defconfig 
b/arch/mips/configs/malta_kvm_defconfig
+index c8f7e2835840..e233f878afef 100644
+--- a/arch/mips/configs/malta_kvm_defconfig
 b/arch/mips/configs/malta_kvm_defconfig
+@@ -60,8 +60,8 @@ CONFIG_NETFILTER=y
+ CONFIG_NF_CONNTRACK=m
+ CONFIG_NF_CONNTRACK_SECMARK=y
+ CONFIG_NF_CONNTRACK_EVENTS=y
+-CONFIG_NF_CT_PROTO_DCCP=m
+-CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CT_PROTO_DCCP=y
++CONFIG_NF_CT_PROTO_UDPLITE=y
+ CONFIG_NF_CONNTRACK_AMANDA=m
+ CONFIG_NF_CONNTRACK_FTP=m
+ CONFIG_NF_CONNTRACK_H323=m
+diff --git a/arch/mips/configs/malta_kvm_guest_defconfig 
b/arch/mips/configs/malta_kvm_guest_defconfig
+index d2f54e55356c..fbe085c328ab 100644
+--- a/arch/mips/configs/malta_kvm_guest_defconfig
 b/arch/mips/configs/malta_kvm_guest_defconfig
+@@ -59,8 +59,8 @@ CONFIG_NETFILTER=y
+ CONFIG_NF_CONNTRACK=m
+ CONFIG_NF_CONNTRACK_SECMARK=y
+ CONFIG_NF_CONNTRACK_EVENTS=y
+-CONFIG_NF_CT_PROTO_DCCP=m
+-CONFIG_NF_CT_PROTO_UDPLITE=m
++CONFIG_NF_CT_PROTO_DCCP=y
++CONFIG_NF_CT_PROTO_UDPLITE=y
+ 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-03-15 Thread Mike Pagano
commit: 547a1444731be81625b3f2ec0cdc1aa68d9b110a
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed Mar 15 17:17:27 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed Mar 15 17:17:27 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=547a1444

Linux patch 4.10.3

 _README |4 +
 1002_linux-4.10.3.patch | 3907 +++
 2 files changed, 3911 insertions(+)

diff --git a/_README b/_README
index 8ad9f95..471175a 100644
--- a/_README
+++ b/_README
@@ -51,6 +51,10 @@ Patch:  1001_linux-4.10.2.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.10.2
 
+Patch:  1002_linux-4.10.3.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.3
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1002_linux-4.10.3.patch b/1002_linux-4.10.3.patch
new file mode 100644
index 000..3352128
--- /dev/null
+++ b/1002_linux-4.10.3.patch
@@ -0,0 +1,3907 @@
+diff --git a/Makefile b/Makefile
+index 6e09b3a44e9a..190a684303c1 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 2
++SUBLEVEL = 3
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/arch/s390/include/asm/processor.h 
b/arch/s390/include/asm/processor.h
+index 6bca916a5ba0..71cac7c43c4b 100644
+--- a/arch/s390/include/asm/processor.h
 b/arch/s390/include/asm/processor.h
+@@ -89,7 +89,8 @@ extern void execve_tail(void);
+  * User space process size: 2GB for 31 bit, 4TB or 8PT for 64 bit.
+  */
+ 
+-#define TASK_SIZE_OF(tsk) ((tsk)->mm->context.asce_limit)
++#define TASK_SIZE_OF(tsk) ((tsk)->mm ? \
++   (tsk)->mm->context.asce_limit : TASK_MAX_SIZE)
+ #define TASK_UNMAPPED_BASE(test_thread_flag(TIF_31BIT) ? \
+   (1UL << 30) : (1UL << 41))
+ #define TASK_SIZE TASK_SIZE_OF(current)
+diff --git a/arch/s390/kernel/crash_dump.c b/arch/s390/kernel/crash_dump.c
+index f9293bfefb7f..408b4f4fda0f 100644
+--- a/arch/s390/kernel/crash_dump.c
 b/arch/s390/kernel/crash_dump.c
+@@ -329,7 +329,11 @@ static void *nt_init_name(void *buf, Elf64_Word type, 
void *desc, int d_len,
+ 
+ static inline void *nt_init(void *buf, Elf64_Word type, void *desc, int d_len)
+ {
+-  return nt_init_name(buf, type, desc, d_len, KEXEC_CORE_NOTE_NAME);
++  const char *note_name = "LINUX";
++
++  if (type == NT_PRPSINFO || type == NT_PRSTATUS || type == NT_PRFPREG)
++  note_name = KEXEC_CORE_NOTE_NAME;
++  return nt_init_name(buf, type, desc, d_len, note_name);
+ }
+ 
+ /*
+diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
+index 865a48871ca4..5401e79d6c32 100644
+--- a/arch/s390/kernel/setup.c
 b/arch/s390/kernel/setup.c
+@@ -820,10 +820,10 @@ static void __init setup_randomness(void)
+ {
+   struct sysinfo_3_2_2 *vmms;
+ 
+-  vmms = (struct sysinfo_3_2_2 *) alloc_page(GFP_KERNEL);
+-  if (vmms && stsi(vmms, 3, 2, 2) == 0 && vmms->count)
+-  add_device_randomness(, vmms->count);
+-  free_page((unsigned long) vmms);
++  vmms = (struct sysinfo_3_2_2 *) memblock_alloc(PAGE_SIZE, PAGE_SIZE);
++  if (stsi(vmms, 3, 2, 2) == 0 && vmms->count)
++  add_device_randomness(>vm, sizeof(vmms->vm[0]) * 
vmms->count);
++  memblock_free((unsigned long) vmms, PAGE_SIZE);
+ }
+ 
+ /*
+diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c
+index 93dcbae1e98d..ab167620955c 100644
+--- a/arch/s390/kernel/topology.c
 b/arch/s390/kernel/topology.c
+@@ -466,7 +466,7 @@ void __init topology_init_early(void)
+   set_sched_topology(s390_topology);
+   if (!MACHINE_HAS_TOPOLOGY)
+   goto out;
+-  tl_info = memblock_virt_alloc(sizeof(*tl_info), PAGE_SIZE);
++  tl_info = memblock_virt_alloc(PAGE_SIZE, PAGE_SIZE);
+   info = tl_info;
+   store_topology(info);
+   pr_info("The CPU configuration topology of the machine is:");
+diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
+index 6484a250021e..ac9eb595f0aa 100644
+--- a/arch/s390/kvm/kvm-s390.c
 b/arch/s390/kvm/kvm-s390.c
+@@ -442,6 +442,9 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
+   struct kvm_memory_slot *memslot;
+   int is_dirty = 0;
+ 
++  if (kvm_is_ucontrol(kvm))
++  return -EINVAL;
++
+   mutex_lock(>slots_lock);
+ 
+   r = -EINVAL;
+diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h
+index 6fa85944af83..fc5abff9b7fd 100644
+--- a/arch/x86/include/asm/tlbflush.h
 b/arch/x86/include/asm/tlbflush.h
+@@ -188,7 +188,7 @@ static inline void __native_flush_tlb_single(unsigned long 
addr)
+ 
+ static inline void __flush_tlb_all(void)
+ {
+-  if (static_cpu_has(X86_FEATURE_PGE))
++  if (boot_cpu_has(X86_FEATURE_PGE))
+   

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-03-02 Thread Mike Pagano
commit: c3aa61ceb24b851301063a08357da8eaab032fd0
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Mar  2 16:16:08 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Mar  2 16:20:29 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=c3aa61ce

Enable crypto API for systemd as its required for systemd versions >= 233. See 
bug #611368.

 4567_distro-Gentoo-Kconfig.patch | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/4567_distro-Gentoo-Kconfig.patch b/4567_distro-Gentoo-Kconfig.patch
index 4a88040..b8a 100644
--- a/4567_distro-Gentoo-Kconfig.patch
+++ b/4567_distro-Gentoo-Kconfig.patch
@@ -7,9 +7,9 @@
 +source "distro/Kconfig"
 +
  source "arch/$SRCARCH/Kconfig"
 /dev/null  2017-02-18 04:25:56.900821893 -0500
-+++ b/distro/Kconfig   2017-02-18 10:41:16.512328155 -0500
-@@ -0,0 +1,142 @@
+--- /dev/null  2017-03-02 01:55:04.096566155 -0500
 b/distro/Kconfig   2017-03-02 11:12:05.049448255 -0500
+@@ -0,0 +1,145 @@
 +menu "Gentoo Linux"
 +
 +config GENTOO_LINUX
@@ -114,6 +114,9 @@
 +  select BLK_DEV_BSG
 +  select CGROUPS
 +  select CHECKPOINT_RESTORE
++  select CRYPTO_HMAC 
++  select CRYPTO_SHA256
++  select CRYPTO_USER_API_HASH
 +  select DEVPTS_MULTIPLE_INSTANCES
 +  select DMIID if X86_32 || X86_64 || X86
 +  select EPOLL



[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-02-26 Thread Mike Pagano
commit: a7614e16e5934261b1d377edad0f36a133adeb96
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Feb 27 01:08:24 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Feb 27 01:08:24 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=a7614e16

Linux patch 4.10.1

 _README |   4 +
 1000_linux-4.10.1.patch | 661 
 2 files changed, 665 insertions(+)

diff --git a/_README b/_README
index 58e3c74..decfe62 100644
--- a/_README
+++ b/_README
@@ -43,6 +43,10 @@ EXPERIMENTAL
 Individual Patch Descriptions:
 --
 
+Patch:  1000_linux-4.10.1.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.10.1
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1000_linux-4.10.1.patch b/1000_linux-4.10.1.patch
new file mode 100644
index 000..7b19ec2
--- /dev/null
+++ b/1000_linux-4.10.1.patch
@@ -0,0 +1,661 @@
+diff --git a/Documentation/admin-guide/kernel-parameters.txt 
b/Documentation/admin-guide/kernel-parameters.txt
+index be7c0d9506b1..18eefa860f76 100644
+--- a/Documentation/admin-guide/kernel-parameters.txt
 b/Documentation/admin-guide/kernel-parameters.txt
+@@ -1201,6 +1201,10 @@
+   When zero, profiling data is discarded and associated
+   debugfs files are removed at module unload time.
+ 
++  goldfish[X86] Enable the goldfish android emulator platform.
++  Don't use this when you are not running on the
++  android emulator
++
+   gpt [EFI] Forces disk with valid GPT signature but
+   invalid Protective MBR to be treated as GPT. If the
+   primary GPT is corrupted, it enables the 
backup/alternate
+diff --git a/Makefile b/Makefile
+index f1e6a02a0c19..09eccff4f569 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 0
++SUBLEVEL = 1
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+ 
+diff --git a/arch/x86/platform/goldfish/goldfish.c 
b/arch/x86/platform/goldfish/goldfish.c
+index 1693107a518e..0d17c0aafeb1 100644
+--- a/arch/x86/platform/goldfish/goldfish.c
 b/arch/x86/platform/goldfish/goldfish.c
+@@ -42,10 +42,22 @@ static struct resource goldfish_pdev_bus_resources[] = {
+   }
+ };
+ 
++static bool goldfish_enable __initdata;
++
++static int __init goldfish_setup(char *str)
++{
++  goldfish_enable = true;
++  return 0;
++}
++__setup("goldfish", goldfish_setup);
++
+ static int __init goldfish_init(void)
+ {
++  if (!goldfish_enable)
++  return -ENODEV;
++
+   platform_device_register_simple("goldfish_pdev_bus", -1,
+-  goldfish_pdev_bus_resources, 2);
++  goldfish_pdev_bus_resources, 2);
+   return 0;
+ }
+ device_initcall(goldfish_init);
+diff --git a/drivers/net/wireless/realtek/rtlwifi/usb.c 
b/drivers/net/wireless/realtek/rtlwifi/usb.c
+index 49015b05f3d1..abdaf203835c 100644
+--- a/drivers/net/wireless/realtek/rtlwifi/usb.c
 b/drivers/net/wireless/realtek/rtlwifi/usb.c
+@@ -827,12 +827,30 @@ static void rtl_usb_stop(struct ieee80211_hw *hw)
+   struct rtl_priv *rtlpriv = rtl_priv(hw);
+   struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
+   struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw));
++  struct urb *urb;
+ 
+   /* should after adapter start and interrupt enable. */
+   set_hal_stop(rtlhal);
+   cancel_work_sync(>works.fill_h2c_cmd);
+   /* Enable software */
+   SET_USB_STOP(rtlusb);
++
++  /* free pre-allocated URBs from rtl_usb_start() */
++  usb_kill_anchored_urbs(>rx_submitted);
++
++  tasklet_kill(>rx_work_tasklet);
++  cancel_work_sync(>works.lps_change_work);
++
++  flush_workqueue(rtlpriv->works.rtl_wq);
++
++  skb_queue_purge(>rx_queue);
++
++  while ((urb = usb_get_from_anchor(>rx_cleanup_urbs))) {
++  usb_free_coherent(urb->dev, urb->transfer_buffer_length,
++  urb->transfer_buffer, urb->transfer_dma);
++  usb_free_urb(urb);
++  }
++
+   rtlpriv->cfg->ops->hw_disable(hw);
+ }
+ 
+diff --git a/drivers/platform/goldfish/pdev_bus.c 
b/drivers/platform/goldfish/pdev_bus.c
+index 1f52462f4cdd..dd9ea463c2a4 100644
+--- a/drivers/platform/goldfish/pdev_bus.c
 b/drivers/platform/goldfish/pdev_bus.c
+@@ -157,23 +157,26 @@ static int goldfish_new_pdev(void)
+ static irqreturn_t goldfish_pdev_bus_interrupt(int irq, void *dev_id)
+ {
+   irqreturn_t ret = IRQ_NONE;
++
+   while (1) {
+   u32 op = readl(pdev_bus_base + PDEV_BUS_OP);
+-  switch (op) {
+-  case PDEV_BUS_OP_DONE:
+-  return 

[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-02-19 Thread Mike Pagano
commit: f00ff26959a9aba3ec6fbcc4ad86f8e1a3fc535a
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Feb 20 00:08:20 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Feb 20 00:08:20 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=f00ff269

For GENTOO_LINUX_INIT_SYSTEMD don't add DMIID for non X86 architectures. See 
bug #609590.

 4567_distro-Gentoo-Kconfig.patch | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/4567_distro-Gentoo-Kconfig.patch b/4567_distro-Gentoo-Kconfig.patch
index acb0972..4a88040 100644
--- a/4567_distro-Gentoo-Kconfig.patch
+++ b/4567_distro-Gentoo-Kconfig.patch
@@ -7,8 +7,8 @@
 +source "distro/Kconfig"
 +
  source "arch/$SRCARCH/Kconfig"
 /dev/null  2016-11-15 00:56:18.320838834 -0500
-+++ b/distro/Kconfig   2016-11-16 06:24:29.457357409 -0500
+--- /dev/null  2017-02-18 04:25:56.900821893 -0500
 b/distro/Kconfig   2017-02-18 10:41:16.512328155 -0500
 @@ -0,0 +1,142 @@
 +menu "Gentoo Linux"
 +
@@ -115,7 +115,7 @@
 +  select CGROUPS
 +  select CHECKPOINT_RESTORE
 +  select DEVPTS_MULTIPLE_INSTANCES
-+  select DMIID
++  select DMIID if X86_32 || X86_64 || X86
 +  select EPOLL
 +  select FANOTIFY
 +  select FHANDLE



[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-02-14 Thread Mike Pagano
commit: 06250fee98423edf601c429941c354c9ed1112c7
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Feb 14 23:44:12 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Feb 14 23:44:12 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=06250fee

Workaround to enable poweroff on Mac Pro 11. See bug #601964.

 _README  |  4 ++
 2300_enable-poweroff-on-Mac-Pro-11.patch | 76 
 2 files changed, 80 insertions(+)

diff --git a/_README b/_README
index 646b303..58e3c74 100644
--- a/_README
+++ b/_README
@@ -51,6 +51,10 @@ Patch:  
1510_fs-enable-link-security-restrictions-by-default.patch
 From:   
http://sources.debian.net/src/linux/3.16.7-ckt4-3/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch/
 Desc:   Enable link security restrictions by default.
 
+Patch:  2300_enable-poweroff-on-Mac-Pro-11.patch
+From:   
http://kernel.ubuntu.com/git/ubuntu/ubuntu-xenial.git/patch/drivers/pci/quirks.c?id=5080ff61a438f3dd80b88b423e1a20791d8a774c
+Desc:   Workaround to enable poweroff on Mac Pro 11. See bug #601964.
+
 Patch:  2900_dev-root-proc-mount-fix.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=438380
 Desc:   Ensure that /dev/root doesn't appear in /proc/mounts when bootint 
without an initramfs.

diff --git a/2300_enable-poweroff-on-Mac-Pro-11.patch 
b/2300_enable-poweroff-on-Mac-Pro-11.patch
new file mode 100644
index 000..063f2a1
--- /dev/null
+++ b/2300_enable-poweroff-on-Mac-Pro-11.patch
@@ -0,0 +1,76 @@
+From 5080ff61a438f3dd80b88b423e1a20791d8a774c Mon Sep 17 00:00:00 2001
+From: Chen Yu 
+Date: Fri, 19 Aug 2016 10:25:57 -0700
+Subject: UBUNTU: SAUCE: PCI: Workaround to enable poweroff on Mac Pro 11
+
+BugLink: http://bugs.launchpad.net/bugs/1587714
+
+People reported that they can not do a poweroff nor a
+suspend to ram on their Mac Pro 11. After some investigations
+it was found that, once the PCI bridge :00:1c.0 reassigns its
+mm windows to ([mem 0x7fa0-0x7fbf] and
+[mem 0x7fc0-0x7fdf 64bit pref]), the region of ACPI
+io resource 0x1804 becomes unaccessible immediately, where the
+ACPI Sleep register is located, as a result neither poweroff(S5)
+nor suspend to ram(S3) works.
+
+As suggested by Bjorn, further testing shows that, there is an
+unreported device may be (using) conflict with above aperture,
+which brings unpredictable result such as the failure of accessing
+the io port, which blocks the poweroff(S5). Besides if we reassign
+the memory aperture to the other place, the poweroff works again.
+
+As we do not find any resource declared in _CRS which contain above
+memory aperture, and Mac OS does not use this pci bridge neither, we
+choose a simple workaround to clear the hotplug flag(suggested by
+Yinghai Lu), thus do not allocate any resource for this pci bridge,
+and thereby no conflict anymore.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=103211
+Cc: Bjorn Helgaas 
+Cc: Rafael J. Wysocki 
+Cc: Lukas Wunner 
+Signed-off-by: Chen Yu 
+Reference: https://patchwork.kernel.org/patch/9289777/
+Signed-off-by: Kamal Mostafa 
+Acked-by: Brad Figg 
+Acked-by: Stefan Bader 
+Signed-off-by: Tim Gardner 
+---
+ drivers/pci/quirks.c | 20 
+ 1 file changed, 20 insertions(+)
+
+diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
+index 48cfaa0..23968b6 100644
+--- a/drivers/pci/quirks.c
 b/drivers/pci/quirks.c
+@@ -2750,6 +2750,26 @@ static void quirk_hotplug_bridge(struct pci_dev *dev)
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_HINT, 0x0020, quirk_hotplug_bridge);
+ 
+ /*
++ * Apple: Avoid programming the memory/io aperture of 00:1c.0
++ *
++ * BIOS does not declare any resource for 00:1c.0, but with
++ * hotplug flag set, thus the OS allocates:
++ * [mem 0x7fa0 - 0x7fbf]
++ * [mem 0x7fc0-0x7fdf 64bit pref]
++ * which is conflict with an unreported device, which
++ * causes unpredictable result such as accessing io port.
++ * So clear the hotplug flag to work around it.
++ */
++static void quirk_apple_mbp_poweroff(struct pci_dev *dev)
++{
++   if (dmi_match(DMI_PRODUCT_NAME, "MacBookPro11,4") ||
++   dmi_match(DMI_PRODUCT_NAME, "MacBookPro11,5"))
++   dev->is_hotplug_bridge = 0;
++}
++
++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x8c10, 
quirk_apple_mbp_poweroff);
++
++/*
+  * This is a quirk for the Ricoh MMC controller found as a part of
+  * some mulifunction chips.
+ 
+-- 
+cgit v0.11.2
+



[gentoo-commits] proj/linux-patches:4.10 commit in: /

2017-01-03 Thread Mike Pagano
commit: c0eedfefc3bb4ac7faeffba1e11aa4f86cfdd58f
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Jan  3 18:56:30 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Jan  3 18:56:30 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=c0eedfef

Gentoo Linux support config settings and defaults. Patch to add support for 
namespace user.pax.* on tmpfs. Patch to enable link security restrictions by 
default. Patch to ensure that /dev/root doesn't appear in /proc/mounts when 
booting without an initramfs. Patch to enable control of the unaligned access 
control policy from sysctl.

 _README|   24 +
 1500_XATTR_USER_PREFIX.patch   |   69 +
 ...ble-link-security-restrictions-by-default.patch |   22 +
 2900_dev-root-proc-mount-fix.patch |   38 +
 4200_fbcondecor.patch  | 2095 
 4400_alpha-sysctl-uac.patch|  142 ++
 ...able-additional-cpu-optimizations-for-gcc.patch |  426 
 7 files changed, 2816 insertions(+)

diff --git a/_README b/_README
index 9018993..646b303 100644
--- a/_README
+++ b/_README
@@ -43,6 +43,30 @@ EXPERIMENTAL
 Individual Patch Descriptions:
 --
 
+Patch:  1500_XATTR_USER_PREFIX.patch
+From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
+Desc:   Support for namespace user.pax.* on tmpfs.
+
+Patch:  1510_fs-enable-link-security-restrictions-by-default.patch
+From:   
http://sources.debian.net/src/linux/3.16.7-ckt4-3/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch/
+Desc:   Enable link security restrictions by default.
+
+Patch:  2900_dev-root-proc-mount-fix.patch
+From:   https://bugs.gentoo.org/show_bug.cgi?id=438380
+Desc:   Ensure that /dev/root doesn't appear in /proc/mounts when bootint 
without an initramfs.
+
+Patch:  4200_fbcondecor.patch
+From:   http://www.mepiscommunity.org/fbcondecor
+Desc:   Bootsplash ported by Uladzimir Bely. (Bug #596126)
+
+Patch:  4400_alpha-sysctl-uac.patch
+From:   Tobias Klausmann (klaus...@gentoo.org) and 
http://bugs.gentoo.org/show_bug.cgi?id=217323 
+Desc:   Enable control of the unaligned access control policy from sysctl
+
 Patch:  4567_distro-Gentoo-Kconfig.patch
 From:   Tom Wijsman 
 Desc:   Add Gentoo Linux support config settings and defaults.
+
+Patch:  5010_enable-additional-cpu-optimizations-for-gcc.patch
+From:   https://github.com/graysky2/kernel_gcc_patch/
+Desc:   Kernel patch enables gcc >= v4.9 optimizations for additional CPUs.

diff --git a/1500_XATTR_USER_PREFIX.patch b/1500_XATTR_USER_PREFIX.patch
new file mode 100644
index 000..bacd032
--- /dev/null
+++ b/1500_XATTR_USER_PREFIX.patch
@@ -0,0 +1,69 @@
+From: Anthony G. Basile 
+
+This patch adds support for a restricted user-controlled namespace on
+tmpfs filesystem used to house PaX flags.  The namespace must be of the
+form user.pax.* and its value cannot exceed a size of 8 bytes.
+
+This is needed even on all Gentoo systems so that XATTR_PAX flags
+are preserved for users who might build packages using portage on
+a tmpfs system with a non-hardened kernel and then switch to a
+hardened kernel with XATTR_PAX enabled.
+
+The namespace is added to any user with Extended Attribute support
+enabled for tmpfs.  Users who do not enable xattrs will not have
+the XATTR_PAX flags preserved.
+
+diff --git a/include/uapi/linux/xattr.h b/include/uapi/linux/xattr.h
+index 1590c49..5eab462 100644
+--- a/include/uapi/linux/xattr.h
 b/include/uapi/linux/xattr.h
+@@ -73,5 +73,9 @@
+ #define XATTR_POSIX_ACL_DEFAULT  "posix_acl_default"
+ #define XATTR_NAME_POSIX_ACL_DEFAULT XATTR_SYSTEM_PREFIX 
XATTR_POSIX_ACL_DEFAULT
+ 
++/* User namespace */
++#define XATTR_PAX_PREFIX XATTR_USER_PREFIX "pax."
++#define XATTR_PAX_FLAGS_SUFFIX "flags"
++#define XATTR_NAME_PAX_FLAGS XATTR_PAX_PREFIX XATTR_PAX_FLAGS_SUFFIX
+ 
+ #endif /* _UAPI_LINUX_XATTR_H */
+diff --git a/mm/shmem.c b/mm/shmem.c
+index 440e2a7..c377172 100644
+--- a/mm/shmem.c
 b/mm/shmem.c
+@@ -2667,6 +2667,14 @@ static int shmem_xattr_handler_set(const struct 
xattr_handler *handler,
+   struct shmem_inode_info *info = SHMEM_I(d_inode(dentry));
+ 
+   name = xattr_full_name(handler, name);
++
++  if (!strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN)) {
++  if (strcmp(name, XATTR_NAME_PAX_FLAGS))
++  return -EOPNOTSUPP;
++  if (size > 8)
++  return -EINVAL;
++  }
++
+   return simple_xattr_set(>xattrs, name, value, size, flags);
+ }
+ 
+@@ -2682,6 +2690,12 @@ static const struct xattr_handler 
shmem_trusted_xattr_handler = {
+   .set = shmem_xattr_handler_set,
+ };
+ 
++static const struct xattr_handler shmem_user_xattr_handler = {
++  .prefix = XATTR_USER_PREFIX,
++  .get =