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

2017-11-05 Thread Mike Pagano
commit: 679479168a68ec71fc95e7a66dac25305220e45f
Author: Mike Pagano  gentoo  org>
AuthorDate: Sun Nov  5 18:49:52 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sun Nov  5 18:49:52 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=67947916

Linux patch 3.10.108

 _README   |4 +
 1107_linux-3.10.108.patch | 3467 +
 2 files changed, 3471 insertions(+)

diff --git a/_README b/_README
index e949f2e..e964bd4 100644
--- a/_README
+++ b/_README
@@ -470,6 +470,10 @@ Patch:  1106_linux-3.10.107.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.107
 
+Patch:  1107_linux-3.10.108.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.108
+
 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/1107_linux-3.10.108.patch b/1107_linux-3.10.108.patch
new file mode 100644
index 000..f8e4e90
--- /dev/null
+++ b/1107_linux-3.10.108.patch
@@ -0,0 +1,3467 @@
+diff --git a/Makefile b/Makefile
+index 752b1c67daa0..924f98a4bc0f 100644
+--- a/Makefile
 b/Makefile
+@@ -1,8 +1,8 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 107
++SUBLEVEL = 108
+ EXTRAVERSION =
+-NAME = TOSSUG Baby Fish
++NAME = END-OF-LIFE
+ 
+ # *DOCUMENTATION*
+ # To see a list of typical targets execute "make help"
+diff --git a/arch/mips/include/asm/branch.h b/arch/mips/include/asm/branch.h
+index e28a3e0eb3cb..582d8b61ce5c 100644
+--- a/arch/mips/include/asm/branch.h
 b/arch/mips/include/asm/branch.h
+@@ -44,10 +44,7 @@ static inline int compute_return_epc(struct pt_regs *regs)
+   return __microMIPS_compute_return_epc(regs);
+   if (cpu_has_mips16)
+   return __MIPS16e_compute_return_epc(regs);
+-  return regs->cp0_epc;
+-  }
+-
+-  if (!delay_slot(regs)) {
++  } else if (!delay_slot(regs)) {
+   regs->cp0_epc += 4;
+   return 0;
+   }
+diff --git a/arch/mips/kernel/branch.c b/arch/mips/kernel/branch.c
+index 46c2ad0703a0..63b942f613c4 100644
+--- a/arch/mips/kernel/branch.c
 b/arch/mips/kernel/branch.c
+@@ -200,7 +200,7 @@ int __MIPS16e_compute_return_epc(struct pt_regs *regs)
+  *
+  * @regs: Pointer to pt_regs
+  * @insn: branch instruction to decode
+- * @returns:  -EFAULT on error and forces SIGBUS, and on success
++ * @returns:  -EFAULT on error and forces SIGILL, and on success
+  *returns 0 or BRANCH_LIKELY_TAKEN as appropriate after
+  *evaluating the branch.
+  */
+@@ -297,6 +297,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
+   /*
+* These are unconditional and in j_format.
+*/
++  case jalx_op:
+   case jal_op:
+   regs->regs[31] = regs->cp0_epc + 8;
+   case j_op:
+@@ -436,8 +437,9 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
+   return ret;
+ 
+ sigill:
+-  printk("%s: DSP branch but not DSP ASE - sending SIGBUS.\n", 
current->comm);
+-  force_sig(SIGBUS, current);
++  pr_info("%s: DSP branch but not DSP ASE - sending SIGILL.\n",
++  current->comm);
++  force_sig(SIGILL, current);
+   return -EFAULT;
+ }
+ EXPORT_SYMBOL_GPL(__compute_return_epc_for_insn);
+diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
+index b79d13f95bf0..eb0f4dfb385c 100644
+--- a/arch/mips/kernel/syscall.c
 b/arch/mips/kernel/syscall.c
+@@ -140,7 +140,7 @@ static inline int mips_atomic_set(unsigned long addr, 
unsigned long new)
+   "1: ll  %[old], (%[addr])   \n"
+   "   move%[tmp], %[new]  \n"
+   "2: sc  %[tmp], (%[addr])   \n"
+-  "   bnez%[tmp], 4f  \n"
++  "   beqz%[tmp], 4f  \n"
+   "3: \n"
+   "   .subsection 2   \n"
+   "4: b   1b  \n"
+diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
+index 3d492a823a55..dbddc9ccf270 100644
+--- a/arch/mips/math-emu/cp1emu.c
 b/arch/mips/math-emu/cp1emu.c
+@@ -2002,6 +2002,35 @@ static int fpu_emu(struct pt_regs *xcp, struct 
mips_fpu_struct *ctx,
+   return 0;
+ }
+ 
++/*
++ * Emulate FPU instructions.
++ *
++ * If we use FPU hardware, then we have been typically called to handle
++ * an unimplemented operation, such as where an operand is a NaN or
++ * denormalized.  In that case exit the emulation loop after a single
++ * iteration so as to let hardware execute any subsequent instructions.
++ *
++ * If we have no FPU hardware or it has been disabled, then continue
++ * emulating floating-po

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

2017-09-15 Thread Mike Pagano
commit: 26127f3cb6a7b4e6ee2e0843aed511b52a1691f0
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Sep 15 16:27:02 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Sep 15 16:27:02 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=26127f3c

For 3.10.X, include patch to validate the output buffer length for L2CAP config 
reqs and resps to avoid stack buffer overflowing. CVE-2017-1000251. See bug 
#630840

 _README |   4 +
 2410_BT-check-L2CAP-buffer-length.patch | 357 
 2 files changed, 361 insertions(+)

diff --git a/_README b/_README
index 8da7d43..e949f2e 100644
--- a/_README
+++ b/_README
@@ -494,6 +494,10 @@ Patch:  2400_kcopy-patch-for-infiniband-driver.patch
 From:   Alexey Shvetsov 
 Desc:   Zero copy for infiniband psm userspace driver
 
+Patch: 2410_BT-check-L2CAP-buffer-length.patch 
+From:  
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e860d2c904d1a9f38a24eb44c9f34b8f915a6ea3
+Desc:  Validate the output buffer length for L2CAP config reqs and resps to 
avoid stack buffer overflowing. CVE-2017-1000251. See bug #630840 
+
 Patch:  2700_ThinkPad-30-brightness-control-fix.patch
 From:   Seth Forshee 
 Desc:   ACPI: Disable Windows 8 compatibility for some Lenovo ThinkPads

diff --git a/2410_BT-check-L2CAP-buffer-length.patch 
b/2410_BT-check-L2CAP-buffer-length.patch
new file mode 100644
index 000..c6bfdf7
--- /dev/null
+++ b/2410_BT-check-L2CAP-buffer-length.patch
@@ -0,0 +1,357 @@
+From e860d2c904d1a9f38a24eb44c9f34b8f915a6ea3 Mon Sep 17 00:00:00 2001
+From: Ben Seri 
+Date: Sat, 9 Sep 2017 23:15:59 +0200
+Subject: Bluetooth: Properly check L2CAP config option output buffer length
+
+Validate the output buffer length for L2CAP config requests and responses
+to avoid overflowing the stack buffer used for building the option blocks.
+
+Cc: sta...@vger.kernel.org
+Signed-off-by: Ben Seri 
+Signed-off-by: Marcel Holtmann 
+Signed-off-by: Linus Torvalds 
+---
+ net/bluetooth/l2cap_core.c | 80 +-
+ 1 file changed, 43 insertions(+), 37 deletions(-)
+
+diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
+index 303c779..43ba91c 100644
+--- a/net/bluetooth/l2cap_core.c
 b/net/bluetooth/l2cap_core.c
+@@ -58,7 +58,7 @@ static struct sk_buff *l2cap_build_cmd(struct l2cap_conn 
*conn,
+  u8 code, u8 ident, u16 dlen, void *data);
+ static void l2cap_send_cmd(struct l2cap_conn *conn, u8 ident, u8 code, u16 
len,
+  void *data);
+-static int l2cap_build_conf_req(struct l2cap_chan *chan, void *data);
++static int l2cap_build_conf_req(struct l2cap_chan *chan, void *data, size_t 
data_size);
+ static void l2cap_send_disconn_req(struct l2cap_chan *chan, int err);
+ 
+ static void l2cap_tx(struct l2cap_chan *chan, struct l2cap_ctrl *control,
+@@ -1473,7 +1473,7 @@ static void l2cap_conn_start(struct l2cap_conn *conn)
+ 
+   set_bit(CONF_REQ_SENT, &chan->conf_state);
+   l2cap_send_cmd(conn, l2cap_get_ident(conn), 
L2CAP_CONF_REQ,
+- l2cap_build_conf_req(chan, buf), buf);
++ l2cap_build_conf_req(chan, buf, 
sizeof(buf)), buf);
+   chan->num_conf_req++;
+   }
+ 
+@@ -2987,12 +2987,15 @@ static inline int l2cap_get_conf_opt(void **ptr, int 
*type, int *olen,
+   return len;
+ }
+ 
+-static void l2cap_add_conf_opt(void **ptr, u8 type, u8 len, unsigned long val)
++static void l2cap_add_conf_opt(void **ptr, u8 type, u8 len, unsigned long 
val, size_t size)
+ {
+   struct l2cap_conf_opt *opt = *ptr;
+ 
+   BT_DBG("type 0x%2.2x len %u val 0x%lx", type, len, val);
+ 
++  if (size < L2CAP_CONF_OPT_SIZE + len)
++  return;
++
+   opt->type = type;
+   opt->len  = len;
+ 
+@@ -3017,7 +3020,7 @@ static void l2cap_add_conf_opt(void **ptr, u8 type, u8 
len, unsigned long val)
+   *ptr += L2CAP_CONF_OPT_SIZE + len;
+ }
+ 
+-static void l2cap_add_opt_efs(void **ptr, struct l2cap_chan *chan)
++static void l2cap_add_opt_efs(void **ptr, struct l2cap_chan *chan, size_t 
size)
+ {
+   struct l2cap_conf_efs efs;
+ 
+@@ -3045,7 +3048,7 @@ static void l2cap_add_opt_efs(void **ptr, struct 
l2cap_chan *chan)
+   }
+ 
+   l2cap_add_conf_opt(ptr, L2CAP_CONF_EFS, sizeof(efs),
+- (unsigned long) &efs);
++ (unsigned long) &efs, size);
+ }
+ 
+ static void l2cap_ack_timeout(struct work_struct *work)
+@@ -3191,11 +3194,12 @@ static inline void l2cap_txwin_setup(struct l2cap_chan 
*chan)
+   chan->ack_win = chan->tx_win;
+ }
+ 
+-static int l2cap_build_conf_req(struct l2cap_chan *chan, void *data)
++static int l2cap_build_conf_req(struct l2cap_chan *chan, void *data, size_t 
data_size)
+ {
+   struct l2cap_conf_req

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

2017-03-02 Thread Mike Pagano
commit: afc50295c7e24d87b7ebdbe7eabc2b4dc44214c0
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Mar  2 16:48:38 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Mar  2 16:48:38 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=afc50295

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 690454a..24ebbef 100644
--- a/4567_distro-Gentoo-Kconfig.patch
+++ b/4567_distro-Gentoo-Kconfig.patch
@@ -7,9 +7,9 @@
 +source "distro/Kconfig"
 +
  source "arch/$SRCARCH/Kconfig"
 a/distro/Kconfig   1969-12-31 19:00:00.0 -0500
-+++ b/distro/Kconfig   2015-01-02 13:54:45.589830665 -0500
-@@ -0,0 +1,109 @@
+--- /dev/null  2017-03-02 01:55:04.096566155 -0500
 b/distro/Kconfig   2017-03-02 11:46:27.504900160 -0500
+@@ -0,0 +1,112 @@
 +menu "Gentoo Linux"
 +
 +config GENTOO_LINUX
@@ -87,6 +87,9 @@
 +  select AUTOFS4_FS
 +  select BLK_DEV_BSG
 +  select CGROUPS
++  select CRYPTO_HMAC
++  select CRYPTO_SHA256
++  select CRYPTO_USER_API_HASH
 +  select DEVPTS_MULTIPLE_INSTANCES
 +  select EPOLL
 +  select FANOTIFY



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

2017-02-27 Thread Mike Pagano
commit: ac25f59e51d3946b9aa4491fa0ad9768cac30701
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Feb 27 18:32:21 2017 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Feb 27 18:32:21 2017 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=ac25f59e

fix race condition in packet_set_ring. CVE-2016-8655. Bug #601926.

 _README  |  4 ++
 1530_CVE-2017-6074-dccp-fix-early-skb-free.patch | 47 
 2 files changed, 51 insertions(+)

diff --git a/_README b/_README
index 1216723..3c1164c 100644
--- a/_README
+++ b/_README
@@ -478,6 +478,10 @@ Patch:  1520_fix-race-condition-in-packet-set-ring.patch
 From:   
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=84ac7260236a49c79eede91617700174c2c19b0c
 Desc:   packet: fix race condition in packet_set_ring. CVE-2016-8655. Bug 
#601926.
 
+Patch:  1530_CVE-2017-6074-dccp-skb-freeing-fix.patch
+From:   https://bugs.gentoo.org/show_bug.cgi?id=610600 


+Desc:   dccp: fix freeing skb too early for IPV6_RECVPKTINFO. CVE-2017-6074
+
 Patch:  1700_enable-thinkpad-micled.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=449248
 Desc:   Enable mic mute led in thinkpads

diff --git a/1530_CVE-2017-6074-dccp-fix-early-skb-free.patch 
b/1530_CVE-2017-6074-dccp-fix-early-skb-free.patch
new file mode 100644
index 000..433fd4b
--- /dev/null
+++ b/1530_CVE-2017-6074-dccp-fix-early-skb-free.patch
@@ -0,0 +1,47 @@
+From 5edabca9d4cff7f1f2b68f0bac55ef99d9798ba4 Mon Sep 17 00:00:00 2001
+From: Andrey Konovalov 
+Date: Thu, 16 Feb 2017 17:22:46 +0100
+Subject: dccp: fix freeing skb too early for IPV6_RECVPKTINFO
+
+In the current DCCP implementation an skb for a DCCP_PKT_REQUEST packet
+is forcibly freed via __kfree_skb in dccp_rcv_state_process if
+dccp_v6_conn_request successfully returns.
+
+However, if IPV6_RECVPKTINFO is set on a socket, the address of the skb
+is saved to ireq->pktopts and the ref count for skb is incremented in
+dccp_v6_conn_request, so skb is still in use. Nevertheless, it gets freed
+in dccp_rcv_state_process.
+
+Fix by calling consume_skb instead of doing goto discard and therefore
+calling __kfree_skb.
+
+Similar fixes for TCP:
+
+fb7e2399ec17f1004c0e0ccfd17439f8759ede01 [TCP]: skb is unexpectedly freed.
+0aea76d35c9651d55bbaf746e7914e5f9ae5a25d tcp: SYN packets are now
+simply consumed
+
+Signed-off-by: Andrey Konovalov 
+Acked-by: Eric Dumazet 
+Signed-off-by: David S. Miller 
+---
+ net/dccp/input.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/net/dccp/input.c b/net/dccp/input.c
+index ba34718..8fedc2d 100644
+--- a/net/dccp/input.c
 b/net/dccp/input.c
+@@ -606,7 +606,8 @@ int dccp_rcv_state_process(struct sock *sk, struct sk_buff 
*skb,
+   if (inet_csk(sk)->icsk_af_ops->conn_request(sk,
+   skb) < 0)
+   return 1;
+-  goto discard;
++  consume_skb(skb);
++  return 0;
+   }
+   if (dh->dccph_type == DCCP_PKT_RESET)
+   goto discard;
+-- 
+cgit v0.12
+



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

2016-12-09 Thread Mike Pagano
commit: 50ee9dadc30365db8f40035f24cb84133b0c966e
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Dec  9 18:31:31 2016 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Dec  9 18:31:31 2016 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=50ee9dad

Fix race condition in packet_set_ring. CVE-2016-8655. Bug #601926.

 _README  |  4 ++
 1520_fix-race-condition-in-packet-set-ring.patch | 62 
 2 files changed, 66 insertions(+)

diff --git a/_README b/_README
index a4f6bf2..271c499 100644
--- a/_README
+++ b/_README
@@ -470,6 +470,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:  1520_fix-race-condition-in-packet-set-ring.patch
+From:   
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=84ac7260236a49c79eede91617700174c2c19b0c
+Desc:   packet: fix race condition in packet_set_ring. CVE-2016-8655. Bug 
#601926.
+
 Patch:  1700_enable-thinkpad-micled.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=449248
 Desc:   Enable mic mute led in thinkpads

diff --git a/1520_fix-race-condition-in-packet-set-ring.patch 
b/1520_fix-race-condition-in-packet-set-ring.patch
new file mode 100644
index 000..d85527f
--- /dev/null
+++ b/1520_fix-race-condition-in-packet-set-ring.patch
@@ -0,0 +1,62 @@
+--- a/net/packet/af_packet.c   2016-12-07 18:10:25.785812861 -0500
 b/net/packet/af_packet.c   2016-12-07 18:18:45.597933525 -0500
+@@ -3648,19 +3648,25 @@ packet_setsockopt(struct socket *sock, i
+ 
+   if (optlen != sizeof(val))
+   return -EINVAL;
+-  if (po->rx_ring.pg_vec || po->tx_ring.pg_vec)
+-  return -EBUSY;
+   if (copy_from_user(&val, optval, sizeof(val)))
+   return -EFAULT;
+   switch (val) {
+   case TPACKET_V1:
+   case TPACKET_V2:
+   case TPACKET_V3:
+-  po->tp_version = val;
+-  return 0;
++  break;
+   default:
+   return -EINVAL;
+   }
++  lock_sock(sk);
++  if (po->rx_ring.pg_vec || po->tx_ring.pg_vec) {
++  ret = -EBUSY;
++  } else {
++  po->tp_version = val;
++  ret = 0;
++  }
++  release_sock(sk);
++  return ret;
+   }
+   case PACKET_RESERVE:
+   {
+@@ -4164,6 +4170,7 @@ static int packet_set_ring(struct sock *
+   /* Added to avoid minimal code churn */
+   struct tpacket_req *req = &req_u->req;
+ 
++  lock_sock(sk);
+   /* Opening a Tx-ring is NOT supported in TPACKET_V3 */
+   if (!closing && tx_ring && (po->tp_version > TPACKET_V2)) {
+   net_warn_ratelimited("Tx-ring is not supported.\n");
+@@ -4245,8 +4252,6 @@ static int packet_set_ring(struct sock *
+   goto out;
+   }
+ 
+-  lock_sock(sk);
+-
+   /* Detach socket from network */
+   spin_lock(&po->bind_lock);
+   was_running = po->running;
+@@ -4294,11 +4299,11 @@ static int packet_set_ring(struct sock *
+   if (!tx_ring)
+   prb_shutdown_retire_blk_timer(po, rb_queue);
+   }
+-  release_sock(sk);
+ 
+   if (pg_vec)
+   free_pg_vec(pg_vec, order, req->tp_block_nr);
+ out:
++  release_sock(sk);
+   return err;
+ }
+ 



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

2016-10-21 Thread Mike Pagano
commit: e362672f8603aead6f4618f379b2df056478dafc
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Oct 21 10:55:33 2016 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Oct 21 10:55:33 2016 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=e362672f

Linux patch 3.10.104

 _README   |   4 +
 1103_linux-3.10.104.patch | 478 ++
 2 files changed, 482 insertions(+)

diff --git a/_README b/_README
index c6ef0e7..a4f6bf2 100644
--- a/_README
+++ b/_README
@@ -454,6 +454,10 @@ Patch:  1102_linux-3.10.103.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.103
 
+Patch:  1103_linux-3.10.104.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.104
+
 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/1103_linux-3.10.104.patch b/1103_linux-3.10.104.patch
new file mode 100644
index 000..93006a6
--- /dev/null
+++ b/1103_linux-3.10.104.patch
@@ -0,0 +1,478 @@
+diff --git a/Makefile b/Makefile
+index d3cb458b295a..f6a2cbd438a1 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 103
++SUBLEVEL = 104
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/mips/kvm/kvm_tlb.c b/arch/mips/kvm/kvm_tlb.c
+index 4bee4397dca8..8a47bd96cee3 100644
+--- a/arch/mips/kvm/kvm_tlb.c
 b/arch/mips/kvm/kvm_tlb.c
+@@ -182,7 +182,7 @@ static int kvm_mips_map_page(struct kvm *kvm, gfn_t gfn)
+ srcu_idx = srcu_read_lock(&kvm->srcu);
+   pfn = kvm_mips_gfn_to_pfn(kvm, gfn);
+ 
+-  if (kvm_mips_is_error_pfn(pfn)) {
++  if (is_error_noslot_pfn(pfn)) {
+   kvm_err("Couldn't get pfn for gfn %#" PRIx64 "!\n", gfn);
+   err = -EFAULT;
+   goto out;
+diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
+index a5e339806589..d55357ee9028 100644
+--- a/arch/powerpc/kernel/process.c
 b/arch/powerpc/kernel/process.c
+@@ -1088,16 +1088,6 @@ void start_thread(struct pt_regs *regs, unsigned long 
start, unsigned long sp)
+   current->thread.regs = regs - 1;
+   }
+ 
+-#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
+-  /*
+-   * Clear any transactional state, we're exec()ing. The cause is
+-   * not important as there will never be a recheckpoint so it's not
+-   * user visible.
+-   */
+-  if (MSR_TM_SUSPENDED(mfmsr()))
+-  tm_reclaim_current(0);
+-#endif
+-
+   memset(regs->gpr, 0, sizeof(regs->gpr));
+   regs->ctr = 0;
+   regs->link = 0;
+diff --git a/drivers/acpi/sysfs.c b/drivers/acpi/sysfs.c
+index fcae5fa2e1b3..95b6371e1fe7 100644
+--- a/drivers/acpi/sysfs.c
 b/drivers/acpi/sysfs.c
+@@ -492,23 +492,22 @@ static void acpi_global_event_handler(u32 event_type, 
acpi_handle device,
+ static int get_status(u32 index, acpi_event_status *status,
+ acpi_handle *handle)
+ {
+-  int result = 0;
++  int result;
+ 
+   if (index >= num_gpes + ACPI_NUM_FIXED_EVENTS)
+-  goto end;
++  return -EINVAL;
+ 
+   if (index < num_gpes) {
+   result = acpi_get_gpe_device(index, handle);
+   if (result) {
+   ACPI_EXCEPTION((AE_INFO, AE_NOT_FOUND,
+   "Invalid GPE 0x%x", index));
+-  goto end;
++  return result;
+   }
+   result = acpi_get_gpe_status(*handle, index, status);
+   } else if (index < (num_gpes + ACPI_NUM_FIXED_EVENTS))
+   result = acpi_get_event_status(index - num_gpes, status);
+ 
+-end:
+   return result;
+ }
+ 
+diff --git a/drivers/crypto/nx/nx.c b/drivers/crypto/nx/nx.c
+index bbdab6e5ccf0..fe689643a5ad 100644
+--- a/drivers/crypto/nx/nx.c
 b/drivers/crypto/nx/nx.c
+@@ -309,7 +309,7 @@ static void nx_of_update_msc(struct device   *dev,
+((bytes_so_far + sizeof(struct msc_triplet)) <= lenp) &&
+i < msc->triplets;
+i++) {
+-  if (msc->fc > NX_MAX_FC || msc->mode > NX_MAX_MODE) {
++  if (msc->fc >= NX_MAX_FC || msc->mode >= NX_MAX_MODE) {
+   dev_err(dev, "unknown function code/mode "
+   "combo: %d/%d (ignored)\n", msc->fc,
+   msc->mode);
+diff --git a/drivers/net/xen-netback/common.h 
b/drivers/net/xen-netback/common.h
+index f2faa779e3fe..dd6b7c362813 100644
+--- a/drivers/net/xen-netback/common.h
 b/drivers/net/xen-netback/common.h
+@@ -66,6 +66,8 @@ struct xenvif {
+   /* The shared rings and indexes. */
+   struct xen_netif_tx_back_ring tx;
+   struct xen_netif_rx_back_ring rx;
++  atomic_t ring_refcnt;
++  wait_queue_head_t waiting_to_unmap;
+ 
+   /* Frontend featu

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

2016-03-19 Thread Mike Pagano
commit: deeb81d32b2d6b7408271c5d0483307f20262d08
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed Mar 16 19:40:25 2016 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed Mar 16 19:40:25 2016 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=deeb81d3

Linux patch 3.10.101

 _README   |4 +
 1100_linux-3.10.101.patch | 1493 +
 2 files changed, 1497 insertions(+)

diff --git a/_README b/_README
index bdc1498..92f6908 100644
--- a/_README
+++ b/_README
@@ -442,6 +442,10 @@ Patch:  1099_linux-3.10.100.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.100
 
+Patch:  1100_linux-3.10.101.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.101
+
 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/1100_linux-3.10.101.patch b/1100_linux-3.10.101.patch
new file mode 100644
index 000..d9647df
--- /dev/null
+++ b/1100_linux-3.10.101.patch
@@ -0,0 +1,1493 @@
+diff --git a/Documentation/filesystems/efivarfs.txt 
b/Documentation/filesystems/efivarfs.txt
+index c477af086e65..686a64bba775 100644
+--- a/Documentation/filesystems/efivarfs.txt
 b/Documentation/filesystems/efivarfs.txt
+@@ -14,3 +14,10 @@ filesystem.
+ efivarfs is typically mounted like this,
+ 
+   mount -t efivarfs none /sys/firmware/efi/efivars
++
++Due to the presence of numerous firmware bugs where removing non-standard
++UEFI variables causes the system firmware to fail to POST, efivarfs
++files that are not well-known standardized variables are created
++as immutable files.  This doesn't prevent removal - "chattr -i" will work -
++but it does prevent this kind of failure from being accomplished
++accidentally.
+diff --git a/Makefile b/Makefile
+index 40d4d3bf52c3..4be9e643cef0 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 100
++SUBLEVEL = 101
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c
+index 6ee59a0eb268..48b4cf6b2a24 100644
+--- a/arch/powerpc/kernel/module_64.c
 b/arch/powerpc/kernel/module_64.c
+@@ -192,7 +192,7 @@ static void dedotify(Elf64_Sym *syms, unsigned int 
numsyms, char *strtab)
+   if (syms[i].st_shndx == SHN_UNDEF) {
+   char *name = strtab + syms[i].st_name;
+   if (name[0] == '.')
+-  memmove(name, name+1, strlen(name));
++  syms[i].st_name++;
+   }
+   }
+ }
+diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
+index 04cc2fa7744f..335fe70967a8 100644
+--- a/arch/x86/kvm/vmx.c
 b/arch/x86/kvm/vmx.c
+@@ -1487,6 +1487,13 @@ static void add_atomic_switch_msr(struct vcpu_vmx *vmx, 
unsigned msr,
+   return;
+   }
+   break;
++  case MSR_IA32_PEBS_ENABLE:
++  /* PEBS needs a quiescent period after being disabled (to write
++   * a record).  Disabling PEBS through VMX MSR swapping doesn't
++   * provide that period, so a CPU could write host's record into
++   * guest's memory.
++   */
++  wrmsrl(MSR_IA32_PEBS_ENABLE, 0);
+   }
+ 
+   for (i = 0; i < m->nr; ++i)
+diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
+index 41ba726c1ce2..7f2b6dec4b2b 100644
+--- a/arch/x86/kvm/x86.c
 b/arch/x86/kvm/x86.c
+@@ -1941,6 +1941,8 @@ static void accumulate_steal_time(struct kvm_vcpu *vcpu)
+ 
+ static void record_steal_time(struct kvm_vcpu *vcpu)
+ {
++  accumulate_steal_time(vcpu);
++
+   if (!(vcpu->arch.st.msr_val & KVM_MSR_ENABLED))
+   return;
+ 
+@@ -2074,12 +2076,6 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct 
msr_data *msr_info)
+   if (!(data & KVM_MSR_ENABLED))
+   break;
+ 
+-  vcpu->arch.st.last_steal = current->sched_info.run_delay;
+-
+-  preempt_disable();
+-  accumulate_steal_time(vcpu);
+-  preempt_enable();
+-
+   kvm_make_request(KVM_REQ_STEAL_UPDATE, vcpu);
+ 
+   break;
+@@ -2758,7 +2754,6 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
+   vcpu->cpu = cpu;
+   }
+ 
+-  accumulate_steal_time(vcpu);
+   kvm_make_request(KVM_REQ_STEAL_UPDATE, vcpu);
+ }
+ 
+diff --git a/crypto/af_alg.c b/crypto/af_alg.c
+index 0ca108f3c840..1aaa555fab56 100644
+--- a/crypto/af_alg.c
 b/crypto/af_alg.c
+@@ -125,23 +125,6 @@ int af_alg_release(struct socket *sock)
+ }
+ EXPORT_SYMBOL_GPL(af_alg_release);
+ 
+-void af_alg_release_parent(struct sock *sk)
+-{
+-  struct alg_sock *ask = alg_sk(sk);
+-  bool last;
+-
+-  sk = ask->parent;
+-  ask = alg_sk(sk);
+-
+-  lock_sock(sk);
+-  last = !--ask->refcnt;
+-  

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

2016-03-09 Thread Mike Pagano
commit: 91c4c3bf6705fa7a7c134cdc3ee029025e41b7db
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Mar 10 00:47:52 2016 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Mar 10 00:47:52 2016 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=91c4c3bf

Linux patch 3.10.100

 _README   |4 +
 1099_linux-3.10.100.patch | 1156 +
 2 files changed, 1160 insertions(+)

diff --git a/_README b/_README
index 44fb3ac..bdc1498 100644
--- a/_README
+++ b/_README
@@ -438,6 +438,10 @@ Patch:  1098_linux-3.10.99.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.99
 
+Patch:  1099_linux-3.10.100.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.100
+
 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/1099_linux-3.10.100.patch b/1099_linux-3.10.100.patch
new file mode 100644
index 000..da39546
--- /dev/null
+++ b/1099_linux-3.10.100.patch
@@ -0,0 +1,1156 @@
+diff --git a/Makefile b/Makefile
+index f1e6491fd7d8..40d4d3bf52c3 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 99
++SUBLEVEL = 100
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S
+index c9305ef1d411..e73982b93537 100644
+--- a/arch/x86/ia32/ia32entry.S
 b/arch/x86/ia32/ia32entry.S
+@@ -422,6 +422,7 @@ ENTRY(ia32_syscall)
+   /*CFI_REL_OFFSETcs,CS-RIP*/
+   CFI_REL_OFFSET  rip,RIP-RIP
+   PARAVIRT_ADJUST_EXCEPTION_FRAME
++  ASM_CLAC/* Do this early to minimize exposure */
+   SWAPGS
+   /*
+* No need to follow this irqs on/off section: the syscall
+diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
+index ec94e11807dc..ca0805633f26 100644
+--- a/arch/x86/kernel/acpi/sleep.c
 b/arch/x86/kernel/acpi/sleep.c
+@@ -16,6 +16,7 @@
+ #include 
+ #include 
+ 
++#include 
+ #include "../../realmode/rm/wakeup.h"
+ #include "sleep.h"
+ 
+@@ -96,7 +97,13 @@ int acpi_suspend_lowlevel(void)
+saved_magic = 0x123456789abcdef0L;
+ #endif /* CONFIG_64BIT */
+ 
++  /*
++   * Pause/unpause graph tracing around do_suspend_lowlevel as it has
++   * inconsistent call/return info after it jumps to the wakeup vector.
++   */
++  pause_graph_tracing();
+   do_suspend_lowlevel();
++  unpause_graph_tracing();
+   return 0;
+ }
+ 
+diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
+index 04e7db668362..f3f0801a0e81 100644
+--- a/drivers/ata/libata-scsi.c
 b/drivers/ata/libata-scsi.c
+@@ -673,19 +673,18 @@ static int ata_ioc32(struct ata_port *ap)
+ int ata_sas_scsi_ioctl(struct ata_port *ap, struct scsi_device *scsidev,
+int cmd, void __user *arg)
+ {
+-  int val = -EINVAL, rc = -EINVAL;
++  unsigned long val;
++  int rc = -EINVAL;
+   unsigned long flags;
+ 
+   switch (cmd) {
+-  case ATA_IOC_GET_IO32:
++  case HDIO_GET_32BIT:
+   spin_lock_irqsave(ap->lock, flags);
+   val = ata_ioc32(ap);
+   spin_unlock_irqrestore(ap->lock, flags);
+-  if (copy_to_user(arg, &val, 1))
+-  return -EFAULT;
+-  return 0;
++  return put_user(val, (unsigned long __user *)arg);
+ 
+-  case ATA_IOC_SET_IO32:
++  case HDIO_SET_32BIT:
+   val = (unsigned long) arg;
+   rc = 0;
+   spin_lock_irqsave(ap->lock, flags);
+diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c
+index 88cd940ece63..453c816b4537 100644
+--- a/drivers/edac/edac_mc_sysfs.c
 b/drivers/edac/edac_mc_sysfs.c
+@@ -973,21 +973,26 @@ nomem:
+  */
+ int edac_create_sysfs_mci_device(struct mem_ctl_info *mci)
+ {
++  char *name;
+   int i, err;
+ 
+   /*
+* The memory controller needs its own bus, in order to avoid
+* namespace conflicts at /sys/bus/edac.
+*/
+-  mci->bus->name = kasprintf(GFP_KERNEL, "mc%d", mci->mc_idx);
+-  if (!mci->bus->name)
++  name = kasprintf(GFP_KERNEL, "mc%d", mci->mc_idx);
++  if (!name)
+   return -ENOMEM;
+ 
++  mci->bus->name = name;
++
+   edac_dbg(0, "creating bus %s\n", mci->bus->name);
+ 
+   err = bus_register(mci->bus);
+-  if (err < 0)
++  if (err < 0) {
++  kfree(name);
+   return err;
++  }
+ 
+   /* get the /sys/devices/system/edac subsys reference */
+   mci->dev.type = &mci_attr_type;
+@@ -1071,7 +1076,8 @@ fail:
+ fail2:
+   device_unregister(&mci->dev);
+   bus_unregister(mci->bus);
+-  kfree(mci->bus->name);
++  kfree(name);
++
+   return err;
+ }
+ 
+@@ -1102,10 +1108,12 @@ void edac_remove_sysfs_mci_device(struct mem_ctl_info 
*mci)
+ 
+ void edac_unreg

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

2016-03-03 Thread Mike Pagano
commit: 7873784e8132df42248ac3796965e243062b8a6d
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Mar  4 00:09:54 2016 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Mar  4 00:09:54 2016 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=7873784e

Linux patch 3.10.99

 _README  |4 +
 1098_linux-3.10.99.patch | 2573 ++
 2 files changed, 2577 insertions(+)

diff --git a/_README b/_README
index 180e0a0..44fb3ac 100644
--- a/_README
+++ b/_README
@@ -434,6 +434,10 @@ Patch:  1097_linux-3.10.98.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.98
 
+Patch:  1098_linux-3.10.99.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.99
+
 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/1098_linux-3.10.99.patch b/1098_linux-3.10.99.patch
new file mode 100644
index 000..e405e5a
--- /dev/null
+++ b/1098_linux-3.10.99.patch
@@ -0,0 +1,2573 @@
+diff --git a/Makefile b/Makefile
+index dadd1edc6f84..f1e6491fd7d8 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 98
++SUBLEVEL = 99
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c
+index a8d02223da44..14558a9fa3b3 100644
+--- a/arch/arc/kernel/unwind.c
 b/arch/arc/kernel/unwind.c
+@@ -984,42 +984,13 @@ int arc_unwind(struct unwind_frame_info *frame)
+   (const u8 *)(fde +
+1) +
+   *fde, ptrType);
+-  if (pc >= endLoc)
++  if (pc >= endLoc) {
+   fde = NULL;
+-  } else
+-  fde = NULL;
+-  }
+-  if (fde == NULL) {
+-  for (fde = table->address, tableSize = table->size;
+-   cie = NULL, tableSize > sizeof(*fde)
+-   && tableSize - sizeof(*fde) >= *fde;
+-   tableSize -= sizeof(*fde) + *fde,
+-   fde += 1 + *fde / sizeof(*fde)) {
+-  cie = cie_for_fde(fde, table);
+-  if (cie == &bad_cie) {
+   cie = NULL;
+-  break;
+   }
+-  if (cie == NULL
+-  || cie == ¬_fde
+-  || (ptrType = fde_pointer_type(cie)) < 0)
+-  continue;
+-  ptr = (const u8 *)(fde + 2);
+-  startLoc = read_pointer(&ptr,
+-  (const u8 *)(fde + 1) +
+-  *fde, ptrType);
+-  if (!startLoc)
+-  continue;
+-  if (!(ptrType & DW_EH_PE_indirect))
+-  ptrType &=
+-  DW_EH_PE_FORM | DW_EH_PE_signed;
+-  endLoc =
+-  startLoc + read_pointer(&ptr,
+-  (const u8 *)(fde +
+-   1) +
+-  *fde, ptrType);
+-  if (pc >= startLoc && pc < endLoc)
+-  break;
++  } else {
++  fde = NULL;
++  cie = NULL;
+   }
+   }
+   }
+diff --git a/arch/mips/kvm/kvm_locore.S b/arch/mips/kvm/kvm_locore.S
+index 920b63210806..34c35f0e3290 100644
+--- a/arch/mips/kvm/kvm_locore.S
 b/arch/mips/kvm/kvm_locore.S
+@@ -156,9 +156,11 @@ FEXPORT(__kvm_mips_vcpu_run)
+ 
+ FEXPORT(__kvm_mips_load_asid)
+ /* Set the ASID for the Guest Kernel */
+-sll t0, t0, 1   /* with kseg0 @ 0x4000, 
kernel */
+-/* addresses shift to 
0x8000 */
+-bltzt0, 1f  /* If kernel */
++PTR_L t0, VCPU_COP0(k1)
++LONG_Lt0, COP0_STATUS(t0)
++andi  t0, KSU_USER | ST0_ERL | ST0_EXL
++xori  t0, KSU_USER
++bnez  t0, 1f  /* If kernel */
+   addiu   t1, k1, VCPU_GUEST_KERNEL_ASID  /* (BD)  */
+ addiu   t1, k1, VCPU_GUEST_USER_ASID/* else user */
+ 1:
+@@ -442,9 +444,11

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

2016-02-25 Thread Mike Pagano
commit: 7cadd67192ac4963f002a414373dce7cd7eea829
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Feb 25 20:31:00 2016 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Feb 25 20:31:00 2016 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=7cadd671

Linux patch 3.10.98

 _README  |4 +
 1097_linux-3.10.98.patch | 1792 ++
 2 files changed, 1796 insertions(+)

diff --git a/_README b/_README
index f3215a3..180e0a0 100644
--- a/_README
+++ b/_README
@@ -430,6 +430,10 @@ Patch:  1096_linux-3.10.97.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.97
 
+Patch:  1097_linux-3.10.98.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.98
+
 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/1097_linux-3.10.98.patch b/1097_linux-3.10.98.patch
new file mode 100644
index 000..332f8fe
--- /dev/null
+++ b/1097_linux-3.10.98.patch
@@ -0,0 +1,1792 @@
+diff --git a/Makefile b/Makefile
+index f26470169c70..dadd1edc6f84 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 97
++SUBLEVEL = 98
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/common/icst.c b/arch/arm/common/icst.c
+index 2dc6da70ae59..d7ed252708c5 100644
+--- a/arch/arm/common/icst.c
 b/arch/arm/common/icst.c
+@@ -16,7 +16,7 @@
+  */
+ #include 
+ #include 
+-
++#include 
+ #include 
+ 
+ /*
+@@ -29,7 +29,11 @@ EXPORT_SYMBOL(icst525_s2div);
+ 
+ unsigned long icst_hz(const struct icst_params *p, struct icst_vco vco)
+ {
+-  return p->ref * 2 * (vco.v + 8) / ((vco.r + 2) * p->s2div[vco.s]);
++  u64 dividend = p->ref * 2 * (u64)(vco.v + 8);
++  u32 divisor = (vco.r + 2) * p->s2div[vco.s];
++
++  do_div(dividend, divisor);
++  return (unsigned long)dividend;
+ }
+ 
+ EXPORT_SYMBOL(icst_hz);
+@@ -58,6 +62,7 @@ icst_hz_to_vco(const struct icst_params *p, unsigned long 
freq)
+ 
+   if (f > p->vco_min && f <= p->vco_max)
+   break;
++  i++;
+   } while (i < 8);
+ 
+   if (i >= 8)
+diff --git a/arch/m32r/kernel/setup.c b/arch/m32r/kernel/setup.c
+index 0392112a5d70..a5ecef7188ba 100644
+--- a/arch/m32r/kernel/setup.c
 b/arch/m32r/kernel/setup.c
+@@ -81,7 +81,10 @@ static struct resource code_resource = {
+ };
+ 
+ unsigned long memory_start;
++EXPORT_SYMBOL(memory_start);
++
+ unsigned long memory_end;
++EXPORT_SYMBOL(memory_end);
+ 
+ void __init setup_arch(char **);
+ int get_cpuinfo(char *);
+diff --git a/arch/x86/include/asm/segment.h b/arch/x86/include/asm/segment.h
+index c48a95035a77..4dde707a6ff7 100644
+--- a/arch/x86/include/asm/segment.h
 b/arch/x86/include/asm/segment.h
+@@ -212,8 +212,19 @@
+ #define TLS_SIZE (GDT_ENTRY_TLS_ENTRIES * 8)
+ 
+ #ifdef __KERNEL__
++
++/*
++ * early_idt_handler_array is an array of entry points referenced in the
++ * early IDT.  For simplicity, it's a real array with one entry point
++ * every nine bytes.  That leaves room for an optional 'push $0' if the
++ * vector has no error code (two bytes), a 'push $vector_number' (two
++ * bytes), and a jump to the common entry code (up to five bytes).
++ */
++#define EARLY_IDT_HANDLER_SIZE 9
++
+ #ifndef __ASSEMBLY__
+-extern const char early_idt_handlers[NUM_EXCEPTION_VECTORS][2+2+5];
++
++extern const char 
early_idt_handler_array[NUM_EXCEPTION_VECTORS][EARLY_IDT_HANDLER_SIZE];
+ 
+ /*
+  * Load a segment. Fall back on loading the zero
+diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
+index 55b67614ed94..3b861b7661ee 100644
+--- a/arch/x86/kernel/head64.c
 b/arch/x86/kernel/head64.c
+@@ -162,7 +162,7 @@ void __init x86_64_start_kernel(char * real_mode_data)
+   clear_bss();
+ 
+   for (i = 0; i < NUM_EXCEPTION_VECTORS; i++)
+-  set_intr_gate(i, &early_idt_handlers[i]);
++  set_intr_gate(i, &early_idt_handler_array[i]);
+   load_idt((const struct desc_ptr *)&idt_descr);
+ 
+   copy_bootdata(__va(real_mode_data));
+diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
+index df63cae573e0..8060c8b95b3a 100644
+--- a/arch/x86/kernel/head_32.S
 b/arch/x86/kernel/head_32.S
+@@ -499,21 +499,22 @@ check_x87:
+ __INIT
+ setup_once:
+   /*
+-   * Set up a idt with 256 entries pointing to ignore_int,
+-   * interrupt gates. It doesn't actually load idt - that needs
+-   * to be done on each CPU. Interrupts are enabled elsewhere,
+-   * when we can be relatively sure everything is ok.
++   * Set up a idt with 256 interrupt gates that push zero if there
++   * is no error code and then jump to early_idt_handler_common.
++   * It doesn't actually load the idt - that needs to be done on
++   * each CPU. Interrupts are enabled elsewhere, when we can be
++   * relatively sure everything is o

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

2016-02-19 Thread Mike Pagano
commit: e624fc864e3b04b8f5e32b6a5bd3bb094a537039
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Feb 20 00:06:32 2016 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Feb 20 00:06:32 2016 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=e624fc86

Linux patch 3.10.97

 _README  |4 +
 1096_linux-3.10.97.patch | 2341 ++
 2 files changed, 2345 insertions(+)

diff --git a/_README b/_README
index 19931f8..f3215a3 100644
--- a/_README
+++ b/_README
@@ -426,6 +426,10 @@ Patch:  1095_linux-3.10.96.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.96
 
+Patch:  1096_linux-3.10.97.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.97
+
 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/1096_linux-3.10.97.patch b/1096_linux-3.10.97.patch
new file mode 100644
index 000..487d76e
--- /dev/null
+++ b/1096_linux-3.10.97.patch
@@ -0,0 +1,2341 @@
+diff --git a/Makefile b/Makefile
+index c88ea5d8d19c..f26470169c70 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 96
++SUBLEVEL = 97
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/parisc/include/uapi/asm/mman.h 
b/arch/parisc/include/uapi/asm/mman.h
+index 294d251ca7b2..2ae13ce592e8 100644
+--- a/arch/parisc/include/uapi/asm/mman.h
 b/arch/parisc/include/uapi/asm/mman.h
+@@ -46,16 +46,6 @@
+ #define MADV_DONTFORK 10  /* don't inherit across fork */
+ #define MADV_DOFORK   11  /* do inherit across fork */
+ 
+-/* The range 12-64 is reserved for page size specification. */
+-#define MADV_4K_PAGES   12  /* Use 4K pages  */
+-#define MADV_16K_PAGES  14  /* Use 16K pages */
+-#define MADV_64K_PAGES  16  /* Use 64K pages */
+-#define MADV_256K_PAGES 18  /* Use 256K pages */
+-#define MADV_1M_PAGES   20  /* Use 1 Megabyte pages */
+-#define MADV_4M_PAGES   22  /* Use 4 Megabyte pages */
+-#define MADV_16M_PAGES  24  /* Use 16 Megabyte pages */
+-#define MADV_64M_PAGES  26  /* Use 64 Megabyte pages */
+-
+ #define MADV_MERGEABLE   65   /* KSM may merge identical pages */
+ #define MADV_UNMERGEABLE 66   /* KSM may not merge identical pages */
+ 
+diff --git a/arch/parisc/include/uapi/asm/siginfo.h 
b/arch/parisc/include/uapi/asm/siginfo.h
+index d7034728f377..1c75565d984b 100644
+--- a/arch/parisc/include/uapi/asm/siginfo.h
 b/arch/parisc/include/uapi/asm/siginfo.h
+@@ -1,6 +1,10 @@
+ #ifndef _PARISC_SIGINFO_H
+ #define _PARISC_SIGINFO_H
+ 
++#if defined(__LP64__)
++#define __ARCH_SI_PREAMBLE_SIZE   (4 * sizeof(int))
++#endif
++
+ #include 
+ 
+ #undef NSIGTRAP
+diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
+index 940188d1942c..ae9aa83854c0 100644
+--- a/arch/parisc/kernel/signal.c
 b/arch/parisc/kernel/signal.c
+@@ -449,6 +449,55 @@ handle_signal(unsigned long sig, siginfo_t *info, struct 
k_sigaction *ka,
+   regs->gr[28]);
+ }
+ 
++/*
++ * Check how the syscall number gets loaded into %r20 within
++ * the delay branch in userspace and adjust as needed.
++ */
++
++static void check_syscallno_in_delay_branch(struct pt_regs *regs)
++{
++  u32 opcode, source_reg;
++  u32 __user *uaddr;
++  int err;
++
++  /* Usually we don't have to restore %r20 (the system call number)
++   * because it gets loaded in the delay slot of the branch external
++   * instruction via the ldi instruction.
++   * In some cases a register-to-register copy instruction might have
++   * been used instead, in which case we need to copy the syscall
++   * number into the source register before returning to userspace.
++   */
++
++  /* A syscall is just a branch, so all we have to do is fiddle the
++   * return pointer so that the ble instruction gets executed again.
++   */
++  regs->gr[31] -= 8; /* delayed branching */
++
++  /* Get assembler opcode of code in delay branch */
++  uaddr = (unsigned int *) ((regs->gr[31] & ~3) + 4);
++  err = get_user(opcode, uaddr);
++  if (err)
++  return;
++
++  /* Check if delay branch uses "ldi int,%r20" */
++  if ((opcode & 0x) == 0x3414)
++  return; /* everything ok, just return */
++
++  /* Check if delay branch uses "nop" */
++  if (opcode == INSN_NOP)
++  return;
++
++  /* Check if delay branch uses "copy %rX,%r20" */
++  if ((opcode & 0xffe0) == 0x08000254) {
++  source_reg = (opcode >> 16) & 31;
++  regs->gr[source_reg] = regs->gr[20];
++  return;
++  }
++
++  pr_warn("syscall restart: %s (pid %d): unexpected opcode 0x%08x\n",
++  current->comm, task_pid_nr(current), opcod

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

2016-01-31 Thread Mike Pagano
commit: b9305a6beafce412577420e88ff20213fd71c7f0
Author: Mike Pagano  gentoo  org>
AuthorDate: Sun Jan 31 23:15:32 2016 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sun Jan 31 23:15:32 2016 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=b9305a6b

Linux Patch 3.10.96

 _README  |4 +
 1095_linux-3.10.96.patch | 1497 ++
 2 files changed, 1501 insertions(+)

diff --git a/_README b/_README
index 0edba9c..19931f8 100644
--- a/_README
+++ b/_README
@@ -422,6 +422,10 @@ Patch:  1094_linux-3.10.95.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.95
 
+Patch:  1095_linux-3.10.96.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.96
+
 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/1095_linux-3.10.96.patch b/1095_linux-3.10.96.patch
new file mode 100644
index 000..6c35ece
--- /dev/null
+++ b/1095_linux-3.10.96.patch
@@ -0,0 +1,1497 @@
+diff --git a/Makefile b/Makefile
+index eb120001bc12..c88ea5d8d19c 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 95
++SUBLEVEL = 96
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c
+index 33a74fc45959..dfad98fda4f8 100644
+--- a/arch/arm64/kernel/ptrace.c
 b/arch/arm64/kernel/ptrace.c
+@@ -51,6 +51,12 @@
+  */
+ void ptrace_disable(struct task_struct *child)
+ {
++  /*
++   * This would be better off in core code, but PTRACE_DETACH has
++   * grown its fair share of arch-specific worts and changing it
++   * is likely to cause regressions on obscure architectures.
++   */
++  user_disable_single_step(child);
+ }
+ 
+ /*
+diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
+index ba7477efad5c..5b77586ef0af 100644
+--- a/arch/arm64/mm/mmu.c
 b/arch/arm64/mm/mmu.c
+@@ -348,6 +348,9 @@ void __init paging_init(void)
+ 
+   empty_zero_page = virt_to_page(zero_page);
+ 
++  /* Ensure the zero page is visible to the page table walker */
++  dsb();
++
+   /*
+* TTBR0 is only used for the identity mapping at this stage. Make it
+* point to zero page to avoid speculatively fetching new entries.
+diff --git a/arch/mn10300/Kconfig b/arch/mn10300/Kconfig
+index 428da175d073..31b91602f055 100644
+--- a/arch/mn10300/Kconfig
 b/arch/mn10300/Kconfig
+@@ -2,6 +2,7 @@ config MN10300
+   def_bool y
+   select HAVE_OPROFILE
+   select HAVE_GENERIC_HARDIRQS
++  select HAVE_UID16
+   select GENERIC_IRQ_SHOW
+   select ARCH_WANT_IPC_PARSE_VERSION
+   select HAVE_ARCH_TRACEHOOK
+@@ -37,9 +38,6 @@ config HIGHMEM
+ config NUMA
+   def_bool n
+ 
+-config UID16
+-  def_bool y
+-
+ config RWSEM_GENERIC_SPINLOCK
+   def_bool y
+ 
+diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
+index 1072bfd18c50..f4dd44a7118f 100644
+--- a/arch/openrisc/Kconfig
 b/arch/openrisc/Kconfig
+@@ -17,6 +17,7 @@ config OPENRISC
+   select GENERIC_IRQ_SHOW
+   select GENERIC_IOMAP
+   select GENERIC_CPU_DEVICES
++  select HAVE_UID16
+   select GENERIC_ATOMIC64
+   select GENERIC_CLOCKEVENTS
+   select GENERIC_STRNCPY_FROM_USER
+@@ -29,9 +30,6 @@ config MMU
+ config HAVE_DMA_ATTRS
+   def_bool y
+ 
+-config UID16
+-  def_bool y
+-
+ config RWSEM_GENERIC_SPINLOCK
+   def_bool y
+ 
+diff --git a/arch/powerpc/include/asm/cmpxchg.h 
b/arch/powerpc/include/asm/cmpxchg.h
+index e245aab7f191..95b515113186 100644
+--- a/arch/powerpc/include/asm/cmpxchg.h
 b/arch/powerpc/include/asm/cmpxchg.h
+@@ -18,12 +18,12 @@ __xchg_u32(volatile void *p, unsigned long val)
+   unsigned long prev;
+ 
+   __asm__ __volatile__(
+-  PPC_RELEASE_BARRIER
++  PPC_ATOMIC_ENTRY_BARRIER
+ "1:   lwarx   %0,0,%2 \n"
+   PPC405_ERR77(0,%2)
+ " stwcx.  %3,0,%2 \n\
+   bne-1b"
+-  PPC_ACQUIRE_BARRIER
++  PPC_ATOMIC_EXIT_BARRIER
+   : "=&r" (prev), "+m" (*(volatile unsigned int *)p)
+   : "r" (p), "r" (val)
+   : "cc", "memory");
+@@ -61,12 +61,12 @@ __xchg_u64(volatile void *p, unsigned long val)
+   unsigned long prev;
+ 
+   __asm__ __volatile__(
+-  PPC_RELEASE_BARRIER
++  PPC_ATOMIC_ENTRY_BARRIER
+ "1:   ldarx   %0,0,%2 \n"
+   PPC405_ERR77(0,%2)
+ " stdcx.  %3,0,%2 \n\
+   bne-1b"
+-  PPC_ACQUIRE_BARRIER
++  PPC_ATOMIC_EXIT_BARRIER
+   : "=&r" (prev), "+m" (*(volatile unsigned long *)p)
+   : "r" (p), "r" (val)
+   : "cc", "memory");
+@@ -152,14 +152,14 @@ __cmpxchg_u32(volatile unsigned int *p, unsigned long 
old, unsigned long new)
+   unsigned int prev;
+ 
+   __asm__ __volatile__ (
+-  PPC_RELEASE_BARRIER
++  PPC_ATOMIC_ENTRY_BARRIER
+ "1:   lwarx   %0,0,%2 # __cmpxchg_u32\n\
+   cmpw0,%0,%3\n\

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

2016-01-23 Thread Mike Pagano
commit: c7afc13edd79042c67384e6a4b919d2da3e302d8
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Jan 23 18:26:40 2016 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Jan 23 18:26:40 2016 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=c7afc13e

Linux 3.10.95. Includes patch for CVE-2016-0728

 _README  |4 +
 1094_linux-3.10.95.patch | 1222 ++
 2 files changed, 1226 insertions(+)

diff --git a/_README b/_README
index a9b48f6..0edba9c 100644
--- a/_README
+++ b/_README
@@ -418,6 +418,10 @@ Patch:  1093_linux-3.10.94.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.94
 
+Patch:  1094_linux-3.10.95.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.95
+
 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/1094_linux-3.10.95.patch b/1094_linux-3.10.95.patch
new file mode 100644
index 000..199647c
--- /dev/null
+++ b/1094_linux-3.10.95.patch
@@ -0,0 +1,1222 @@
+diff --git a/Makefile b/Makefile
+index f73ae0748cbc..eb120001bc12 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 94
++SUBLEVEL = 95
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c
+index 0f3e3047e29c..14ca13a0698b 100644
+--- a/drivers/firewire/ohci.c
 b/drivers/firewire/ohci.c
+@@ -3670,6 +3670,11 @@ static int pci_probe(struct pci_dev *dev,
+ 
+   reg_write(ohci, OHCI1394_IsoXmitIntMaskSet, ~0);
+   ohci->it_context_support = reg_read(ohci, OHCI1394_IsoXmitIntMaskSet);
++  /* JMicron JMB38x often shows 0 at first read, just ignore it */
++  if (!ohci->it_context_support) {
++  ohci_notice(ohci, "overriding IsoXmitIntMask\n");
++  ohci->it_context_support = 0xf;
++  }
+   reg_write(ohci, OHCI1394_IsoXmitIntMaskClear, ~0);
+   ohci->it_context_mask = ohci->it_context_support;
+   ohci->n_it = hweight32(ohci->it_context_mask);
+diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c 
b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
+index 11cdf1d43041..297c3e5ec3f3 100644
+--- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
 b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
+@@ -1016,13 +1016,12 @@ static int atl1c_setup_ring_resources(struct 
atl1c_adapter *adapter)
+   sizeof(struct atl1c_recv_ret_status) * rx_desc_count +
+   8 * 4;
+ 
+-  ring_header->desc = pci_alloc_consistent(pdev, ring_header->size,
+-  &ring_header->dma);
++  ring_header->desc = dma_zalloc_coherent(&pdev->dev, ring_header->size,
++  &ring_header->dma, GFP_KERNEL);
+   if (unlikely(!ring_header->desc)) {
+-  dev_err(&pdev->dev, "pci_alloc_consistend failed\n");
++  dev_err(&pdev->dev, "could not get memory for DMA buffer\n");
+   goto err_nomem;
+   }
+-  memset(ring_header->desc, 0, ring_header->size);
+   /* init TPD ring */
+ 
+   tpd_ring[0].dma = roundup(ring_header->dma, 8);
+diff --git a/drivers/net/ethernet/renesas/sh_eth.c 
b/drivers/net/ethernet/renesas/sh_eth.c
+index e29fe8dbd226..b93a0fb17236 100644
+--- a/drivers/net/ethernet/renesas/sh_eth.c
 b/drivers/net/ethernet/renesas/sh_eth.c
+@@ -1421,6 +1421,7 @@ static int sh_eth_rx(struct net_device *ndev, u32 
intr_status)
+   desc_status >>= 16;
+ #endif
+ 
++  skb = mdp->rx_skbuff[entry];
+   if (desc_status & (RD_RFS1 | RD_RFS2 | RD_RFS3 | RD_RFS4 |
+  RD_RFS5 | RD_RFS6 | RD_RFS10)) {
+   ndev->stats.rx_errors++;
+@@ -1436,12 +1437,11 @@ static int sh_eth_rx(struct net_device *ndev, u32 
intr_status)
+   ndev->stats.rx_missed_errors++;
+   if (desc_status & RD_RFS10)
+   ndev->stats.rx_over_errors++;
+-  } else {
++  } else  if (skb) {
+   if (!mdp->cd->hw_swap)
+   sh_eth_soft_swap(
+   phys_to_virt(ALIGN(rxdesc->addr, 4)),
+   pkt_len + 2);
+-  skb = mdp->rx_skbuff[entry];
+   mdp->rx_skbuff[entry] = NULL;
+   if (mdp->cd->rpadir)
+   skb_reserve(skb, NET_IP_ALIGN);
+diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
+index f8c90ea75108..7a1ff5797f12 100644
+--- a/drivers/net/phy/broadcom.c
 b/drivers/net/phy/broadcom.c
+@@ -848,7 +848,7 @@ static struct mdio_device_id __maybe_unused broadcom_tbl[] 
= {
+   { PHY_ID_BCM5421, 0xfff0 },
+   { PHY_ID_BCM5461, 0xfff0 },
+   { PHY_ID_BCM5464, 0x

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

2015-12-10 Thread Mike Pagano
commit: 4fe512fa7c50529ee296f5cfb98662ebd146ee7b
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Dec 10 13:49:26 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Dec 10 13:49:26 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=4fe512fa

Linux patch 3.10.94

 _README  |   4 +
 1093_linux-3.10.94.patch | 724 +++
 2 files changed, 728 insertions(+)

diff --git a/_README b/_README
index 5c1813e..a9b48f6 100644
--- a/_README
+++ b/_README
@@ -414,6 +414,10 @@ Patch:  1092_linux-3.10.93.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.93
 
+Patch:  1093_linux-3.10.94.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.94
+
 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/1093_linux-3.10.94.patch b/1093_linux-3.10.94.patch
new file mode 100644
index 000..cd9c4a9
--- /dev/null
+++ b/1093_linux-3.10.94.patch
@@ -0,0 +1,724 @@
+diff --git a/Makefile b/Makefile
+index 6944160a5631..f73ae0748cbc 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 93
++SUBLEVEL = 94
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
+index 8ca636cf8618..1a00c33a5b7e 100644
+--- a/arch/arm/mm/dma-mapping.c
 b/arch/arm/mm/dma-mapping.c
+@@ -1355,12 +1355,19 @@ static int arm_iommu_mmap_attrs(struct device *dev, 
struct vm_area_struct *vma,
+   unsigned long uaddr = vma->vm_start;
+   unsigned long usize = vma->vm_end - vma->vm_start;
+   struct page **pages = __iommu_get_pages(cpu_addr, attrs);
++  unsigned long nr_pages = PAGE_ALIGN(size) >> PAGE_SHIFT;
++  unsigned long off = vma->vm_pgoff;
+ 
+   vma->vm_page_prot = __get_dma_pgprot(attrs, vma->vm_page_prot);
+ 
+   if (!pages)
+   return -ENXIO;
+ 
++  if (off >= nr_pages || (usize >> PAGE_SHIFT) > nr_pages - off)
++  return -ENXIO;
++
++  pages += off;
++
+   do {
+   int ret = vm_insert_page(vma, uaddr, *pages++);
+   if (ret) {
+diff --git a/arch/arm/plat-orion/common.c b/arch/arm/plat-orion/common.c
+index c019b7aaf776..553e00a432ec 100644
+--- a/arch/arm/plat-orion/common.c
 b/arch/arm/plat-orion/common.c
+@@ -498,7 +498,7 @@ void __init orion_ge00_switch_init(struct 
dsa_platform_data *d, int irq)
+ 
+   d->netdev = &orion_ge00.dev;
+   for (i = 0; i < d->nr_chips; i++)
+-  d->chip[i].mii_bus = &orion_ge00_shared.dev;
++  d->chip[i].mii_bus = &orion_ge_mvmdio.dev;
+   orion_switch_device.dev.platform_data = d;
+ 
+   platform_device_register(&orion_switch_device);
+diff --git a/arch/arm64/include/asm/ptrace.h b/arch/arm64/include/asm/ptrace.h
+index 41a71ee4c3df..7257c364eb99 100644
+--- a/arch/arm64/include/asm/ptrace.h
 b/arch/arm64/include/asm/ptrace.h
+@@ -70,14 +70,14 @@
+ #define compat_sp regs[13]
+ #define compat_lr regs[14]
+ #define compat_sp_hyp regs[15]
+-#define compat_sp_irq regs[16]
+-#define compat_lr_irq regs[17]
+-#define compat_sp_svc regs[18]
+-#define compat_lr_svc regs[19]
+-#define compat_sp_abt regs[20]
+-#define compat_lr_abt regs[21]
+-#define compat_sp_und regs[22]
+-#define compat_lr_und regs[23]
++#define compat_lr_irq regs[16]
++#define compat_sp_irq regs[17]
++#define compat_lr_svc regs[18]
++#define compat_sp_svc regs[19]
++#define compat_lr_abt regs[20]
++#define compat_sp_abt regs[21]
++#define compat_lr_und regs[22]
++#define compat_sp_und regs[23]
+ #define compat_r8_fiq regs[24]
+ #define compat_r9_fiq regs[25]
+ #define compat_r10_fiqregs[26]
+diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
+index 564140155c36..81e0fe48b9b0 100644
+--- a/arch/x86/kernel/cpu/common.c
 b/arch/x86/kernel/cpu/common.c
+@@ -280,10 +280,9 @@ __setup("nosmap", setup_disable_smap);
+ 
+ static __always_inline void setup_smap(struct cpuinfo_x86 *c)
+ {
+-  unsigned long eflags;
++  unsigned long eflags = native_save_fl();
+ 
+   /* This should have been cleared long ago */
+-  raw_local_save_flags(eflags);
+   BUG_ON(eflags & X86_EFLAGS_AC);
+ 
+   if (cpu_has(c, X86_FEATURE_SMAP)) {
+diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
+index f2a9a2aa98f3..3280489905a8 100644
+--- a/arch/x86/kernel/head_64.S
 b/arch/x86/kernel/head_64.S
+@@ -65,6 +65,9 @@ startup_64:
+* tables and then reload them.
+*/
+ 
++  /* Sanitize CPU configuration */
++  call verify_cpu
++
+   /*
+* Compute the delta between the address I am compiled to run at and the
+* address I am actually running at.
+@@ -174,6 +177,9 @@ ENTRY(secondary_startup_64)
+* after the boot processor executes this code.
+*/
+ 
++  /* Sanitize CPU configurat

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

2015-11-09 Thread Mike Pagano
commit: aa767029701e4b0d75705a0bd80e9dc84793b81a
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Nov  9 23:38:53 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Nov  9 23:38:53 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=aa767029

Linux patch 3.10.93

 _README  |   4 +
 1092_linux-3.10.93.patch | 645 +++
 2 files changed, 649 insertions(+)

diff --git a/_README b/_README
index b2a3944..5c1813e 100644
--- a/_README
+++ b/_README
@@ -410,6 +410,10 @@ Patch:  1091_linux-3.10.92.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.92
 
+Patch:  1092_linux-3.10.93.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.93
+
 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/1092_linux-3.10.93.patch b/1092_linux-3.10.93.patch
new file mode 100644
index 000..b4317e6
--- /dev/null
+++ b/1092_linux-3.10.93.patch
@@ -0,0 +1,645 @@
+diff --git a/Makefile b/Makefile
+index 25701b67bb6d..6944160a5631 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 92
++SUBLEVEL = 93
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm64/kernel/stacktrace.c b/arch/arm64/kernel/stacktrace.c
+index 048334bb2651..d25459ff57fc 100644
+--- a/arch/arm64/kernel/stacktrace.c
 b/arch/arm64/kernel/stacktrace.c
+@@ -48,11 +48,7 @@ int unwind_frame(struct stackframe *frame)
+ 
+   frame->sp = fp + 0x10;
+   frame->fp = *(unsigned long *)(fp);
+-  /*
+-   * -4 here because we care about the PC at time of bl,
+-   * not where the return will go.
+-   */
+-  frame->pc = *(unsigned long *)(fp + 8) - 4;
++  frame->pc = *(unsigned long *)(fp + 8);
+ 
+   return 0;
+ }
+diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
+index f956a2f84a15..8d3722af6187 100644
+--- a/arch/powerpc/kernel/rtas.c
 b/arch/powerpc/kernel/rtas.c
+@@ -1041,6 +1041,9 @@ asmlinkage int ppc_rtas(struct rtas_args __user *uargs)
+   if (!capable(CAP_SYS_ADMIN))
+   return -EPERM;
+ 
++  if (!rtas.entry)
++  return -EINVAL;
++
+   if (copy_from_user(&args, uargs, 3 * sizeof(u32)) != 0)
+   return -EFAULT;
+ 
+diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
+index 511630db00a8..91cbe75a91d5 100644
+--- a/arch/x86/xen/enlighten.c
 b/arch/x86/xen/enlighten.c
+@@ -33,7 +33,7 @@
+ #include 
+ #include 
+ 
+-#ifdef CONFIG_KEXEC_CORE
++#ifdef CONFIG_KEXEC
+ #include 
+ #endif
+ 
+@@ -1748,7 +1748,7 @@ static struct notifier_block xen_hvm_cpu_notifier 
__cpuinitdata = {
+   .notifier_call  = xen_hvm_cpu_notify,
+ };
+ 
+-#ifdef CONFIG_KEXEC_CORE
++#ifdef CONFIG_KEXEC
+ static void xen_hvm_shutdown(void)
+ {
+   native_machine_shutdown();
+@@ -1777,7 +1777,7 @@ static void __init xen_hvm_guest_init(void)
+   x86_init.irqs.intr_init = xen_init_IRQ;
+   xen_hvm_init_time_ops();
+   xen_hvm_init_mmu_ops();
+-#ifdef CONFIG_KEXEC_CORE
++#ifdef CONFIG_KEXEC
+   machine_ops.shutdown = xen_hvm_shutdown;
+   machine_ops.crash_shutdown = xen_hvm_crash_shutdown;
+ #endif
+diff --git a/crypto/ablkcipher.c b/crypto/ablkcipher.c
+index 7d4a8d28277e..ebcec7439a1a 100644
+--- a/crypto/ablkcipher.c
 b/crypto/ablkcipher.c
+@@ -700,7 +700,7 @@ struct crypto_ablkcipher *crypto_alloc_ablkcipher(const 
char *alg_name,
+ err:
+   if (err != -EAGAIN)
+   break;
+-  if (signal_pending(current)) {
++  if (fatal_signal_pending(current)) {
+   err = -EINTR;
+   break;
+   }
+diff --git a/crypto/algapi.c b/crypto/algapi.c
+index 00d8d939733b..daf2f653b131 100644
+--- a/crypto/algapi.c
 b/crypto/algapi.c
+@@ -325,7 +325,7 @@ static void crypto_wait_for_test(struct crypto_larval 
*larval)
+   crypto_alg_tested(larval->alg.cra_driver_name, 0);
+   }
+ 
+-  err = wait_for_completion_interruptible(&larval->completion);
++  err = wait_for_completion_killable(&larval->completion);
+   WARN_ON(err);
+ 
+ out:
+diff --git a/crypto/api.c b/crypto/api.c
+index 335abea14f19..36a0d4602eba 100644
+--- a/crypto/api.c
 b/crypto/api.c
+@@ -172,7 +172,7 @@ static struct crypto_alg *crypto_larval_wait(struct 
crypto_alg *alg)
+   struct crypto_larval *larval = (void *)alg;
+   long timeout;
+ 
+-  timeout = wait_for_completion_interruptible_timeout(
++  timeout = wait_for_completion_killable_timeout(
+   &larval->completion, 60 * HZ);
+ 
+   alg = larval->adult;
+@@ -435,7 +435,7 @@ struct crypto_tfm *crypto_alloc_base(const char *alg_name, 
u32 type, u32 mask)
+ err:
+   if (err != -EAGAIN)
+   break;
+-  if (signal_pending(current)) {
++   

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

2015-10-27 Thread Mike Pagano
commit: 81add174d3383b65dd28e1ce3ad998e75aed350f
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Oct 27 13:41:19 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Oct 27 13:41:19 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=81add174

Linux patch 3.10.92

 _README  |   4 +
 1091_linux-3.10.92.patch | 413 +++
 2 files changed, 417 insertions(+)

diff --git a/_README b/_README
index 15d5f51..b2a3944 100644
--- a/_README
+++ b/_README
@@ -406,6 +406,10 @@ Patch:  1090_linux-3.10.91.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.91
 
+Patch:  1091_linux-3.10.92.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.92
+
 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/1091_linux-3.10.92.patch b/1091_linux-3.10.92.patch
new file mode 100644
index 000..ac354e3
--- /dev/null
+++ b/1091_linux-3.10.92.patch
@@ -0,0 +1,413 @@
+diff --git a/Makefile b/Makefile
+index ba6a94cf354b..25701b67bb6d 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 91
++SUBLEVEL = 92
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/m68k/include/asm/uaccess_mm.h 
b/arch/m68k/include/asm/uaccess_mm.h
+index 472c891a4aee..15901db435b9 100644
+--- a/arch/m68k/include/asm/uaccess_mm.h
 b/arch/m68k/include/asm/uaccess_mm.h
+@@ -90,7 +90,7 @@ asm volatile ("\n"   \
+   __put_user_asm(__pu_err, __pu_val, ptr, b, d, -EFAULT); \
+   break;  \
+   case 2: \
+-  __put_user_asm(__pu_err, __pu_val, ptr, w, d, -EFAULT); \
++  __put_user_asm(__pu_err, __pu_val, ptr, w, r, -EFAULT); \
+   break;  \
+   case 4: \
+   __put_user_asm(__pu_err, __pu_val, ptr, l, r, -EFAULT); \
+@@ -158,7 +158,7 @@ asm volatile ("\n" \
+   __get_user_asm(__gu_err, x, ptr, u8, b, d, -EFAULT);\
+   break;  \
+   case 2: \
+-  __get_user_asm(__gu_err, x, ptr, u16, w, d, -EFAULT);   \
++  __get_user_asm(__gu_err, x, ptr, u16, w, r, -EFAULT);   \
+   break;  \
+   case 4: \
+   __get_user_asm(__gu_err, x, ptr, u32, l, r, -EFAULT);   \
+@@ -245,7 +245,7 @@ __constant_copy_from_user(void *to, const void __user 
*from, unsigned long n)
+   __get_user_asm(res, *(u8 *)to, (u8 __user *)from, u8, b, d, 1);
+   break;
+   case 2:
+-  __get_user_asm(res, *(u16 *)to, (u16 __user *)from, u16, w, d, 
2);
++  __get_user_asm(res, *(u16 *)to, (u16 __user *)from, u16, w, r, 
2);
+   break;
+   case 3:
+   __constant_copy_from_user_asm(res, to, from, tmp, 3, w, b,);
+@@ -326,7 +326,7 @@ __constant_copy_to_user(void __user *to, const void *from, 
unsigned long n)
+   __put_user_asm(res, *(u8 *)from, (u8 __user *)to, b, d, 1);
+   break;
+   case 2:
+-  __put_user_asm(res, *(u16 *)from, (u16 __user *)to, w, d, 2);
++  __put_user_asm(res, *(u16 *)from, (u16 __user *)to, w, r, 2);
+   break;
+   case 3:
+   __constant_copy_to_user_asm(res, to, from, tmp, 3, w, b,);
+diff --git a/arch/m68k/lib/uaccess.c b/arch/m68k/lib/uaccess.c
+index 5e97f2ee7c11..35d1442dee89 100644
+--- a/arch/m68k/lib/uaccess.c
 b/arch/m68k/lib/uaccess.c
+@@ -52,7 +52,7 @@ unsigned long __generic_copy_from_user(void *to, const void 
__user *from,
+   "   .long   3b,30b\n"
+   "   .long   5b,50b\n"
+   "   .previous"
+-  : "=d" (res), "+a" (from), "+a" (to), "=&r" (tmp)
++  : "=d" (res), "+a" (from), "+a" (to), "=&d" (tmp)
+   : "0" (n / 4), "d" (n & 3));
+ 
+   return res;
+@@ -96,7 +96,7 @@ unsigned long __generic_copy_to_user(void __user *to, const 
void *from,
+   "   .long   7b,50b\n"
+   "   .long   8b,50b\n"
+   "   .previous"
+-  : "=d" (res), "+a" (from), "+a" (to), "=&r" (tmp)
++  : "=d" (res), "+a" (from), "+a" (to), "=&d" (tmp)
+   : "0" (n / 4), "d" (n & 3));
+ 
+   return res;
+@@ -141,7 +141,7 @@ unsigned long __clear_user(void __user *to, unsigned long 
n)
+   "   .long   7b,40b\n"
+   "   .p

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

2015-10-23 Thread Mike Pagano
commit: e9d11b41faa5c31e2f5d49759dbc78d9ebd4f050
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Oct 23 22:49:49 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Oct 23 22:49:49 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=e9d11b41

Linux patch 3.10.91

 _README  |4 +
 1090_linux-3.10.91.patch | 1875 ++
 2 files changed, 1879 insertions(+)

diff --git a/_README b/_README
index 1a0d13e..15d5f51 100644
--- a/_README
+++ b/_README
@@ -402,6 +402,10 @@ Patch:  1089_linux-3.10.90.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.90
 
+Patch:  1090_linux-3.10.91.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.91
+
 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/1090_linux-3.10.91.patch b/1090_linux-3.10.91.patch
new file mode 100644
index 000..61c930c
--- /dev/null
+++ b/1090_linux-3.10.91.patch
@@ -0,0 +1,1875 @@
+diff --git a/Makefile b/Makefile
+index ce741a9f5b1c..ba6a94cf354b 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 90
++SUBLEVEL = 91
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/Makefile b/arch/arm/Makefile
+index 1ba358ba16b8..7d4ce431107b 100644
+--- a/arch/arm/Makefile
 b/arch/arm/Makefile
+@@ -55,6 +55,14 @@ endif
+ 
+ comma = ,
+ 
++#
++# The Scalar Replacement of Aggregates (SRA) optimization pass in GCC 4.9 and
++# later may result in code being generated that handles signed short and 
signed
++# char struct members incorrectly. So disable it.
++# (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65932)
++#
++KBUILD_CFLAGS += $(call cc-option,-fno-ipa-sra)
++
+ # This selects which instruction set is used.
+ # Note that GCC does not numerically define an architecture version
+ # macro, but instead defines a whole series of macros which makes
+diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
+index b5d458769b65..250319040de2 100644
+--- a/arch/arm64/mm/fault.c
 b/arch/arm64/mm/fault.c
+@@ -278,6 +278,7 @@ retry:
+* starvation.
+*/
+   mm_flags &= ~FAULT_FLAG_ALLOW_RETRY;
++  mm_flags |= FAULT_FLAG_TRIED;
+   goto retry;
+   }
+   }
+diff --git a/arch/m68k/include/asm/linkage.h b/arch/m68k/include/asm/linkage.h
+index 5a822bb790f7..066e74f666ae 100644
+--- a/arch/m68k/include/asm/linkage.h
 b/arch/m68k/include/asm/linkage.h
+@@ -4,4 +4,34 @@
+ #define __ALIGN .align 4
+ #define __ALIGN_STR ".align 4"
+ 
++/*
++ * Make sure the compiler doesn't do anything stupid with the
++ * arguments on the stack - they are owned by the *caller*, not
++ * the callee. This just fools gcc into not spilling into them,
++ * and keeps it from doing tailcall recursion and/or using the
++ * stack slots for temporaries, since they are live and "used"
++ * all the way to the end of the function.
++ */
++#define asmlinkage_protect(n, ret, args...) \
++  __asmlinkage_protect##n(ret, ##args)
++#define __asmlinkage_protect_n(ret, args...) \
++  __asm__ __volatile__ ("" : "=r" (ret) : "0" (ret), ##args)
++#define __asmlinkage_protect0(ret) \
++  __asmlinkage_protect_n(ret)
++#define __asmlinkage_protect1(ret, arg1) \
++  __asmlinkage_protect_n(ret, "m" (arg1))
++#define __asmlinkage_protect2(ret, arg1, arg2) \
++  __asmlinkage_protect_n(ret, "m" (arg1), "m" (arg2))
++#define __asmlinkage_protect3(ret, arg1, arg2, arg3) \
++  __asmlinkage_protect_n(ret, "m" (arg1), "m" (arg2), "m" (arg3))
++#define __asmlinkage_protect4(ret, arg1, arg2, arg3, arg4) \
++  __asmlinkage_protect_n(ret, "m" (arg1), "m" (arg2), "m" (arg3), \
++"m" (arg4))
++#define __asmlinkage_protect5(ret, arg1, arg2, arg3, arg4, arg5) \
++  __asmlinkage_protect_n(ret, "m" (arg1), "m" (arg2), "m" (arg3), \
++"m" (arg4), "m" (arg5))
++#define __asmlinkage_protect6(ret, arg1, arg2, arg3, arg4, arg5, arg6) \
++  __asmlinkage_protect_n(ret, "m" (arg1), "m" (arg2), "m" (arg3), \
++"m" (arg4), "m" (arg5), "m" (arg6))
++
+ #endif
+diff --git a/arch/mips/mm/dma-default.c b/arch/mips/mm/dma-default.c
+index 23129d1005db..5fa55b80b7b6 100644
+--- a/arch/mips/mm/dma-default.c
 b/arch/mips/mm/dma-default.c
+@@ -91,7 +91,7 @@ static gfp_t massage_gfp_flags(const struct device *dev, 
gfp_t gfp)
+   else
+ #endif
+ #if defined(CONFIG_ZONE_DMA) && !defined(CONFIG_ZONE_DMA32)
+-   if (dev->coherent_dma_mask < DMA_BIT_MASK(64))
++   if (dev->coherent_dma_mask < DMA_BIT_MASK(sizeof(phys_addr_t) * 8))
+   dma_flag = __GFP_DMA;
+   else
+ #endif
+diff --git a/arch/powerpc/platforms/powernv/pci.c 
b/arch/powerpc/platforms/powernv/pci.c
+inde

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

2015-10-01 Thread Mike Pagano
commit: ecbcbadac50cb64adb3f10a399e0a77d53228854
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Oct 13 02:04:58 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Oct 13 02:04:58 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=ecbcbada

Linux patch 3.10.90

 _README  |4 +
 1089_linux-3.10.90.patch | 2146 ++
 2 files changed, 2150 insertions(+)

diff --git a/_README b/_README
index 2d39ba5..1a0d13e 100644
--- a/_README
+++ b/_README
@@ -398,6 +398,10 @@ Patch:  1088_linux-3.10.89.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.89
 
+Patch:  1089_linux-3.10.90.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.90
+
 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/1089_linux-3.10.90.patch b/1089_linux-3.10.90.patch
new file mode 100644
index 000..d5611b8
--- /dev/null
+++ b/1089_linux-3.10.90.patch
@@ -0,0 +1,2146 @@
+diff --git a/Makefile b/Makefile
+index ca82393e1eea..ce741a9f5b1c 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 89
++SUBLEVEL = 90
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
+index 0677ff4814fa..661ccf87b9ad 100644
+--- a/arch/arm64/Kconfig
 b/arch/arm64/Kconfig
+@@ -56,6 +56,10 @@ config NO_IOPORT
+ config STACKTRACE_SUPPORT
+   def_bool y
+ 
++config ILLEGAL_POINTER_VALUE
++  hex
++  default 0xdead
++
+ config LOCKDEP_SUPPORT
+   def_bool y
+ 
+diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S
+index 53dcae49e729..f480e7d6e8b2 100644
+--- a/arch/arm64/kernel/head.S
 b/arch/arm64/kernel/head.S
+@@ -184,6 +184,11 @@ ENTRY(el2_setup)
+   msr hstr_el2, xzr   // Disable CP15 traps to EL2
+ #endif
+ 
++  /* EL2 debug */
++  mrs x0, pmcr_el0// Disable debug access traps
++  ubfxx0, x0, #11, #5 // to EL2 and allow access to
++  msr mdcr_el2, x0// all PMU counters from EL1
++
+   /* Stage-2 translation */
+   msr vttbr_el2, xzr
+ 
+diff --git a/arch/arm64/kernel/signal32.c b/arch/arm64/kernel/signal32.c
+index b9564b8d6bab..1e60acc6a4d7 100644
+--- a/arch/arm64/kernel/signal32.c
 b/arch/arm64/kernel/signal32.c
+@@ -231,14 +231,32 @@ int copy_siginfo_from_user32(siginfo_t *to, 
compat_siginfo_t __user *from)
+ 
+ /*
+  * VFP save/restore code.
++ *
++ * We have to be careful with endianness, since the fpsimd context-switch
++ * code operates on 128-bit (Q) register values whereas the compat ABI
++ * uses an array of 64-bit (D) registers. Consequently, we need to swap
++ * the two halves of each Q register when running on a big-endian CPU.
+  */
++union __fpsimd_vreg {
++  __uint128_t raw;
++  struct {
++#ifdef __AARCH64EB__
++  u64 hi;
++  u64 lo;
++#else
++  u64 lo;
++  u64 hi;
++#endif
++  };
++};
++
+ static int compat_preserve_vfp_context(struct compat_vfp_sigframe __user 
*frame)
+ {
+   struct fpsimd_state *fpsimd = ¤t->thread.fpsimd_state;
+   compat_ulong_t magic = VFP_MAGIC;
+   compat_ulong_t size = VFP_STORAGE_SIZE;
+   compat_ulong_t fpscr, fpexc;
+-  int err = 0;
++  int i, err = 0;
+ 
+   /*
+* Save the hardware registers to the fpsimd_state structure.
+@@ -254,10 +272,15 @@ static int compat_preserve_vfp_context(struct 
compat_vfp_sigframe __user *frame)
+   /*
+* Now copy the FP registers. Since the registers are packed,
+* we can copy the prefix we want (V0-V15) as it is.
+-   * FIXME: Won't work if big endian.
+*/
+-  err |= __copy_to_user(&frame->ufp.fpregs, fpsimd->vregs,
+-sizeof(frame->ufp.fpregs));
++  for (i = 0; i < ARRAY_SIZE(frame->ufp.fpregs); i += 2) {
++  union __fpsimd_vreg vreg = {
++  .raw = fpsimd->vregs[i >> 1],
++  };
++
++  __put_user_error(vreg.lo, &frame->ufp.fpregs[i], err);
++  __put_user_error(vreg.hi, &frame->ufp.fpregs[i + 1], err);
++  }
+ 
+   /* Create an AArch32 fpscr from the fpsr and the fpcr. */
+   fpscr = (fpsimd->fpsr & VFP_FPSCR_STAT_MASK) |
+@@ -282,7 +305,7 @@ static int compat_restore_vfp_context(struct 
compat_vfp_sigframe __user *frame)
+   compat_ulong_t magic = VFP_MAGIC;
+   compat_ulong_t size = VFP_STORAGE_SIZE;
+   compat_ulong_t fpscr;
+-  int err = 0;
++  int i, err = 0;
+ 
+   __get_user_error(magic, &frame->magic, err);
+   __get_user_error(size, &frame->size, err);
+@@ -292,12 +315,14 @@ static int compat_restore_vfp_context(struct 
compat_vfp_sigframe __user *frame)
+   if (magic != VFP_MAGIC ||

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

2015-09-21 Thread Mike Pagano
commit: 0b50229c6cfa46b016839ffc0fe426f6a06ce213
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Sep 21 17:23:36 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Sep 21 17:23:36 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=0b50229c

Linux patch 3.10.89

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

diff --git a/_README b/_README
index ad2e99c..2d39ba5 100644
--- a/_README
+++ b/_README
@@ -394,6 +394,10 @@ Patch:  1087_linux-3.10.88.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.88
 
+Patch:  1088_linux-3.10.89.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.89
+
 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/1088_linux-3.10.89.patch b/1088_linux-3.10.89.patch
new file mode 100644
index 000..cb2dc79
--- /dev/null
+++ b/1088_linux-3.10.89.patch
@@ -0,0 +1,661 @@
+diff --git a/Makefile b/Makefile
+index e94ce68ecf87..ca82393e1eea 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 88
++SUBLEVEL = 89
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/x86/crypto/ghash-clmulni-intel_glue.c 
b/arch/x86/crypto/ghash-clmulni-intel_glue.c
+index a8d6f69f92a3..4bcf841e4701 100644
+--- a/arch/x86/crypto/ghash-clmulni-intel_glue.c
 b/arch/x86/crypto/ghash-clmulni-intel_glue.c
+@@ -291,6 +291,7 @@ static struct ahash_alg ghash_async_alg = {
+   .cra_name   = "ghash",
+   .cra_driver_name= "ghash-clmulni",
+   .cra_priority   = 400,
++  .cra_ctxsize= sizeof(struct 
ghash_async_ctx),
+   .cra_flags  = CRYPTO_ALG_TYPE_AHASH | 
CRYPTO_ALG_ASYNC,
+   .cra_blocksize  = GHASH_BLOCK_SIZE,
+   .cra_type   = &crypto_ahash_type,
+diff --git a/arch/xtensa/Makefile b/arch/xtensa/Makefile
+index 136224b74d4f..81250ece3062 100644
+--- a/arch/xtensa/Makefile
 b/arch/xtensa/Makefile
+@@ -55,10 +55,10 @@ ifneq ($(CONFIG_LD_NO_RELAX),)
+ LDFLAGS := --no-relax
+ endif
+ 
+-ifeq ($(shell echo -e __XTENSA_EB__ | $(CC) -E - | grep -v "\#"),1)
++ifeq ($(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#"),1)
+ CHECKFLAGS += -D__XTENSA_EB__
+ endif
+-ifeq ($(shell echo -e __XTENSA_EL__ | $(CC) -E - | grep -v "\#"),1)
++ifeq ($(shell echo __XTENSA_EL__ | $(CC) -E - | grep -v "\#"),1)
+ CHECKFLAGS += -D__XTENSA_EL__
+ endif
+ 
+diff --git a/arch/xtensa/boot/Makefile b/arch/xtensa/boot/Makefile
+index 64ffc4b53df6..ca20a892021b 100644
+--- a/arch/xtensa/boot/Makefile
 b/arch/xtensa/boot/Makefile
+@@ -12,7 +12,7 @@
+ KBUILD_CFLAGS += -fno-builtin -Iarch/$(ARCH)/boot/include
+ HOSTFLAGS += -Iarch/$(ARCH)/boot/include
+ 
+-BIG_ENDIAN:= $(shell echo -e __XTENSA_EB__ | $(CC) -E - | grep -v "\#")
++BIG_ENDIAN:= $(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#")
+ 
+ export ccflags-y
+ export BIG_ENDIAN
+diff --git a/arch/xtensa/include/asm/traps.h b/arch/xtensa/include/asm/traps.h
+index f2faa58f9a43..03d02df47b9a 100644
+--- a/arch/xtensa/include/asm/traps.h
 b/arch/xtensa/include/asm/traps.h
+@@ -24,30 +24,39 @@ static inline void spill_registers(void)
+ {
+ #if XCHAL_NUM_AREGS > 16
+   __asm__ __volatile__ (
+-  "   call12  1f\n"
++  "   call8   1f\n"
+   "   _j  2f\n"
+   "   retw\n"
+   "   .align  4\n"
+   "1:\n"
++#if XCHAL_NUM_AREGS == 32
++  "   _entry  a1, 32\n"
++  "   addia8, a0, 3\n"
++  "   _entry  a1, 16\n"
++  "   mov a12, a12\n"
++  "   retw\n"
++#else
+   "   _entry  a1, 48\n"
+-  "   addia12, a0, 3\n"
+-#if XCHAL_NUM_AREGS > 32
+-  "   .rept   (" __stringify(XCHAL_NUM_AREGS) " - 32) / 12\n"
++  "   call12  1f\n"
++  "   retw\n"
++  "   .align  4\n"
++  "1:\n"
++  "   .rept   (" __stringify(XCHAL_NUM_AREGS) " - 16) / 12\n"
+   "   _entry  a1, 48\n"
+   "   mov a12, a0\n"
+   "   .endr\n"
+-#endif
+-  "   _entry  a1, 48\n"
++  "   _entry  a1, 16\n"
+ #if XCHAL_NUM_AREGS % 12 == 0
+-  "   mov a8, a8\n"
+-#elif XCHAL_NUM_AREGS % 12 == 4
+   "   mov a12, a12\n"
+-#elif XCHAL_NUM_AREGS % 12 == 8
++#elif XCHAL_NUM_AREGS % 12 == 4
+   "   mov a4, a4\n"
++#elif XCHAL_NUM_AREGS % 12 == 8
++  "   mov a8, a8\n"
+ #endif
+   "   retw\n"
++#en

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

2015-09-14 Thread Mike Pagano
commit: f7ce3a80f59d837e3f2a129d78e019f54ee42faa
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Sep 14 15:47:46 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Sep 14 15:47:46 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=f7ce3a80

Linux patch 3.10.88

 _README  |   4 +
 1087_linux-3.10.88.patch | 285 +++
 2 files changed, 289 insertions(+)

diff --git a/_README b/_README
index f2882cc..ad2e99c 100644
--- a/_README
+++ b/_README
@@ -390,6 +390,10 @@ Patch:  1086_linux-3.10.87.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.87
 
+Patch:  1087_linux-3.10.88.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.88
+
 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/1087_linux-3.10.88.patch b/1087_linux-3.10.88.patch
new file mode 100644
index 000..b6de808
--- /dev/null
+++ b/1087_linux-3.10.88.patch
@@ -0,0 +1,285 @@
+diff --git a/Makefile b/Makefile
+index 0d4fd6427349..e94ce68ecf87 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 87
++SUBLEVEL = 88
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm64/mm/mmap.c b/arch/arm64/mm/mmap.c
+index 7c7be7855638..8aaf073ee078 100644
+--- a/arch/arm64/mm/mmap.c
 b/arch/arm64/mm/mmap.c
+@@ -47,22 +47,14 @@ static int mmap_is_legacy(void)
+   return sysctl_legacy_va_layout;
+ }
+ 
+-/*
+- * Since get_random_int() returns the same value within a 1 jiffy window, we
+- * will almost always get the same randomisation for the stack and mmap
+- * region. This will mean the relative distance between stack and mmap will be
+- * the same.
+- *
+- * To avoid this we can shift the randomness by 1 bit.
+- */
+ static unsigned long mmap_rnd(void)
+ {
+   unsigned long rnd = 0;
+ 
+   if (current->flags & PF_RANDOMIZE)
+-  rnd = (long)get_random_int() & (STACK_RND_MASK >> 1);
++  rnd = (long)get_random_int() & STACK_RND_MASK;
+ 
+-  return rnd << (PAGE_SHIFT + 1);
++  return rnd << PAGE_SHIFT;
+ }
+ 
+ static unsigned long mmap_base(void)
+diff --git a/drivers/crypto/caam/caamhash.c b/drivers/crypto/caam/caamhash.c
+index 84573b4d6f92..dda43cc4b6cd 100644
+--- a/drivers/crypto/caam/caamhash.c
 b/drivers/crypto/caam/caamhash.c
+@@ -895,13 +895,14 @@ static int ahash_final_ctx(struct ahash_request *req)
+ state->buflen_1;
+   u32 *sh_desc = ctx->sh_desc_fin, *desc;
+   dma_addr_t ptr = ctx->sh_desc_fin_dma;
+-  int sec4_sg_bytes;
++  int sec4_sg_bytes, sec4_sg_src_index;
+   int digestsize = crypto_ahash_digestsize(ahash);
+   struct ahash_edesc *edesc;
+   int ret = 0;
+   int sh_len;
+ 
+-  sec4_sg_bytes = (1 + (buflen ? 1 : 0)) * sizeof(struct sec4_sg_entry);
++  sec4_sg_src_index = 1 + (buflen ? 1 : 0);
++  sec4_sg_bytes = sec4_sg_src_index * sizeof(struct sec4_sg_entry);
+ 
+   /* allocate space for base edesc and hw desc commands, link tables */
+   edesc = kmalloc(sizeof(struct ahash_edesc) + DESC_JOB_IO_LEN +
+@@ -928,7 +929,7 @@ static int ahash_final_ctx(struct ahash_request *req)
+   state->buf_dma = try_buf_map_to_sec4_sg(jrdev, edesc->sec4_sg + 1,
+   buf, state->buf_dma, buflen,
+   last_buflen);
+-  (edesc->sec4_sg + sec4_sg_bytes - 1)->len |= SEC4_SG_LEN_FIN;
++  (edesc->sec4_sg + sec4_sg_src_index - 1)->len |= SEC4_SG_LEN_FIN;
+ 
+   append_seq_in_ptr(desc, edesc->sec4_sg_dma, ctx->ctx_len + buflen,
+ LDST_SGF);
+diff --git a/drivers/edac/ppc4xx_edac.c b/drivers/edac/ppc4xx_edac.c
+index ef6b7e08f485..5c361f3c66aa 100644
+--- a/drivers/edac/ppc4xx_edac.c
 b/drivers/edac/ppc4xx_edac.c
+@@ -921,7 +921,7 @@ static int ppc4xx_edac_init_csrows(struct mem_ctl_info 
*mci, u32 mcopt1)
+*/
+ 
+   for (row = 0; row < mci->nr_csrows; row++) {
+-  struct csrow_info *csi = &mci->csrows[row];
++  struct csrow_info *csi = mci->csrows[row];
+ 
+   /*
+* Get the configuration settings for this
+diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c
+index 3b1503dc1f13..43f6250baadd 100644
+--- a/drivers/md/dm-thin-metadata.c
 b/drivers/md/dm-thin-metadata.c
+@@ -1281,8 +1281,8 @@ static int __release_metadata_snap(struct 
dm_pool_metadata *pmd)
+   return r;
+ 
+   disk_super = dm_block_data(copy);
+-  dm_sm_dec_block(pmd->metadata_sm, 
le64_to_cpu(disk_super->data_mapping_root));
+-  dm_sm_dec_block(pmd->metadata_sm, 
le64_to_cpu(disk_super->device_details_root));
++  dm_btree_del(&pmd->info, le64_to_cpu(disk_super->data_mapping_root));
++  dm_btree_del(&pmd->details_info, 
le64_to

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

2015-08-17 Thread Mike Pagano
commit: 88995e4f17dee7d97d16d8029ddf0bc0c0a6de68
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Aug 17 21:55:35 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Aug 17 21:55:35 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=88995e4f

Linux patch 3.10.87

 _README  |4 +
 1086_linux-3.10.87.patch | 1317 ++
 2 files changed, 1321 insertions(+)

diff --git a/_README b/_README
index e519e9a..f2882cc 100644
--- a/_README
+++ b/_README
@@ -386,6 +386,10 @@ Patch:  1085_linux-3.10.86.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.86
 
+Patch:  1086_linux-3.10.87.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.87
+
 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/1086_linux-3.10.87.patch b/1086_linux-3.10.87.patch
new file mode 100644
index 000..c17a77d
--- /dev/null
+++ b/1086_linux-3.10.87.patch
@@ -0,0 +1,1317 @@
+diff --git a/Makefile b/Makefile
+index 25ee724c9089..0d4fd6427349 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 86
++SUBLEVEL = 87
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
+index 32640ae7750f..03a1e26ba3a3 100644
+--- a/arch/arm/kernel/entry-armv.S
 b/arch/arm/kernel/entry-armv.S
+@@ -358,7 +358,8 @@ ENDPROC(__pabt_svc)
+   .endm
+ 
+   .macro  kuser_cmpxchg_check
+-#if !defined(CONFIG_CPU_32v6K) && !defined(CONFIG_NEEDS_SYSCALL_FOR_CMPXCHG)
++#if !defined(CONFIG_CPU_32v6K) && defined(CONFIG_KUSER_HELPERS) && \
++!defined(CONFIG_NEEDS_SYSCALL_FOR_CMPXCHG)
+ #ifndef CONFIG_MMU
+ #warning "NPTL on non MMU needs fixing"
+ #else
+diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c
+index 25442f451148..918875d96d5d 100644
+--- a/arch/arm/kernel/fiq.c
 b/arch/arm/kernel/fiq.c
+@@ -84,17 +84,14 @@ int show_fiq_list(struct seq_file *p, int prec)
+ 
+ void set_fiq_handler(void *start, unsigned int length)
+ {
+-#if defined(CONFIG_CPU_USE_DOMAINS)
+-  void *base = (void *)0x;
+-#else
+   void *base = vectors_page;
+-#endif
+   unsigned offset = FIQ_OFFSET;
+ 
+   memcpy(base + offset, start, length);
++  if (!cache_is_vipt_nonaliasing())
++  flush_icache_range((unsigned long)base + offset, offset +
++ length);
+   flush_icache_range(0x + offset, 0x + offset + length);
+-  if (!vectors_high())
+-  flush_icache_range(offset, offset + length);
+ }
+ 
+ int claim_fiq(struct fiq_handler *f)
+diff --git a/arch/arm/mach-realview/include/mach/memory.h 
b/arch/arm/mach-realview/include/mach/memory.h
+index 2022e092f0ca..db09170e3832 100644
+--- a/arch/arm/mach-realview/include/mach/memory.h
 b/arch/arm/mach-realview/include/mach/memory.h
+@@ -56,6 +56,8 @@
+ #define PAGE_OFFSET1  (PAGE_OFFSET + 0x1000)
+ #define PAGE_OFFSET2  (PAGE_OFFSET + 0x3000)
+ 
++#define PHYS_OFFSET PLAT_PHYS_OFFSET
++
+ #define __phys_to_virt(phys)  \
+   ((phys) >= 0x8000 ? (phys) - 0x8000 + PAGE_OFFSET2 :\
+(phys) >= 0x2000 ? (phys) - 0x2000 + PAGE_OFFSET1 :\
+diff --git a/arch/arm64/kernel/signal32.c b/arch/arm64/kernel/signal32.c
+index 3d478102b1c0..b9564b8d6bab 100644
+--- a/arch/arm64/kernel/signal32.c
 b/arch/arm64/kernel/signal32.c
+@@ -193,7 +193,8 @@ int copy_siginfo_to_user32(compat_siginfo_t __user *to, 
siginfo_t *from)
+* Other callers might not initialize the si_lsb field,
+* so check explicitely for the right codes here.
+*/
+-  if (from->si_code == BUS_MCEERR_AR || from->si_code == 
BUS_MCEERR_AO)
++  if (from->si_signo == SIGBUS &&
++  (from->si_code == BUS_MCEERR_AR || from->si_code == 
BUS_MCEERR_AO))
+   err |= __put_user(from->si_addr_lsb, &to->si_addr_lsb);
+ #endif
+   break;
+@@ -220,8 +221,6 @@ int copy_siginfo_to_user32(compat_siginfo_t __user *to, 
siginfo_t *from)
+ 
+ int copy_siginfo_from_user32(siginfo_t *to, compat_siginfo_t __user *from)
+ {
+-  memset(to, 0, sizeof *to);
+-
+   if (copy_from_user(to, from, __ARCH_SI_PREAMBLE_SIZE) ||
+   copy_from_user(to->_sifields._pad,
+  from->_sifields._pad, SI_PAD_SIZE))
+diff --git a/arch/mips/include/asm/pgtable.h b/arch/mips/include/asm/pgtable.h
+index 8b8f6b393363..e821de7cb14e 100644
+--- a/arch/mips/include/asm/pgtable.h
 b/arch/mips/include/asm/pgtable.h
+@@ -150,8 +150,39 @@ static inline void set_pte(pte_t *ptep, pte_t pteval)
+* Make sure the buddy is global too (if it's !none,
+* it better already be global)
+*/
++#ifdef CONF

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

2015-08-10 Thread Mike Pagano
commit: 0020f91452211b9aacca97a362b5492455891453
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Aug 10 22:40:15 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Aug 10 22:40:15 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=0020f914

Linux patch 3.10.86.

 _README  |   4 +
 1085_linux-3.10.86.patch | 597 +++
 2 files changed, 601 insertions(+)

diff --git a/_README b/_README
index c441446..e519e9a 100644
--- a/_README
+++ b/_README
@@ -382,6 +382,10 @@ Patch:  1084_linux-3.10.85.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.85
 
+Patch:  1085_linux-3.10.86.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.86
+
 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/1085_linux-3.10.86.patch b/1085_linux-3.10.86.patch
new file mode 100644
index 000..cd986a2
--- /dev/null
+++ b/1085_linux-3.10.86.patch
@@ -0,0 +1,597 @@
+diff --git a/Makefile b/Makefile
+index 11a7e7bc31f2..25ee724c9089 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 85
++SUBLEVEL = 86
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arc/include/asm/ptrace.h b/arch/arc/include/asm/ptrace.h
+index 2046a89a57cf..78485493639a 100644
+--- a/arch/arc/include/asm/ptrace.h
 b/arch/arc/include/asm/ptrace.h
+@@ -83,7 +83,7 @@ struct callee_regs {
+   long r13;
+ };
+ 
+-#define instruction_pointer(regs) ((regs)->ret)
++#define instruction_pointer(regs) (unsigned long)((regs)->ret)
+ #define profile_pc(regs)  instruction_pointer(regs)
+ 
+ /* return 1 if user mode or 0 if kernel mode */
+diff --git a/arch/s390/kernel/sclp.S b/arch/s390/kernel/sclp.S
+index 29bd7bec4176..1ecd47b5e250 100644
+--- a/arch/s390/kernel/sclp.S
 b/arch/s390/kernel/sclp.S
+@@ -276,6 +276,8 @@ ENTRY(_sclp_print_early)
+   jno .Lesa2
+   ahi %r15,-80
+   stmh%r6,%r15,96(%r15)   # store upper register halves
++  basr%r13,0
++  lmh %r0,%r15,.Lzeroes-.(%r13)   # clear upper register halves
+ .Lesa2:
+ #endif
+   lr  %r10,%r2# save string pointer
+@@ -299,6 +301,8 @@ ENTRY(_sclp_print_early)
+ #endif
+   lm  %r6,%r15,120(%r15)  # restore registers
+   br  %r14
++.Lzeroes:
++  .fill   64,4,0
+ 
+ .LwritedataS4:
+   .long   0x00760005  # SCLP command for write data
+diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c
+index 7a5aa1a7864e..5ebe93676201 100644
+--- a/arch/tile/kernel/setup.c
 b/arch/tile/kernel/setup.c
+@@ -1064,7 +1064,7 @@ static void __init load_hv_initrd(void)
+ 
+ void __init free_initrd_mem(unsigned long begin, unsigned long end)
+ {
+-  free_bootmem(__pa(begin), end - begin);
++  free_bootmem_late(__pa(begin), end - begin);
+ }
+ 
+ #else
+diff --git a/arch/x86/boot/compressed/head_32.S 
b/arch/x86/boot/compressed/head_32.S
+index abb988a54c69..3b28eff9b90b 100644
+--- a/arch/x86/boot/compressed/head_32.S
 b/arch/x86/boot/compressed/head_32.S
+@@ -54,7 +54,7 @@ ENTRY(efi_pe_entry)
+   callreloc
+ reloc:
+   popl%ecx
+-  sublreloc, %ecx
++  subl$reloc, %ecx
+   movl%ecx, BP_code32_start(%eax)
+ 
+   sub $0x4, %esp
+diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
+index 1ff8e97f853a..8c4e81ac5e75 100644
+--- a/block/blk-cgroup.c
 b/block/blk-cgroup.c
+@@ -720,8 +720,12 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct 
blkcg_policy *pol,
+   return -EINVAL;
+ 
+   disk = get_gendisk(MKDEV(major, minor), &part);
+-  if (!disk || part)
++  if (!disk)
+   return -EINVAL;
++  if (part) {
++  put_disk(disk);
++  return -EINVAL;
++  }
+ 
+   rcu_read_lock();
+   spin_lock_irq(disk->queue->queue_lock);
+diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c
+index 7ccc084bf1df..85aa76116a30 100644
+--- a/drivers/ata/libata-pmp.c
 b/drivers/ata/libata-pmp.c
+@@ -460,6 +460,13 @@ static void sata_pmp_quirks(struct ata_port *ap)
+  ATA_LFLAG_NO_SRST |
+  ATA_LFLAG_ASSUME_ATA;
+   }
++  } else if (vendor == 0x11ab && devid == 0x4140) {
++  /* Marvell 4140 quirks */
++  ata_for_each_link(link, ap, EDGE) {
++  /* port 4 is for SEMB device and it doesn't like SRST */
++  if (link->pmp == 4)
++  link->flags |= ATA_LFLAG_DISABLED;
++  }
+   }
+ }
+ 
+diff --git a/drivers/input/touchscreen/usbtouchscreen.c 
b/drivers/input/touchscreen/usbtouchscreen.c
+index 5f87bed05467..20aef5d5a242 100644
+--- a/drivers/input/

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

2015-08-03 Thread Mike Pagano
commit: 3254e809b0bacc10071a00edc184e5da0e45b6e7
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Aug  4 00:04:03 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Aug  4 00:04:03 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=3254e809

Linux patch 3.10.85

 _README  |4 +
 1084_linux-3.10.85.patch | 2941 ++
 2 files changed, 2945 insertions(+)

diff --git a/_README b/_README
index 3025db2..c441446 100644
--- a/_README
+++ b/_README
@@ -378,6 +378,10 @@ Patch:  1083_linux-3.10.84.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.84
 
+Patch:  1084_linux-3.10.85.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.85
+
 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/1084_linux-3.10.85.patch b/1084_linux-3.10.85.patch
new file mode 100644
index 000..fcc7952
--- /dev/null
+++ b/1084_linux-3.10.85.patch
@@ -0,0 +1,2941 @@
+diff --git 
a/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt 
b/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt
+index 01ef408e205f..8faff12e7014 100644
+--- a/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt
 b/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt
+@@ -91,5 +91,5 @@ mpp61 61   gpo, dev(wen1), uart1(txd), 
audio(rclk)
+ mpp62 62   gpio, dev(a2), uart1(cts), tdm(drx), pcie(clkreq0),
+audio(mclk), uart0(cts)
+ mpp63 63   gpo, spi0(sck), tclk
+-mpp64 64   gpio, spi0(miso), spi0-1(cs1)
+-mpp65 65   gpio, spi0(mosi), spi0-1(cs2)
++mpp64 64   gpio, spi0(miso), spi0(cs1)
++mpp65 65   gpio, spi0(mosi), spi0(cs2)
+diff --git 
a/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt 
b/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt
+index bfa0a2e5e0cb..86dec67e5450 100644
+--- a/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt
 b/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt
+@@ -41,15 +41,15 @@ mpp20 20   gpio, ge0(rxd4), ge1(rxd2), 
lcd(d20), ptp(clk)
+ mpp21 21   gpio, ge0(rxd5), ge1(rxd3), lcd(d21), mem(bat)
+ mpp22 22   gpio, ge0(rxd6), ge1(rxctl), lcd(d22), sata0(prsnt)
+ mpp23 23   gpio, ge0(rxd7), ge1(rxclk), lcd(d23), sata1(prsnt)
+-mpp24 24   gpio, lcd(hsync), sata1(prsnt), nf(bootcs-re), tdm(rst)
+-mpp25 25   gpio, lcd(vsync), sata0(prsnt), nf(bootcs-we), 
tdm(pclk)
+-mpp26 26   gpio, lcd(clk), tdm(fsync), vdd(cpu1-pd)
++mpp24 24   gpio, lcd(hsync), sata1(prsnt), tdm(rst)
++mpp25 25   gpio, lcd(vsync), sata0(prsnt), tdm(pclk)
++mpp26 26   gpio, lcd(clk), tdm(fsync)
+ mpp27 27   gpio, lcd(e), tdm(dtx), ptp(trig)
+ mpp28 28   gpio, lcd(pwm), tdm(drx), ptp(evreq)
+-mpp29 29   gpio, lcd(ref-clk), tdm(int0), ptp(clk), vdd(cpu0-pd)
++mpp29 29   gpio, lcd(ref-clk), tdm(int0), ptp(clk)
+ mpp30 30   gpio, tdm(int1), sd0(clk)
+-mpp31 31   gpio, tdm(int2), sd0(cmd), vdd(cpu0-pd)
+-mpp32 32   gpio, tdm(int3), sd0(d0), vdd(cpu1-pd)
++mpp31 31   gpio, tdm(int2), sd0(cmd)
++mpp32 32   gpio, tdm(int3), sd0(d0)
+ mpp33 33   gpio, tdm(int4), sd0(d1), mem(bat)
+ mpp34 34   gpio, tdm(int5), sd0(d2), sata0(prsnt)
+ mpp35 35   gpio, tdm(int6), sd0(d3), sata1(prsnt)
+@@ -57,21 +57,18 @@ mpp36 36   gpio, spi(mosi)
+ mpp37 37   gpio, spi(miso)
+ mpp38 38   gpio, spi(sck)
+ mpp39 39   gpio, spi(cs0)
+-mpp40 40   gpio, spi(cs1), uart2(cts), lcd(vga-hsync), 
vdd(cpu1-pd),
+-   pcie(clkreq0)
++mpp40 40   gpio, spi(cs1), uart2(cts), lcd(vga-hsync), 
pcie(clkreq0)
+ mpp41 41   gpio, spi(cs2), uart2(rts), lcd(vga-vsync), 
sata1(prsnt),
+pcie(clkreq1)
+-mpp42 42   gpio, uart2(rxd), uart0(cts), tdm(int7), tdm-1(timer),
+-   vdd(cpu0-pd)
+-mpp43 43   gpio, uart2(txd), uart0(rts), spi(cs3), pcie(rstout),
+-   vdd(cpu2-3-pd){1}
++mpp42 42   gpio, uart2(rxd), uart0(cts), tdm(int7), tdm-1(timer)
++mpp43 43   gpio, uart2(txd), uart0(rts), spi(cs3), pcie(rstout)
+ mpp44 44   gpio, uart2(cts), uart3(rxd), spi(cs4), pcie(clkreq2),
+mem(bat)
+ mpp45 45   gpio, uart2(rts), uart3(txd), spi(cs5), sata1(prsnt)
+ mpp46 46   gpio, uart3(rts), uart1(rts), spi(cs6), sata0(prsnt)
+ mpp47 47   gpio, uart3(cts), uart1(cts), spi(cs

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

2015-07-30 Thread Mike Pagano
commit: c996377f0b6842fe8979fc070718d87473d759de
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Jul 30 12:56:18 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Jul 30 12:56:18 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=c996377f

BFQ v7r8

 _README|  12 +-
 ...oups-kconfig-build-bits-for-BFQ-v7r8-3.10.patch |   6 +-
 ...ntroduce-the-BFQ-v7r8-I-O-sched-for-3.10.patch1 | 196 ++---
 ...arly-Queue-Merge-EQM-to-BFQ-v7r8-for-3.10.patch |  96 +-
 4 files changed, 147 insertions(+), 163 deletions(-)

diff --git a/_README b/_README
index fc173a9..3025db2 100644
--- a/_README
+++ b/_README
@@ -430,15 +430,15 @@ Patch:  
5000_enable-additional-cpu-optimizations-for-gcc.patch
 From:   https://github.com/graysky2/kernel_gcc_patch/
 Desc:   Kernel patch enables gcc optimizations for additional CPUs.
 
-Patch:  5001_BFQ-1-block-cgroups-kconfig-build-bits-for-v7r7-3.10.patch
+Patch:  5001_block-cgroups-kconfig-build-bits-for-BFQ-v7r8-3.10.patch
 From:   http://algo.ing.unimo.it/people/paolo/disk_sched/
-Desc:   BFQ v7r7 patch 1 for 3.10: Build, cgroups and kconfig bits
+Desc:   BFQ v7r8 patch 1 for 3.10: Build, cgroups and kconfig bits
 
-Patch:  5002_BFQ-2-block-introduce-the-v7r7-I-O-sched-for-3.10.patch1
+Patch:  5002_block-introduce-the-BFQ-v7r8-I-O-sched-for-3.10.patch1
 From:   http://algo.ing.unimo.it/people/paolo/disk_sched/
-Desc:   BFQ v7r7 patch 2 for 3.10: BFQ Scheduler
+Desc:   BFQ v7r8 patch 2 for 3.10: BFQ Scheduler
 
-Patch:  5003_BFQ-3-block-add-Early-Queue-Merge-EQM-v7r7-for-3.10.0.patch
+Patch:  5003_block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r8-for-3.10.patch
 From:   http://algo.ing.unimo.it/people/paolo/disk_sched/
-Desc:   BFQ v7r7 patch 3 for 3.10: Early Queue Merge (EQM)
+Desc:   BFQ v7r8 patch 3 for 3.10: Early Queue Merge (EQM)
 

diff --git a/5001_BFQ-1-block-cgroups-kconfig-build-bits-for-v7r7-3.10.patch 
b/5001_block-cgroups-kconfig-build-bits-for-BFQ-v7r8-3.10.patch
similarity index 97%
rename from 5001_BFQ-1-block-cgroups-kconfig-build-bits-for-v7r7-3.10.patch
rename to 5001_block-cgroups-kconfig-build-bits-for-BFQ-v7r8-3.10.patch
index c76d0e9..1ea37d8 100644
--- a/5001_BFQ-1-block-cgroups-kconfig-build-bits-for-v7r7-3.10.patch
+++ b/5001_block-cgroups-kconfig-build-bits-for-BFQ-v7r8-3.10.patch
@@ -1,7 +1,7 @@
-From d8a4dc281659c63154708bfd1a66c7ad0fdd2f09 Mon Sep 17 00:00:00 2001
+From dca9e130a9596b036b6ef352e41054f9adce64bd Mon Sep 17 00:00:00 2001
 From: Arianna Avanzini 
 Date: Mon, 27 Jan 2014 23:50:08 +0100
-Subject: [PATCH 1/3] block: cgroups, kconfig, build bits for BFQ-v7r7-3.10
+Subject: [PATCH 1/3] block: cgroups, kconfig, build bits for BFQ-v7r8-3.10
 
 Update Kconfig.iosched and do the related Makefile changes to include
 kernel configuration options for BFQ. Also add the bfqio controller
@@ -99,5 +99,5 @@ index 6e7ec64..e5e6b0d 100644
 +
 +/* */
 -- 
-2.1.3
+2.1.4
 

diff --git a/5002_BFQ-2-block-introduce-the-v7r7-I-O-sched-for-3.10.patch1 
b/5002_block-introduce-the-BFQ-v7r8-I-O-sched-for-3.10.patch1
similarity index 98%
rename from 5002_BFQ-2-block-introduce-the-v7r7-I-O-sched-for-3.10.patch1
rename to 5002_block-introduce-the-BFQ-v7r8-I-O-sched-for-3.10.patch1
index 07fd62f..49bf09c 100644
--- a/5002_BFQ-2-block-introduce-the-v7r7-I-O-sched-for-3.10.patch1
+++ b/5002_block-introduce-the-BFQ-v7r8-I-O-sched-for-3.10.patch1
@@ -1,9 +1,9 @@
-From db537b3062665d5442c516b31d396e61dc4c145c Mon Sep 17 00:00:00 2001
+From b8461d2a63e08357aa8111cbcb87a51d61b68c61 Mon Sep 17 00:00:00 2001
 From: Paolo Valente 
 Date: Thu, 9 May 2013 19:10:02 +0200
-Subject: [PATCH 2/3] block: introduce the BFQ-v7r7 I/O sched for 3.10
+Subject: [PATCH 2/3] block: introduce the BFQ-v7r8 I/O sched for 3.10
 
-Add the BFQ-v7r7 I/O scheduler to 3.10.
+Add the BFQ-v7r8 I/O scheduler to 3.10.
 The general structure is borrowed from CFQ, as much of the code for
 handling I/O contexts Over time, several useful features have been
 ported from CFQ as well (details in the changelog in README.BFQ). A
@@ -58,10 +58,10 @@ Signed-off-by: Arianna Avanzini 
 ---
  block/bfq-cgroup.c  |  913 
  block/bfq-ioc.c |   36 +
- block/bfq-iosched.c | 3890 +++
- block/bfq-sched.c   | 1214 
- block/bfq.h |  773 ++
- 5 files changed, 6826 insertions(+)
+ block/bfq-iosched.c | 3886 +++
+ block/bfq-sched.c   | 1208 
+ block/bfq.h |  769 ++
+ 5 files changed, 6812 insertions(+)
  create mode 100644 block/bfq-cgroup.c
  create mode 100644 block/bfq-ioc.c
  create mode 100644 block/bfq-iosched.c
@@ -1031,10 +1031,10 @@ index 000..7f6b000
 +}
 diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
 new file mode 100644
-index 000..9de51e3
+index 000..729f3e4
 --- /dev/null
 +++ b/block/bfq-iosched.c

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

2015-07-10 Thread Mike Pagano
commit: 2a83da120accdc9f3d66856fcc4b60dea3f4a9f3
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Jul 10 23:26:15 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Jul 10 23:26:15 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=2a83da12

Linux patch 3.10.84

 _README  |   4 +
 1083_linux-3.10.84.patch | 369 +++
 2 files changed, 373 insertions(+)

diff --git a/_README b/_README
index 1cfdd1d..fc173a9 100644
--- a/_README
+++ b/_README
@@ -374,6 +374,10 @@ Patch:  1082_linux-3.10.83.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.83
 
+Patch:  1083_linux-3.10.84.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.84
+
 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/1083_linux-3.10.84.patch b/1083_linux-3.10.84.patch
new file mode 100644
index 000..2851596
--- /dev/null
+++ b/1083_linux-3.10.84.patch
@@ -0,0 +1,369 @@
+diff --git a/Makefile b/Makefile
+index 21529dbcc11d..f7b10bb56737 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 83
++SUBLEVEL = 84
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/kvm/interrupts.S b/arch/arm/kvm/interrupts.S
+index 16cd4ba5d7fd..bb117abb1b3b 100644
+--- a/arch/arm/kvm/interrupts.S
 b/arch/arm/kvm/interrupts.S
+@@ -159,13 +159,9 @@ __kvm_vcpu_return:
+   @ Don't trap coprocessor accesses for host kernel
+   set_hstr vmexit
+   set_hdcr vmexit
+-  set_hcptr vmexit, (HCPTR_TTA | HCPTR_TCP(10) | HCPTR_TCP(11))
++  set_hcptr vmexit, (HCPTR_TTA | HCPTR_TCP(10) | HCPTR_TCP(11)), 
after_vfp_restore
+ 
+ #ifdef CONFIG_VFPv3
+-  @ Save floating point registers we if let guest use them.
+-  tst r2, #(HCPTR_TCP(10) | HCPTR_TCP(11))
+-  bne after_vfp_restore
+-
+   @ Switch VFP/NEON hardware state to the host's
+   add r7, vcpu, #VCPU_VFP_GUEST
+   store_vfp_state r7
+@@ -177,6 +173,8 @@ after_vfp_restore:
+   @ Restore FPEXC_EN which we clobbered on entry
+   pop {r2}
+   VFPFMXR FPEXC, r2
++#else
++after_vfp_restore:
+ #endif
+ 
+   @ Reset Hyp-role
+@@ -458,7 +456,7 @@ switch_to_guest_vfp:
+   push{r3-r7}
+ 
+   @ NEON/VFP used.  Turn on VFP access.
+-  set_hcptr vmexit, (HCPTR_TCP(10) | HCPTR_TCP(11))
++  set_hcptr vmtrap, (HCPTR_TCP(10) | HCPTR_TCP(11))
+ 
+   @ Switch VFP/NEON hardware state to the guest's
+   add r7, r0, #VCPU_VFP_HOST
+diff --git a/arch/arm/kvm/interrupts_head.S b/arch/arm/kvm/interrupts_head.S
+index 6f18695a09cb..b6f6137f5984 100644
+--- a/arch/arm/kvm/interrupts_head.S
 b/arch/arm/kvm/interrupts_head.S
+@@ -570,8 +570,13 @@ vcpu  .reqr0  @ vcpu pointer always 
in r0
+ .endm
+ 
+ /* Configures the HCPTR (Hyp Coprocessor Trap Register) on entry/return
+- * (hardware reset value is 0). Keep previous value in r2. */
+-.macro set_hcptr operation, mask
++ * (hardware reset value is 0). Keep previous value in r2.
++ * An ISB is emited on vmexit/vmtrap, but executed on vmexit only if
++ * VFP wasn't already enabled (always executed on vmtrap).
++ * If a label is specified with vmexit, it is branched to if VFP wasn't
++ * enabled.
++ */
++.macro set_hcptr operation, mask, label = none
+   mrc p15, 4, r2, c1, c1, 2
+   ldr r3, =\mask
+   .if \operation == vmentry
+@@ -580,6 +585,17 @@ vcpu  .reqr0  @ vcpu pointer always 
in r0
+   bic r3, r2, r3  @ Don't trap defined coproc-accesses
+   .endif
+   mcr p15, 4, r3, c1, c1, 2
++  .if \operation != vmentry
++  .if \operation == vmexit
++  tst r2, #(HCPTR_TCP(10) | HCPTR_TCP(11))
++  beq 1f
++  .endif
++  isb
++  .if \label != none
++  b   \label
++  .endif
++1:
++  .endif
+ .endm
+ 
+ /* Configures the HDCR (Hyp Debug Configuration Register) on entry/return
+diff --git a/arch/mips/include/asm/mach-generic/spaces.h 
b/arch/mips/include/asm/mach-generic/spaces.h
+index 5b2f2e68e57f..503eb6ca5802 100644
+--- a/arch/mips/include/asm/mach-generic/spaces.h
 b/arch/mips/include/asm/mach-generic/spaces.h
+@@ -90,7 +90,11 @@
+ #endif
+ 
+ #ifndef FIXADDR_TOP
++#ifdef CONFIG_KVM_GUEST
++#define FIXADDR_TOP   ((unsigned long)(long)(int)0x7ffe)
++#else
+ #define FIXADDR_TOP   ((unsigned long)(long)(int)0xfffe)
+ #endif
++#endif
+ 
+ #endif /* __ASM_MACH_GENERIC_SPACES_H */
+diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
+index 846861a20b07..b63dc809596d 100644
+--- a/arch/powerpc/perf/core-book3s.c
 b/arch/powerpc/perf/core-book3s.c
+@@ -112,7 +112,16 @@ static inline void power_pmu_bhrb_read(struct 
cpu_hw_events *cpuhw) {}
+ 
+ static bool regs_use_siar(struct pt_regs *regs)
+ {
+-  

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

2015-07-06 Thread Mike Pagano
commit: 1c12fddcb69afbf1077cbcf5aae1022ad463aaf6
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Jul  7 00:43:05 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Jul  7 00:43:05 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=1c12fddc

Linux patch 3.10.83

 _README  |4 +
 1082_linux-3.10.83.patch | 1734 ++
 2 files changed, 1738 insertions(+)

diff --git a/_README b/_README
index 5e45831..1cfdd1d 100644
--- a/_README
+++ b/_README
@@ -370,6 +370,10 @@ Patch:  1081_linux-3.10.82.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.82
 
+Patch:  1082_linux-3.10.83.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.83
+
 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/1082_linux-3.10.83.patch b/1082_linux-3.10.83.patch
new file mode 100644
index 000..187a86e
--- /dev/null
+++ b/1082_linux-3.10.83.patch
@@ -0,0 +1,1734 @@
+diff --git a/Makefile b/Makefile
+index 5e3e665a10b7..21529dbcc11d 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 82
++SUBLEVEL = 83
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c
+index e2b5da031f96..8d4f5dc56910 100644
+--- a/arch/arm/mach-dove/common.c
 b/arch/arm/mach-dove/common.c
+@@ -226,7 +226,7 @@ void __init dove_init_early(void)
+   orion_time_set_base(TIMER_VIRT_BASE);
+   mvebu_mbus_init("marvell,dove-mbus",
+   BRIDGE_WINS_BASE, BRIDGE_WINS_SZ,
+-  DOVE_MC_WINS_BASE, DOVE_MC_WINS_SZ);
++  DOVE_MC_WINS_BASE, DOVE_MC_WINS_SZ, 0);
+ }
+ 
+ static int __init dove_find_tclk(void)
+diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
+index 2acaded8025d..ed00c9e3bfc6 100644
+--- a/arch/arm/mach-imx/clk-imx6q.c
 b/arch/arm/mach-imx/clk-imx6q.c
+@@ -515,7 +515,7 @@ int __init mx6q_clocks_init(void)
+   clk[gpmi_io]  = imx_clk_gate2("gpmi_io",   "enfc",  
base + 0x78, 28);
+   clk[gpmi_apb] = imx_clk_gate2("gpmi_apb",  "usdhc3",
base + 0x78, 30);
+   clk[rom]  = imx_clk_gate2("rom",   "ahb",   
base + 0x7c, 0);
+-  clk[sata] = imx_clk_gate2("sata",  "ipg",   
base + 0x7c, 4);
++  clk[sata] = imx_clk_gate2("sata",  "ahb",   
base + 0x7c, 4);
+   clk[sdma] = imx_clk_gate2("sdma",  "ahb",   
base + 0x7c, 6);
+   clk[spba] = imx_clk_gate2("spba",  "ipg",   
base + 0x7c, 12);
+   clk[ssi1_ipg] = imx_clk_gate2("ssi1_ipg",  "ipg",   
base + 0x7c, 18);
+diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
+index f38922897563..4f6831ea88c5 100644
+--- a/arch/arm/mach-kirkwood/common.c
 b/arch/arm/mach-kirkwood/common.c
+@@ -530,7 +530,7 @@ void __init kirkwood_init_early(void)
+ 
+   mvebu_mbus_init("marvell,kirkwood-mbus",
+   BRIDGE_WINS_BASE, BRIDGE_WINS_SZ,
+-  DDR_WINDOW_CPU_BASE, DDR_WINDOW_CPU_SZ);
++  DDR_WINDOW_CPU_BASE, DDR_WINDOW_CPU_SZ, 0);
+ }
+ 
+ int kirkwood_tclk;
+diff --git a/arch/arm/mach-mv78xx0/common.c b/arch/arm/mach-mv78xx0/common.c
+index 749a7f8c4992..4722c98dc1bb 100644
+--- a/arch/arm/mach-mv78xx0/common.c
 b/arch/arm/mach-mv78xx0/common.c
+@@ -337,11 +337,11 @@ void __init mv78xx0_init_early(void)
+   if (mv78xx0_core_index() == 0)
+   mvebu_mbus_init("marvell,mv78xx0-mbus",
+   BRIDGE_WINS_CPU0_BASE, BRIDGE_WINS_SZ,
+-  DDR_WINDOW_CPU0_BASE, DDR_WINDOW_CPU_SZ);
++  DDR_WINDOW_CPU0_BASE, DDR_WINDOW_CPU_SZ, 0);
+   else
+   mvebu_mbus_init("marvell,mv78xx0-mbus",
+   BRIDGE_WINS_CPU1_BASE, BRIDGE_WINS_SZ,
+-  DDR_WINDOW_CPU1_BASE, DDR_WINDOW_CPU_SZ);
++  DDR_WINDOW_CPU1_BASE, DDR_WINDOW_CPU_SZ, 0);
+ }
+ 
+ void __init_refok mv78xx0_timer_init(void)
+diff --git a/arch/arm/mach-mvebu/armada-370-xp.c 
b/arch/arm/mach-mvebu/armada-370-xp.c
+index 1c48890bb72b..4377c3484a62 100644
+--- a/arch/arm/mach-mvebu/armada-370-xp.c
 b/arch/arm/mach-mvebu/armada-370-xp.c
+@@ -66,7 +66,8 @@ void __init armada_370_xp_init_early(void)
+   ARMADA_370_XP_MBUS_WINS_BASE,
+   ARMADA_370_XP_MBUS_WINS_SIZE,
+   ARMADA_370_XP_SDRAM_WINS_BASE,
+-  ARMADA_370_XP_SDRAM_WINS_SIZE);
++  ARMADA_370_XP_SDRAM_WINS_SIZE,
++  coherency_available());
+ 
+ #ifdef CONFIG_CACHE_L2X0
+

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

2015-06-30 Thread Mike Pagano
commit: 522c40275ae0a217e0c6ca0507d8e22e000f53ef
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Jun 30 13:01:16 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Jun 30 13:01:16 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=522c4027

Linux patch 3.10.82

 _README  |   4 +
 1081_linux-3.10.82.patch | 263 +++
 2 files changed, 267 insertions(+)

diff --git a/_README b/_README
index 574c6c0..5e45831 100644
--- a/_README
+++ b/_README
@@ -366,6 +366,10 @@ Patch:  1080_linux-3.10.81.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.81
 
+Patch:  1081_linux-3.10.82.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.82
+
 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/1081_linux-3.10.82.patch b/1081_linux-3.10.82.patch
new file mode 100644
index 000..b14a1fe
--- /dev/null
+++ b/1081_linux-3.10.82.patch
@@ -0,0 +1,263 @@
+diff --git a/Makefile b/Makefile
+index 6d19e37d36d5..5e3e665a10b7 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 81
++SUBLEVEL = 82
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/drivers/crypto/caam/caamrng.c b/drivers/crypto/caam/caamrng.c
+index d1939a9539c0..04aefffb4dd9 100644
+--- a/drivers/crypto/caam/caamrng.c
 b/drivers/crypto/caam/caamrng.c
+@@ -56,7 +56,7 @@
+ 
+ /* Buffer, its dma address and lock */
+ struct buf_data {
+-  u8 buf[RN_BUF_SIZE];
++  u8 buf[RN_BUF_SIZE] cacheline_aligned;
+   dma_addr_t addr;
+   struct completion filled;
+   u32 hw_desc[DESC_JOB_O_LEN];
+diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c 
b/drivers/gpu/drm/mgag200/mgag200_mode.c
+index f6341e8622ee..7bd2acce9f81 100644
+--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
 b/drivers/gpu/drm/mgag200/mgag200_mode.c
+@@ -1487,6 +1487,11 @@ static int mga_vga_mode_valid(struct drm_connector 
*connector,
+   return MODE_BANDWIDTH;
+   }
+ 
++  if ((mode->hdisplay % 8) != 0 || (mode->hsync_start % 8) != 0 ||
++  (mode->hsync_end % 8) != 0 || (mode->htotal % 8) != 0) {
++  return MODE_H_ILLEGAL;
++  }
++
+   if (mode->crtc_hdisplay > 2048 || mode->crtc_hsync_start > 4096 ||
+   mode->crtc_hsync_end > 4096 || mode->crtc_htotal > 4096 ||
+   mode->crtc_vdisplay > 2048 || mode->crtc_vsync_start > 4096 ||
+diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
+index 572579f87de4..90861416b9e9 100644
+--- a/drivers/scsi/lpfc/lpfc_sli.c
 b/drivers/scsi/lpfc/lpfc_sli.c
+@@ -263,6 +263,16 @@ lpfc_sli4_eq_get(struct lpfc_queue *q)
+   return NULL;
+ 
+   q->hba_index = idx;
++
++  /*
++   * insert barrier for instruction interlock : data from the hardware
++   * must have the valid bit checked before it can be copied and acted
++   * upon. Given what was seen in lpfc_sli4_cq_get() of speculative
++   * instructions allowing action on content before valid bit checked,
++   * add barrier here as well. May not be needed as "content" is a
++   * single 32-bit entity here (vs multi word structure for cq's).
++   */
++  mb();
+   return eqe;
+ }
+ 
+@@ -368,6 +378,17 @@ lpfc_sli4_cq_get(struct lpfc_queue *q)
+ 
+   cqe = q->qe[q->hba_index].cqe;
+   q->hba_index = idx;
++
++  /*
++   * insert barrier for instruction interlock : data from the hardware
++   * must have the valid bit checked before it can be copied and acted
++   * upon. Speculative instructions were allowing a bcopy at the start
++   * of lpfc_sli4_fp_handle_wcqe(), which is called immediately
++   * after our return, to copy data before the valid bit check above
++   * was done. As such, some of the copied data was stale. The barrier
++   * ensures the check is before any data is copied.
++   */
++  mb();
+   return cqe;
+ }
+ 
+diff --git a/fs/pipe.c b/fs/pipe.c
+index 0e0752ef2715..3e7ab278bb0c 100644
+--- a/fs/pipe.c
 b/fs/pipe.c
+@@ -117,25 +117,27 @@ void pipe_wait(struct pipe_inode_info *pipe)
+ }
+ 
+ static int
+-pipe_iov_copy_from_user(void *to, struct iovec *iov, unsigned long len,
+-  int atomic)
++pipe_iov_copy_from_user(void *addr, int *offset, struct iovec *iov,
++  size_t *remaining, int atomic)
+ {
+   unsigned long copy;
+ 
+-  while (len > 0) {
++  while (*remaining > 0) {
+   while (!iov->iov_len)
+   iov++;
+-  copy = min_t(unsigned long, len, iov->iov_len);
++  copy = min_t(unsigned long, *remaining, iov->iov_len);
+ 
+   if (atomic) {
+-  if (__copy_from_user_inatomic(to, iov->iov_base, copy))
++  if (__copy_from_user_inatomic(addr

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

2015-06-23 Thread Mike Pagano
commit: e86077ce612e6428c0d7ea965da69e99ad5d6dce
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Jun 23 11:46:21 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Jun 23 11:46:21 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=e86077ce

Linux patch 3.10.81

 _README  |   4 +
 1080_linux-3.10.81.patch | 698 +++
 2 files changed, 702 insertions(+)

diff --git a/_README b/_README
index b0171f5..574c6c0 100644
--- a/_README
+++ b/_README
@@ -362,6 +362,10 @@ Patch:  1079_linux-3.10.80.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.80
 
+Patch:  1080_linux-3.10.81.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.81
+
 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/1080_linux-3.10.81.patch b/1080_linux-3.10.81.patch
new file mode 100644
index 000..20d9392
--- /dev/null
+++ b/1080_linux-3.10.81.patch
@@ -0,0 +1,698 @@
+diff --git a/Makefile b/Makefile
+index 067433219984..6d19e37d36d5 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 80
++SUBLEVEL = 81
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c
+index d1fea7a054be..7479d8d847a6 100644
+--- a/arch/mips/kernel/irq.c
 b/arch/mips/kernel/irq.c
+@@ -110,7 +110,7 @@ void __init init_IRQ(void)
+ #endif
+ }
+ 
+-#ifdef DEBUG_STACKOVERFLOW
++#ifdef CONFIG_DEBUG_STACKOVERFLOW
+ static inline void check_stack_overflow(void)
+ {
+   unsigned long sp;
+diff --git a/block/genhd.c b/block/genhd.c
+index 7694dffe9f0e..b09f5fc94dee 100644
+--- a/block/genhd.c
 b/block/genhd.c
+@@ -422,9 +422,9 @@ int blk_alloc_devt(struct hd_struct *part, dev_t *devt)
+   /* allocate ext devt */
+   idr_preload(GFP_KERNEL);
+ 
+-  spin_lock(&ext_devt_lock);
++  spin_lock_bh(&ext_devt_lock);
+   idx = idr_alloc(&ext_devt_idr, part, 0, NR_EXT_DEVT, GFP_NOWAIT);
+-  spin_unlock(&ext_devt_lock);
++  spin_unlock_bh(&ext_devt_lock);
+ 
+   idr_preload_end();
+   if (idx < 0)
+@@ -449,9 +449,9 @@ void blk_free_devt(dev_t devt)
+   return;
+ 
+   if (MAJOR(devt) == BLOCK_EXT_MAJOR) {
+-  spin_lock(&ext_devt_lock);
++  spin_lock_bh(&ext_devt_lock);
+   idr_remove(&ext_devt_idr, blk_mangle_minor(MINOR(devt)));
+-  spin_unlock(&ext_devt_lock);
++  spin_unlock_bh(&ext_devt_lock);
+   }
+ }
+ 
+@@ -691,13 +691,13 @@ struct gendisk *get_gendisk(dev_t devt, int *partno)
+   } else {
+   struct hd_struct *part;
+ 
+-  spin_lock(&ext_devt_lock);
++  spin_lock_bh(&ext_devt_lock);
+   part = idr_find(&ext_devt_idr, blk_mangle_minor(MINOR(devt)));
+   if (part && get_disk(part_to_disk(part))) {
+   *partno = part->partno;
+   disk = part_to_disk(part);
+   }
+-  spin_unlock(&ext_devt_lock);
++  spin_unlock_bh(&ext_devt_lock);
+   }
+ 
+   return disk;
+diff --git a/drivers/ata/pata_octeon_cf.c b/drivers/ata/pata_octeon_cf.c
+index e73bef3093d2..5507f36a06b4 100644
+--- a/drivers/ata/pata_octeon_cf.c
 b/drivers/ata/pata_octeon_cf.c
+@@ -1068,7 +1068,7 @@ static struct of_device_id octeon_cf_match[] = {
+   },
+   {},
+ };
+-MODULE_DEVICE_TABLE(of, octeon_i2c_match);
++MODULE_DEVICE_TABLE(of, octeon_cf_match);
+ 
+ static struct platform_driver octeon_cf_driver = {
+   .probe  = octeon_cf_probe,
+diff --git a/drivers/gpu/drm/i915/intel_i2c.c 
b/drivers/gpu/drm/i915/intel_i2c.c
+index 4a21e13cc58c..d5e666fb459c 100644
+--- a/drivers/gpu/drm/i915/intel_i2c.c
 b/drivers/gpu/drm/i915/intel_i2c.c
+@@ -441,7 +441,7 @@ gmbus_xfer(struct i2c_adapter *adapter,
+  struct intel_gmbus,
+  adapter);
+   struct drm_i915_private *dev_priv = bus->dev_priv;
+-  int i, reg_offset;
++  int i = 0, inc, try = 0, reg_offset;
+   int ret = 0;
+ 
+   mutex_lock(&dev_priv->gmbus_mutex);
+@@ -453,12 +453,14 @@ gmbus_xfer(struct i2c_adapter *adapter,
+ 
+   reg_offset = dev_priv->gpio_mmio_base;
+ 
++retry:
+   I915_WRITE(GMBUS0 + reg_offset, bus->reg0);
+ 
+-  for (i = 0; i < num; i++) {
++  for (; i < num; i += inc) {
++  inc = 1;
+   if (gmbus_is_index_read(msgs, i, num)) {
+   ret = gmbus_xfer_index_read(dev_priv, &msgs[i]);
+-  i += 1;  /* set i to the index of the read xfer */
++  inc = 2; /* an index read is two msgs */
+   } else if (msgs[i].flags & I2C_M_RD) {
+   ret = gmbus_xfer_read(dev_priv, &msgs[i], 0);
+ 

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

2015-06-06 Thread Mike Pagano
commit: deace538eb71c304fde3e80ccbd7e2a9826920e3
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Jun  6 22:18:17 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Jun  6 22:18:17 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=deace538

Linux patch 3.10.80

 _README  |4 +
 1079_linux-3.10.80.patch | 1148 ++
 2 files changed, 1152 insertions(+)

diff --git a/_README b/_README
index 712a318..b0171f5 100644
--- a/_README
+++ b/_README
@@ -358,6 +358,10 @@ Patch:  1078_linux-3.10.79.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.79
 
+Patch:  1079_linux-3.10.80.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.80
+
 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/1079_linux-3.10.80.patch b/1079_linux-3.10.80.patch
new file mode 100644
index 000..737e5c4
--- /dev/null
+++ b/1079_linux-3.10.80.patch
@@ -0,0 +1,1148 @@
+diff --git a/Makefile b/Makefile
+index e26cb1e56266..067433219984 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 79
++SUBLEVEL = 80
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+@@ -241,7 +241,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo 
$$BASH; \
+ 
+ HOSTCC   = gcc
+ HOSTCXX  = g++
+-HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 
-fomit-frame-pointer
++HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 
-fomit-frame-pointer -std=gnu89
+ HOSTCXXFLAGS = -O2
+ 
+ # Decide whether to build built-in, modular, or both.
+@@ -373,7 +373,9 @@ KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes 
-Wno-trigraphs \
+  -fno-strict-aliasing -fno-common \
+  -Werror-implicit-function-declaration \
+  -Wno-format-security \
+- -fno-delete-null-pointer-checks
++ -fno-delete-null-pointer-checks \
++ -std=gnu89
++
+ KBUILD_AFLAGS_KERNEL :=
+ KBUILD_CFLAGS_KERNEL :=
+ KBUILD_AFLAGS   := -D__ASSEMBLY__
+diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi
+index 75bd11386516..77730a37344e 100644
+--- a/arch/arm/boot/dts/imx27.dtsi
 b/arch/arm/boot/dts/imx27.dtsi
+@@ -290,7 +290,7 @@
+ 
+   fec: ethernet@1002b000 {
+   compatible = "fsl,imx27-fec";
+-  reg = <0x1002b000 0x4000>;
++  reg = <0x1002b000 0x1000>;
+   interrupts = <50>;
+   clocks = <&clks 48>, <&clks 67>, <&clks 0>;
+   clock-names = "ipg", "ahb", "ptp";
+diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
+index 4bc816a74a2e..f2646934c714 100644
+--- a/arch/arm/kernel/entry-common.S
 b/arch/arm/kernel/entry-common.S
+@@ -32,7 +32,9 @@ ret_fast_syscall:
+  UNWIND(.fnstart  )
+  UNWIND(.cantunwind   )
+   disable_irq @ disable interrupts
+-  ldr r1, [tsk, #TI_FLAGS]
++  ldr r1, [tsk, #TI_FLAGS]@ re-check for syscall tracing
++  tst r1, #_TIF_SYSCALL_WORK
++  bne __sys_trace_return
+   tst r1, #_TIF_WORK_MASK
+   bne fast_work_pending
+   asm_trace_hardirqs_on
+diff --git a/arch/powerpc/kernel/vmlinux.lds.S 
b/arch/powerpc/kernel/vmlinux.lds.S
+index f096e72262f4..1db685104ffc 100644
+--- a/arch/powerpc/kernel/vmlinux.lds.S
 b/arch/powerpc/kernel/vmlinux.lds.S
+@@ -213,6 +213,7 @@ SECTIONS
+   *(.opd)
+   }
+ 
++  . = ALIGN(256);
+   .got : AT(ADDR(.got) - LOAD_OFFSET) {
+   __toc_start = .;
+ #ifndef CONFIG_RELOCATABLE
+diff --git a/arch/s390/crypto/ghash_s390.c b/arch/s390/crypto/ghash_s390.c
+index 7940dc90e80b..b258110da952 100644
+--- a/arch/s390/crypto/ghash_s390.c
 b/arch/s390/crypto/ghash_s390.c
+@@ -16,11 +16,12 @@
+ #define GHASH_DIGEST_SIZE 16
+ 
+ struct ghash_ctx {
+-  u8 icv[16];
+-  u8 key[16];
++  u8 key[GHASH_BLOCK_SIZE];
+ };
+ 
+ struct ghash_desc_ctx {
++  u8 icv[GHASH_BLOCK_SIZE];
++  u8 key[GHASH_BLOCK_SIZE];
+   u8 buffer[GHASH_BLOCK_SIZE];
+   u32 bytes;
+ };
+@@ -28,8 +29,10 @@ struct ghash_desc_ctx {
+ static int ghash_init(struct shash_desc *desc)
+ {
+   struct ghash_desc_ctx *dctx = shash_desc_ctx(desc);
++  struct ghash_ctx *ctx = crypto_shash_ctx(desc->tfm);
+ 
+   memset(dctx, 0, sizeof(*dctx));
++  memcpy(dctx->key, ctx->key, GHASH_BLOCK_SIZE);
+ 
+   return 0;
+ }
+@@ -45,7 +48,6 @@ static int ghash_setkey(struct crypto_shash *tfm,
+   }
+ 
+   memcpy(ctx->key, key, GHASH_BLOCK_SIZE);
+-  memset(ctx->icv, 0, GHASH_BLOCK_SIZE);
+ 
+   return 0;
+ }
+@@ -54,7 +56,6 @@ static int ghash_update(struct shash_des

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

2015-05-17 Thread Mike Pagano
commit: bc635c7de2515835b8cfca29d153b3fdbedac7db
Author: Mike Pagano  gentoo  org>
AuthorDate: Sun May 17 18:29:19 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sun May 17 18:29:19 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=bc635c7d

Linux patches 3.10.78 amd 3.10.79.

 _README  |8 +
 1077_linux-3.10.78.patch | 1032 ++
 1078_linux-3.10.79.patch |  728 
 3 files changed, 1768 insertions(+)

diff --git a/_README b/_README
index 89fcce7..712a318 100644
--- a/_README
+++ b/_README
@@ -350,6 +350,14 @@ Patch:  1076_linux-3.10.77.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.77
 
+Patch:  1077_linux-3.10.78.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.78
+
+Patch:  1078_linux-3.10.79.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.79
+
 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/1077_linux-3.10.78.patch b/1077_linux-3.10.78.patch
new file mode 100644
index 000..9646397
--- /dev/null
+++ b/1077_linux-3.10.78.patch
@@ -0,0 +1,1032 @@
+diff --git a/Makefile b/Makefile
+index 923ad8a64e3b..cf99a9b53c6f 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 77
++SUBLEVEL = 78
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arc/kernel/signal.c b/arch/arc/kernel/signal.c
+index 7e95e1a86510..6763654239a2 100644
+--- a/arch/arc/kernel/signal.c
 b/arch/arc/kernel/signal.c
+@@ -131,6 +131,15 @@ SYSCALL_DEFINE0(rt_sigreturn)
+   /* Don't restart from sigreturn */
+   syscall_wont_restart(regs);
+ 
++  /*
++   * Ensure that sigreturn always returns to user mode (in case the
++   * regs saved on user stack got fudged between save and sigreturn)
++   * Otherwise it is easy to panic the kernel with a custom
++   * signal handler and/or restorer which clobberes the status32/ret
++   * to return to a bogus location in kernel mode.
++   */
++  regs->status32 |= STATUS_U_MASK;
++
+   return regs->r0;
+ 
+ badframe:
+@@ -234,8 +243,11 @@ setup_rt_frame(int signo, struct k_sigaction *ka, 
siginfo_t *info,
+ 
+   /*
+* handler returns using sigreturn stub provided already by userpsace
++   * If not, nuke the process right away
+*/
+-  BUG_ON(!(ka->sa.sa_flags & SA_RESTORER));
++  if(!(ka->sa.sa_flags & SA_RESTORER))
++  return 1;
++
+   regs->blink = (unsigned long)ka->sa.sa_restorer;
+ 
+   /* User Stack for signal handler will be above the frame just carved */
+@@ -302,12 +314,12 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, 
siginfo_t *info,
+ struct pt_regs *regs)
+ {
+   sigset_t *oldset = sigmask_to_save();
+-  int ret;
++  int failed;
+ 
+   /* Set up the stack frame */
+-  ret = setup_rt_frame(sig, ka, info, oldset, regs);
++  failed = setup_rt_frame(sig, ka, info, oldset, regs);
+ 
+-  if (ret)
++  if (failed)
+   force_sigsegv(sig, current);
+   else
+   signal_delivered(sig, info, ka, regs, 0);
+diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
+index 6cab46849cdb..d1e47092d21a 100644
+--- a/arch/arm/boot/dts/dove.dtsi
 b/arch/arm/boot/dts/dove.dtsi
+@@ -75,7 +75,7 @@
+ 
+   uart2: serial@12200 {
+   compatible = "ns16550a";
+-  reg = <0x12000 0x100>;
++  reg = <0x12200 0x100>;
+   reg-shift = <2>;
+   interrupts = <9>;
+   clocks = <&core_clk 0>;
+@@ -84,7 +84,7 @@
+ 
+   uart3: serial@12300 {
+   compatible = "ns16550a";
+-  reg = <0x12100 0x100>;
++  reg = <0x12300 0x100>;
+   reg-shift = <2>;
+   interrupts = <10>;
+   clocks = <&core_clk 0>;
+diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
+index 7e3f45105f11..dd297099c99d 100644
+--- a/drivers/block/rbd.c
 b/drivers/block/rbd.c
+@@ -2115,6 +2115,11 @@ static bool rbd_img_obj_end_request(struct 
rbd_obj_request *obj_request)
+   result, xferred);
+   if (!img_request->result)
+   img_request->result = result;
++  /*
++   * Need to end I/O on the entire obj_request worth of
++   * bytes in case of error.
++   */
++  xferred = obj_request->length;
+   }
+ 
+   /* Image object requests don't own their page array */
+diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
+index 21ef68934a20..edf8995cb3b3 100644
+--- a/drivers/hv/channel_mgmt.c
 b/drivers/hv/channel_mgmt.c
+@@ -64

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

2015-05-08 Thread Mike Pagano
commit: 975efe6fa0366a157bd1f54900693cdcc23c501d
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri May  8 12:53:49 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri May  8 12:53:49 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=975efe6f

Linux patch 3.10.76. Linux patch 3.10.77

 _README  |8 +
 1075_linux-3.10.76.patch | 2030 ++
 1076_linux-3.10.77.patch | 1848 +
 3 files changed, 3886 insertions(+)

diff --git a/_README b/_README
index 7ca2835..89fcce7 100644
--- a/_README
+++ b/_README
@@ -342,6 +342,14 @@ Patch:  1074_linux-3.10.75.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.75
 
+Patch:  1075_linux-3.10.76.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.76
+
+Patch:  1076_linux-3.10.77.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.77
+
 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/1075_linux-3.10.76.patch b/1075_linux-3.10.76.patch
new file mode 100644
index 000..6293ff4
--- /dev/null
+++ b/1075_linux-3.10.76.patch
@@ -0,0 +1,2030 @@
+diff --git a/Makefile b/Makefile
+index 87909d8302ad..019a6a4b386d 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 75
++SUBLEVEL = 76
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c
+index 98838a05ba6d..9d0ac091a52a 100644
+--- a/arch/alpha/mm/fault.c
 b/arch/alpha/mm/fault.c
+@@ -156,6 +156,8 @@ retry:
+   if (unlikely(fault & VM_FAULT_ERROR)) {
+   if (fault & VM_FAULT_OOM)
+   goto out_of_memory;
++  else if (fault & VM_FAULT_SIGSEGV)
++  goto bad_area;
+   else if (fault & VM_FAULT_SIGBUS)
+   goto do_sigbus;
+   BUG();
+diff --git a/arch/arc/mm/fault.c b/arch/arc/mm/fault.c
+index 50533b750a99..08f65bcf9130 100644
+--- a/arch/arc/mm/fault.c
 b/arch/arc/mm/fault.c
+@@ -160,6 +160,8 @@ good_area:
+   /* TBD: switch to pagefault_out_of_memory() */
+   if (fault & VM_FAULT_OOM)
+   goto out_of_memory;
++  else if (fault & VM_FAULT_SIGSEGV)
++  goto bad_area;
+   else if (fault & VM_FAULT_SIGBUS)
+   goto do_sigbus;
+ 
+diff --git a/arch/avr32/mm/fault.c b/arch/avr32/mm/fault.c
+index 0eca93327195..d223a8b57c1e 100644
+--- a/arch/avr32/mm/fault.c
 b/arch/avr32/mm/fault.c
+@@ -142,6 +142,8 @@ good_area:
+   if (unlikely(fault & VM_FAULT_ERROR)) {
+   if (fault & VM_FAULT_OOM)
+   goto out_of_memory;
++  else if (fault & VM_FAULT_SIGSEGV)
++  goto bad_area;
+   else if (fault & VM_FAULT_SIGBUS)
+   goto do_sigbus;
+   BUG();
+diff --git a/arch/cris/mm/fault.c b/arch/cris/mm/fault.c
+index 1790f22e71a2..2686a7aa8ec8 100644
+--- a/arch/cris/mm/fault.c
 b/arch/cris/mm/fault.c
+@@ -176,6 +176,8 @@ retry:
+   if (unlikely(fault & VM_FAULT_ERROR)) {
+   if (fault & VM_FAULT_OOM)
+   goto out_of_memory;
++  else if (fault & VM_FAULT_SIGSEGV)
++  goto bad_area;
+   else if (fault & VM_FAULT_SIGBUS)
+   goto do_sigbus;
+   BUG();
+diff --git a/arch/frv/mm/fault.c b/arch/frv/mm/fault.c
+index 9a66372fc7c7..ec4917ddf678 100644
+--- a/arch/frv/mm/fault.c
 b/arch/frv/mm/fault.c
+@@ -168,6 +168,8 @@ asmlinkage void do_page_fault(int datammu, unsigned long 
esr0, unsigned long ear
+   if (unlikely(fault & VM_FAULT_ERROR)) {
+   if (fault & VM_FAULT_OOM)
+   goto out_of_memory;
++  else if (fault & VM_FAULT_SIGSEGV)
++  goto bad_area;
+   else if (fault & VM_FAULT_SIGBUS)
+   goto do_sigbus;
+   BUG();
+diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c
+index 7225dad87094..ba5ba7accd0d 100644
+--- a/arch/ia64/mm/fault.c
 b/arch/ia64/mm/fault.c
+@@ -172,6 +172,8 @@ retry:
+*/
+   if (fault & VM_FAULT_OOM) {
+   goto out_of_memory;
++  } else if (fault & VM_FAULT_SIGSEGV) {
++  goto bad_area;
+   } else if (fault & VM_FAULT_SIGBUS) {
+   signal = SIGBUS;
+   goto bad_area;
+diff --git a/arch/m32r/mm/fault.c b/arch/m32r/mm/fault.c
+index e9c6a8014bd6..e3d4d4890104 100644
+--- a/arch/m32r/mm/fault.c
 b/arch/m32r/mm/fault.c
+@@ -200,6 +200,8 @@ good_area:
+   if (unlikely(fault & VM_FAULT_ERROR)) {
+   if (fault & VM_FAULT_OOM)
+   goto out_of_memory;
++  else 

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

2015-04-20 Thread Mike Pagano
commit: 1ed07cdf3b5a38329411bb4efeae4093c2160fae
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Apr 20 09:26:56 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Apr 20 09:26:56 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=1ed07cdf

Linux patch 3.10.75

 _README  |   4 +
 1074_linux-3.10.75.patch | 748 +++
 2 files changed, 752 insertions(+)

diff --git a/_README b/_README
index 43a21aa..7ca2835 100644
--- a/_README
+++ b/_README
@@ -338,6 +338,10 @@ Patch:  1073_linux-3.10.74.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.74
 
+Patch:  1074_linux-3.10.75.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.75
+
 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/1074_linux-3.10.75.patch b/1074_linux-3.10.75.patch
new file mode 100644
index 000..01ac0ff
--- /dev/null
+++ b/1074_linux-3.10.75.patch
@@ -0,0 +1,748 @@
+diff --git a/Makefile b/Makefile
+index d2a3930159ea..87909d8302ad 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 74
++SUBLEVEL = 75
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
+index a88894190e41..c991fe680e58 100644
+--- a/drivers/acpi/processor_idle.c
 b/drivers/acpi/processor_idle.c
+@@ -978,7 +978,7 @@ static int acpi_processor_setup_cpuidle_states(struct 
acpi_processor *pr)
+   return -EINVAL;
+ 
+   drv->safe_state_index = -1;
+-  for (i = 0; i < CPUIDLE_STATE_MAX; i++) {
++  for (i = CPUIDLE_DRIVER_STATE_START; i < CPUIDLE_STATE_MAX; i++) {
+   drv->states[i].name[0] = '\0';
+   drv->states[i].desc[0] = '\0';
+   }
+diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
+index cf1576d54363..a5c987ae665d 100644
+--- a/drivers/block/nbd.c
 b/drivers/block/nbd.c
+@@ -815,10 +815,6 @@ static int __init nbd_init(void)
+   return -EINVAL;
+   }
+ 
+-  nbd_dev = kcalloc(nbds_max, sizeof(*nbd_dev), GFP_KERNEL);
+-  if (!nbd_dev)
+-  return -ENOMEM;
+-
+   part_shift = 0;
+   if (max_part > 0) {
+   part_shift = fls(max_part);
+@@ -840,6 +836,10 @@ static int __init nbd_init(void)
+   if (nbds_max > 1UL << (MINORBITS - part_shift))
+   return -EINVAL;
+ 
++  nbd_dev = kcalloc(nbds_max, sizeof(*nbd_dev), GFP_KERNEL);
++  if (!nbd_dev)
++  return -ENOMEM;
++
+   for (i = 0; i < nbds_max; i++) {
+   struct gendisk *disk = alloc_disk(1 << part_shift);
+   if (!disk)
+diff --git a/drivers/dma/omap-dma.c b/drivers/dma/omap-dma.c
+index ec3fc4fd9160..b94a37630e36 100644
+--- a/drivers/dma/omap-dma.c
 b/drivers/dma/omap-dma.c
+@@ -487,6 +487,7 @@ static int omap_dma_terminate_all(struct omap_chan *c)
+* c->desc is NULL and exit.)
+*/
+   if (c->desc) {
++  omap_dma_desc_free(&c->desc->vd);
+   c->desc = NULL;
+   /* Avoid stopping the dma twice */
+   if (!c->paused)
+diff --git a/drivers/gpu/drm/radeon/radeon_bios.c 
b/drivers/gpu/drm/radeon/radeon_bios.c
+index b131520521e4..72b02483ff03 100644
+--- a/drivers/gpu/drm/radeon/radeon_bios.c
 b/drivers/gpu/drm/radeon/radeon_bios.c
+@@ -76,7 +76,7 @@ static bool igp_read_bios_from_vram(struct radeon_device 
*rdev)
+ 
+ static bool radeon_read_bios(struct radeon_device *rdev)
+ {
+-  uint8_t __iomem *bios;
++  uint8_t __iomem *bios, val1, val2;
+   size_t size;
+ 
+   rdev->bios = NULL;
+@@ -86,15 +86,19 @@ static bool radeon_read_bios(struct radeon_device *rdev)
+   return false;
+   }
+ 
+-  if (size == 0 || bios[0] != 0x55 || bios[1] != 0xaa) {
++  val1 = readb(&bios[0]);
++  val2 = readb(&bios[1]);
++
++  if (size == 0 || val1 != 0x55 || val2 != 0xaa) {
+   pci_unmap_rom(rdev->pdev, bios);
+   return false;
+   }
+-  rdev->bios = kmemdup(bios, size, GFP_KERNEL);
++  rdev->bios = kzalloc(size, GFP_KERNEL);
+   if (rdev->bios == NULL) {
+   pci_unmap_rom(rdev->pdev, bios);
+   return false;
+   }
++  memcpy_fromio(rdev->bios, bios, size);
+   pci_unmap_rom(rdev->pdev, bios);
+   return true;
+ }
+diff --git a/drivers/iio/imu/adis_trigger.c b/drivers/iio/imu/adis_trigger.c
+index e0017c22bb9c..f53e9a803a0e 100644
+--- a/drivers/iio/imu/adis_trigger.c
 b/drivers/iio/imu/adis_trigger.c
+@@ -60,7 +60,7 @@ int adis_probe_trigger(struct adis *adis, struct iio_dev 
*indio_dev)
+   iio_trigger_set_drvdata(adis->trig, adis);
+   ret = iio_trigger_register(adis->trig);
+ 
+-  indio_dev->trig = adis->trig;
++  indio_dev->trig = iio_trigger_get(adis->trig);
+   if (ret)
+

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

2015-04-14 Thread Mike Pagano
commit: 6580d9fac23bee925ad44b62d9bc581d33e22626
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Apr 14 13:05:39 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Apr 14 13:05:39 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=6580d9fa

Linux patch 3.10.74

 _README  |   4 +
 1073_linux-3.10.74.patch | 599 +++
 2 files changed, 603 insertions(+)

diff --git a/_README b/_README
index 9319079..43a21aa 100644
--- a/_README
+++ b/_README
@@ -334,6 +334,10 @@ Patch:  1072_linux-3.10.73.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.73
 
+Patch:  1073_linux-3.10.74.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.74
+
 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/1073_linux-3.10.74.patch b/1073_linux-3.10.74.patch
new file mode 100644
index 000..7dc6831
--- /dev/null
+++ b/1073_linux-3.10.74.patch
@@ -0,0 +1,599 @@
+diff --git a/Makefile b/Makefile
+index b1129094ebfd..d2a3930159ea 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 73
++SUBLEVEL = 74
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi 
b/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi
+index 1382fec9e8c5..7fcb1ac0f232 100644
+--- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi
 b/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi
+@@ -50,6 +50,7 @@ ethernet@b {
+   fsl,num_tx_queues = <0x8>;
+   fsl,magic-packet;
+   local-mac-address = [ 00 00 00 00 00 00 ];
++  ranges;
+ 
+   queue-group@b {
+   #address-cells = <1>;
+diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi 
b/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi
+index 221cd2ea5b31..9f25427c1527 100644
+--- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi
 b/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi
+@@ -50,6 +50,7 @@ ethernet@b1000 {
+   fsl,num_tx_queues = <0x8>;
+   fsl,magic-packet;
+   local-mac-address = [ 00 00 00 00 00 00 ];
++  ranges;
+ 
+   queue-group@b1000 {
+   #address-cells = <1>;
+diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi 
b/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi
+index 61456c317609..cd7c318ab131 100644
+--- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi
 b/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi
+@@ -49,6 +49,7 @@ ethernet@b2000 {
+   fsl,num_tx_queues = <0x8>;
+   fsl,magic-packet;
+   local-mac-address = [ 00 00 00 00 00 00 ];
++  ranges;
+ 
+   queue-group@b2000 {
+   #address-cells = <1>;
+diff --git a/drivers/md/dm.c b/drivers/md/dm.c
+index a87f0c42cb8b..f69fed826a56 100644
+--- a/drivers/md/dm.c
 b/drivers/md/dm.c
+@@ -2333,10 +2333,16 @@ static void __dm_destroy(struct mapped_device *md, 
bool wait)
+   set_bit(DMF_FREEING, &md->flags);
+   spin_unlock(&_minor_lock);
+ 
++  /*
++   * Take suspend_lock so that presuspend and postsuspend methods
++   * do not race with internal suspend.
++   */
++  mutex_lock(&md->suspend_lock);
+   if (!dm_suspended_md(md)) {
+   dm_table_presuspend_targets(map);
+   dm_table_postsuspend_targets(map);
+   }
++  mutex_unlock(&md->suspend_lock);
+ 
+   /*
+* Rare, but there may be I/O requests still going to complete,
+diff --git a/drivers/net/ethernet/amd/pcnet32.c 
b/drivers/net/ethernet/amd/pcnet32.c
+index ed2130727643..f6415fda103b 100644
+--- a/drivers/net/ethernet/amd/pcnet32.c
 b/drivers/net/ethernet/amd/pcnet32.c
+@@ -1516,7 +1516,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct 
pci_dev *pdev)
+ {
+   struct pcnet32_private *lp;
+   int i, media;
+-  int fdx, mii, fset, dxsuflo;
++  int fdx, mii, fset, dxsuflo, sram;
+   int chip_version;
+   char *chipname;
+   struct net_device *dev;
+@@ -1553,7 +1553,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct 
pci_dev *pdev)
+   }
+ 
+   /* initialize variables */
+-  fdx = mii = fset = dxsuflo = 0;
++  fdx = mii = fset = dxsuflo = sram = 0;
+   chip_version = (chip_version >> 12) & 0x;
+ 
+   switch (chip_version) {
+@@ -1586,6 +1586,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct 
pci_dev *pdev)
+   chipname = "PCnet/FAST III 79C973"; /* PCI */
+   fdx = 1;
+   mii = 1;
++  sram = 1;
+   break;
+   case 0x2626:
+   chipname = "PCnet/Home 79C978"; /* PCI */
+@@ -1609,6 +1610,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct 
pci_dev *pdev)
+   chipname = "PCnet/FAST III 79C975"; /* PCI */
+   fdx = 1;
+   mii = 1;
++  sram = 1;
+   break;
+   case 0x2628:
+ 

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

2015-03-28 Thread Mike Pagano
commit: 97608c66db0b4ea264f5fc4a6516f124d71da412
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Mar 28 20:02:50 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Mar 28 20:02:50 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=97608c66

Add check to saved_root_name for supported filesystem path naming.

 2900_dev-root-proc-mount-fix.patch | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/2900_dev-root-proc-mount-fix.patch 
b/2900_dev-root-proc-mount-fix.patch
index 4c89adf..4a7e42a 100644
--- a/2900_dev-root-proc-mount-fix.patch
+++ b/2900_dev-root-proc-mount-fix.patch
@@ -1,6 +1,6 @@
 a/init/do_mounts.c 2013-01-25 19:11:11.609802424 -0500
-+++ b/init/do_mounts.c 2013-01-25 19:14:20.606053568 -0500
-@@ -461,7 +461,10 @@ void __init change_floppy(char *fmt, ...
+--- a/init/do_mounts.c 2015-03-28 16:00:36.114842442 -0400
 b/init/do_mounts.c 2015-03-28 16:01:57.768841663 -0400
+@@ -480,7 +480,10 @@ void __init change_floppy(char *fmt, ...
va_start(args, fmt);
vsprintf(buf, fmt, args);
va_end(args);
@@ -12,12 +12,12 @@
if (fd >= 0) {
sys_ioctl(fd, FDEJECT, 0);
sys_close(fd);
-@@ -505,7 +508,13 @@ void __init mount_root(void)
+@@ -524,7 +527,13 @@ void __init mount_root(void)
  #endif
  #ifdef CONFIG_BLOCK
create_dev("/dev/root", ROOT_DEV);
 -  mount_block_root("/dev/root", root_mountflags);
-+  if (saved_root_name[0]) {
++  if (saved_root_name[0] == '/') {
 +  create_dev(saved_root_name, ROOT_DEV);
 +  mount_block_root(saved_root_name, root_mountflags);
 +  } else {



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

2015-03-26 Thread Mike Pagano
commit: ad556f40fb7e235038ee94c87a2b20fee2e064df
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Mar 26 17:04:56 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Mar 26 17:04:56 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=ad556f40

Linux patch 3.10.73

 _README  |4 +
 1072_linux-3.10.73.patch | 1772 ++
 2 files changed, 1776 insertions(+)

diff --git a/_README b/_README
index b0f0bc4..9319079 100644
--- a/_README
+++ b/_README
@@ -330,6 +330,10 @@ Patch:  1071_linux-3.10.72.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.72
 
+Patch:  1072_linux-3.10.73.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.73
+
 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/1072_linux-3.10.73.patch b/1072_linux-3.10.73.patch
new file mode 100644
index 000..ec1cc88
--- /dev/null
+++ b/1072_linux-3.10.73.patch
@@ -0,0 +1,1772 @@
+diff --git a/Makefile b/Makefile
+index 211bb34102bf..b1129094ebfd 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 72
++SUBLEVEL = 73
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h
+index 2f5908f0b8c5..d8af0755bddc 100644
+--- a/arch/arm/mach-at91/pm.h
 b/arch/arm/mach-at91/pm.h
+@@ -37,7 +37,7 @@ static inline void at91rm9200_standby(void)
+   "mcrp15, 0, %0, c7, c0, 4\n\t"
+   "str%5, [%1, %2]"
+   :
+-  : "r" (0), "r" (AT91_BASE_SYS), "r" (AT91RM9200_SDRAMC_LPR),
++  : "r" (0), "r" (at91_ramc_base[0]), "r" (AT91RM9200_SDRAMC_LPR),
+ "r" (1), "r" (AT91RM9200_SDRAMC_SRR),
+ "r" (lpr));
+ }
+diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
+index ee7ac5e6e28a..c5c640779549 100644
+--- a/arch/powerpc/kernel/smp.c
 b/arch/powerpc/kernel/smp.c
+@@ -544,8 +544,8 @@ int __cpuinit __cpu_up(unsigned int cpu, struct 
task_struct *tidle)
+   if (smp_ops->give_timebase)
+   smp_ops->give_timebase();
+ 
+-  /* Wait until cpu puts itself in the online map */
+-  while (!cpu_online(cpu))
++  /* Wait until cpu puts itself in the online & active maps */
++  while (!cpu_online(cpu) || !cpu_active(cpu))
+   cpu_relax();
+ 
+   return 0;
+diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c
+index b5c38faa4ead..d461b7ddf30e 100644
+--- a/arch/sparc/kernel/perf_event.c
 b/arch/sparc/kernel/perf_event.c
+@@ -960,6 +960,8 @@ out:
+   cpuc->pcr[0] |= cpuc->event[0]->hw.config_base;
+ }
+ 
++static void sparc_pmu_start(struct perf_event *event, int flags);
++
+ /* On this PMU each PIC has it's own PCR control register.  */
+ static void calculate_multiple_pcrs(struct cpu_hw_events *cpuc)
+ {
+@@ -972,20 +974,13 @@ static void calculate_multiple_pcrs(struct cpu_hw_events 
*cpuc)
+   struct perf_event *cp = cpuc->event[i];
+   struct hw_perf_event *hwc = &cp->hw;
+   int idx = hwc->idx;
+-  u64 enc;
+ 
+   if (cpuc->current_idx[i] != PIC_NO_INDEX)
+   continue;
+ 
+-  sparc_perf_event_set_period(cp, hwc, idx);
+   cpuc->current_idx[i] = idx;
+ 
+-  enc = perf_event_get_enc(cpuc->events[i]);
+-  cpuc->pcr[idx] &= ~mask_for_index(idx);
+-  if (hwc->state & PERF_HES_STOPPED)
+-  cpuc->pcr[idx] |= nop_for_index(idx);
+-  else
+-  cpuc->pcr[idx] |= event_encoding(enc, idx);
++  sparc_pmu_start(cp, PERF_EF_RELOAD);
+   }
+ out:
+   for (i = 0; i < cpuc->n_events; i++) {
+@@ -1101,7 +1096,6 @@ static void sparc_pmu_del(struct perf_event *event, int 
_flags)
+   int i;
+ 
+   local_irq_save(flags);
+-  perf_pmu_disable(event->pmu);
+ 
+   for (i = 0; i < cpuc->n_events; i++) {
+   if (event == cpuc->event[i]) {
+@@ -1127,7 +1121,6 @@ static void sparc_pmu_del(struct perf_event *event, int 
_flags)
+   }
+   }
+ 
+-  perf_pmu_enable(event->pmu);
+   local_irq_restore(flags);
+ }
+ 
+@@ -1361,7 +1354,6 @@ static int sparc_pmu_add(struct perf_event *event, int 
ef_flags)
+   unsigned long flags;
+ 
+   local_irq_save(flags);
+-  perf_pmu_disable(event->pmu);
+ 
+   n0 = cpuc->n_events;
+   if (n0 >= sparc_pmu->max_hw_events)
+@@ -1394,7 +1386,6 @@ nocheck:
+ 
+   ret = 0;
+ out:
+-  perf_pmu_enable(event->pmu);
+   local_irq_restore(flags);
+   return ret;
+ }
+diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c
+index b9cc9763faf4..036e43cef6fb 100644
+--- a/arch/sparc/kernel/process_64.c
 b/arch/sparc/kernel/process_6

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

2015-03-19 Thread Mike Pagano
commit: 052ca8438702120dc6223b16609b86ec006c6989
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Mar 19 22:57:46 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Mar 19 22:57:46 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=052ca843

Linux patch 3.10.72

 _README  |4 +
 1071_linux-3.10.72.patch | 2207 ++
 2 files changed, 2211 insertions(+)

diff --git a/_README b/_README
index 16b79b8..b0f0bc4 100644
--- a/_README
+++ b/_README
@@ -326,6 +326,10 @@ Patch:  1070_linux-3.10.71.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.71
 
+Patch:  1071_linux-3.10.72.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.72
+
 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/1071_linux-3.10.72.patch b/1071_linux-3.10.72.patch
new file mode 100644
index 000..430142d
--- /dev/null
+++ b/1071_linux-3.10.72.patch
@@ -0,0 +1,2207 @@
+diff --git a/Makefile b/Makefile
+index d8b42f71ea5a..211bb34102bf 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 71
++SUBLEVEL = 72
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/mips/kvm/trace.h b/arch/mips/kvm/trace.h
+index bc9e0f406c08..e51621e36152 100644
+--- a/arch/mips/kvm/trace.h
 b/arch/mips/kvm/trace.h
+@@ -26,18 +26,18 @@ TRACE_EVENT(kvm_exit,
+   TP_PROTO(struct kvm_vcpu *vcpu, unsigned int reason),
+   TP_ARGS(vcpu, reason),
+   TP_STRUCT__entry(
+-  __field(struct kvm_vcpu *, vcpu)
++  __field(unsigned long, pc)
+   __field(unsigned int, reason)
+   ),
+ 
+   TP_fast_assign(
+-  __entry->vcpu = vcpu;
++  __entry->pc = vcpu->arch.pc;
+   __entry->reason = reason;
+   ),
+ 
+   TP_printk("[%s]PC: 0x%08lx",
+ kvm_mips_exit_types_str[__entry->reason],
+-__entry->vcpu->arch.pc)
++__entry->pc)
+ );
+ 
+ #endif /* _TRACE_KVM_H */
+diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
+index 948b2e14df8c..6ed8f16fd61b 100644
+--- a/arch/x86/kernel/entry_64.S
 b/arch/x86/kernel/entry_64.S
+@@ -557,11 +557,14 @@ ENTRY(ret_from_fork)
+   testl $3, CS-ARGOFFSET(%rsp)# from kernel_thread?
+   jz   1f
+ 
+-  testl $_TIF_IA32, TI_flags(%rcx)# 32-bit compat task needs IRET
+-  jnz  int_ret_from_sys_call
+-
+-  RESTORE_TOP_OF_STACK %rdi, -ARGOFFSET
+-  jmp ret_from_sys_call   # go to the SYSRET fastpath
++  /*
++   * By the time we get here, we have no idea whether our pt_regs,
++   * ti flags, and ti status came from the 64-bit SYSCALL fast path,
++   * the slow path, or one of the ia32entry paths.
++   * Use int_ret_from_sys_call to return, since it can safely handle
++   * all of the above.
++   */
++  jmp  int_ret_from_sys_call
+ 
+ 1:
+   subq $REST_SKIP, %rsp   # leave space for volatiles
+diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
+index 4c01f022c6ac..af88fa20dbe8 100644
+--- a/arch/x86/kvm/emulate.c
 b/arch/x86/kvm/emulate.c
+@@ -4732,7 +4732,8 @@ int x86_emulate_insn(struct x86_emulate_ctxt *ctxt)
+   if (rc != X86EMUL_CONTINUE)
+   goto done;
+   }
+-  ctxt->dst.orig_val = ctxt->dst.val;
++  /* Copy full 64-bit value for CMPXCHG8B.  */
++  ctxt->dst.orig_val64 = ctxt->dst.val64;
+ 
+ special_insn:
+ 
+diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
+index 82a01cc45f9c..0dc9ff61d7c2 100644
+--- a/drivers/acpi/video.c
 b/drivers/acpi/video.c
+@@ -1953,6 +1953,17 @@ EXPORT_SYMBOL(acpi_video_unregister);
+ 
+ static int __init acpi_video_init(void)
+ {
++  /*
++   * Let the module load even if ACPI is disabled (e.g. due to
++   * a broken BIOS) so that i915.ko can still be loaded on such
++   * old systems without an AcpiOpRegion.
++   *
++   * acpi_video_register() will report -ENODEV later as well due
++   * to acpi_disabled when i915.ko tries to register itself afterwards.
++   */
++  if (acpi_disabled)
++  return 0;
++
+   dmi_check_system(video_dmi_table);
+ 
+   if (intel_opregion_present())
+diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c
+index 88523f91d9b7..7555793097f2 100644
+--- a/drivers/clk/sunxi/clk-factors.c
 b/drivers/clk/sunxi/clk-factors.c
+@@ -70,7 +70,7 @@ static unsigned long clk_factors_recalc_rate(struct clk_hw 
*hw,
+   p = FACTOR_GET(config->pshift, config->pwidth, reg);
+ 
+   /* Calculate the rate */
+-  rate = (parent_rate * n * (k + 1) >> p) / (m + 1);
++  rate = (parent_rate * (n + 

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

2015-03-07 Thread Mike Pagano
commit: 8003cfece2af3029db01cf641310ce9c9af859de
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Mar  7 14:53:26 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Mar  7 14:53:26 2015 +
URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=8003cfec

Linux patch 3.10.71

 _README  |4 +
 1070_linux-3.10.71.patch | 1503 ++
 2 files changed, 1507 insertions(+)

diff --git a/_README b/_README
index 59f86bb..16b79b8 100644
--- a/_README
+++ b/_README
@@ -322,6 +322,10 @@ Patch:  1069_linux-3.10.70.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.70
 
+Patch:  1070_linux-3.10.71.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.71
+
 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/1070_linux-3.10.71.patch b/1070_linux-3.10.71.patch
new file mode 100644
index 000..3465e29
--- /dev/null
+++ b/1070_linux-3.10.71.patch
@@ -0,0 +1,1503 @@
+diff --git a/Makefile b/Makefile
+index 402cbb7c27f1..d8b42f71ea5a 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 70
++SUBLEVEL = 71
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arc/include/asm/pgtable.h b/arch/arc/include/asm/pgtable.h
+index 95b1522212a7..ecf23eaa20c1 100644
+--- a/arch/arc/include/asm/pgtable.h
 b/arch/arc/include/asm/pgtable.h
+@@ -270,7 +270,8 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep)
+ #define pmd_clear(xp) do { pmd_val(*(xp)) = 0; } while (0)
+ 
+ #define pte_page(x) (mem_map + \
+-  (unsigned long)(((pte_val(x) - PAGE_OFFSET) >> PAGE_SHIFT)))
++  (unsigned long)(((pte_val(x) - CONFIG_LINUX_LINK_BASE) >> \
++  PAGE_SHIFT)))
+ 
+ #define mk_pte(page, pgprot)  \
+ ({\
+diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c
+index a5b8fead7d61..9cb7ea776ecd 100644
+--- a/arch/arm/mach-pxa/corgi.c
 b/arch/arm/mach-pxa/corgi.c
+@@ -26,6 +26,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ #include 
+ #include 
+ #include 
+@@ -711,6 +712,8 @@ static void __init corgi_init(void)
+   sharpsl_nand_partitions[1].size = 53 * 1024 * 1024;
+ 
+   platform_add_devices(devices, ARRAY_SIZE(devices));
++
++  regulator_has_full_constraints();
+ }
+ 
+ static void __init fixup_corgi(struct tag *tags, char **cmdline,
+diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c
+index 133109ec7332..a07accfb3aec 100644
+--- a/arch/arm/mach-pxa/hx4700.c
 b/arch/arm/mach-pxa/hx4700.c
+@@ -891,6 +891,8 @@ static void __init hx4700_init(void)
+   mdelay(10);
+   gpio_set_value(GPIO71_HX4700_ASIC3_nRESET, 1);
+   mdelay(10);
++
++  regulator_has_full_constraints();
+ }
+ 
+ MACHINE_START(H4700, "HP iPAQ HX4700")
+diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c
+index 50ccd5f1d560..362c05fffc28 100644
+--- a/arch/arm/mach-pxa/poodle.c
 b/arch/arm/mach-pxa/poodle.c
+@@ -25,6 +25,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ #include 
+ #include 
+ #include 
+@@ -452,6 +453,7 @@ static void __init poodle_init(void)
+   pxa_set_i2c_info(NULL);
+   i2c_register_board_info(0, ARRAY_AND_SIZE(poodle_i2c_devices));
+   poodle_init_spi();
++  regulator_has_full_constraints();
+ }
+ 
+ static void __init fixup_poodle(struct tag *tags, char **cmdline,
+diff --git a/arch/arm/mach-sa1100/pm.c b/arch/arm/mach-sa1100/pm.c
+index 6645d1e31f14..34853d5dfda2 100644
+--- a/arch/arm/mach-sa1100/pm.c
 b/arch/arm/mach-sa1100/pm.c
+@@ -81,6 +81,7 @@ static int sa11x0_pm_enter(suspend_state_t state)
+   /*
+* Ensure not to come back here if it wasn't intended
+*/
++  RCSR = RCSR_SMR;
+   PSPR = 0;
+ 
+   /*
+diff --git a/arch/arm64/kernel/signal32.c b/arch/arm64/kernel/signal32.c
+index e393174fe859..3d478102b1c0 100644
+--- a/arch/arm64/kernel/signal32.c
 b/arch/arm64/kernel/signal32.c
+@@ -179,8 +179,7 @@ int copy_siginfo_to_user32(compat_siginfo_t __user *to, 
siginfo_t *from)
+   case __SI_TIMER:
+err |= __put_user(from->si_tid, &to->si_tid);
+err |= __put_user(from->si_overrun, &to->si_overrun);
+-   err |= __put_user((compat_uptr_t)(unsigned long)from->si_ptr,
+- &to->si_ptr);
++   err |= __put_user(from->si_int, &to->si_int);
+   break;
+   case __SI_POLL:
+   err |= __put_user(from->si_band, &to->si_band);
+@@ -209,7 +208,7 @@ int copy_siginfo_to_user32(compat_siginfo_t __user *to, 
siginfo_t *from)
+   case __SI_MESGQ: /* But this is */
+   err |= __put_user(from->si_pid, &to->si_pid);
+   

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

2015-02-27 Thread Mike Pagano
commit: 67b9d04ff69ca7c7a8be3fefb3247bd81d2241cc
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Feb 27 18:23:46 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Feb 27 18:23:46 2015 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=67b9d04f

Linux patch 3.10.70. Enable link security restrictions by default.

---
 _README  |   4 +
 1069_linux-3.10.70.patch | 569 +++
 2 files changed, 573 insertions(+)

diff --git a/_README b/_README
index 1791ea5..59f86bb 100644
--- a/_README
+++ b/_README
@@ -318,6 +318,10 @@ Patch:  1068_linux-3.10.69.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.69
 
+Patch:  1069_linux-3.10.70.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.70
+
 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/1069_linux-3.10.70.patch b/1069_linux-3.10.70.patch
new file mode 100644
index 000..eb0b700
--- /dev/null
+++ b/1069_linux-3.10.70.patch
@@ -0,0 +1,569 @@
+diff --git a/Makefile b/Makefile
+index 81ede20061cf..402cbb7c27f1 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 69
++SUBLEVEL = 70
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
+index 9951e66b8502..7e3f45105f11 100644
+--- a/drivers/block/rbd.c
 b/drivers/block/rbd.c
+@@ -2149,7 +2149,6 @@ static void rbd_img_obj_callback(struct rbd_obj_request 
*obj_request)
+   rbd_assert(img_request->obj_request_count > 0);
+   rbd_assert(which != BAD_WHICH);
+   rbd_assert(which < img_request->obj_request_count);
+-  rbd_assert(which >= img_request->next_completion);
+ 
+   spin_lock_irq(&img_request->completion_lock);
+   if (which != img_request->next_completion)
+diff --git a/drivers/media/rc/ir-lirc-codec.c 
b/drivers/media/rc/ir-lirc-codec.c
+index e4561264e124..a895ed02da86 100644
+--- a/drivers/media/rc/ir-lirc-codec.c
 b/drivers/media/rc/ir-lirc-codec.c
+@@ -42,11 +42,17 @@ static int ir_lirc_decode(struct rc_dev *dev, struct 
ir_raw_event ev)
+   return -EINVAL;
+ 
+   /* Packet start */
+-  if (ev.reset)
+-  return 0;
++  if (ev.reset) {
++  /* Userspace expects a long space event before the start of
++   * the signal to use as a sync.  This may be done with repeat
++   * packets and normal samples.  But if a reset has been sent
++   * then we assume that a long time has passed, so we send a
++   * space with the maximum time value. */
++  sample = LIRC_SPACE(LIRC_VALUE_MASK);
++  IR_dprintk(2, "delivering reset sync space to lirc_dev\n");
+ 
+   /* Carrier reports */
+-  if (ev.carrier_report) {
++  } else if (ev.carrier_report) {
+   sample = LIRC_FREQUENCY(ev.carrier);
+   IR_dprintk(2, "carrier report (freq: %d)\n", sample);
+ 
+diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c 
b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
+index af951f343ff6..50104a7e963f 100644
+--- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
 b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
+@@ -2315,7 +2315,10 @@ static int netxen_nic_poll(struct napi_struct *napi, 
int budget)
+ 
+   work_done = netxen_process_rcv_ring(sds_ring, budget);
+ 
+-  if ((work_done < budget) && tx_complete) {
++  if (!tx_complete)
++  work_done = budget;
++
++  if (work_done < budget) {
+   napi_complete(&sds_ring->napi);
+   if (test_bit(__NX_DEV_UP, &adapter->state))
+   netxen_nic_enable_int(sds_ring);
+diff --git a/drivers/net/ppp/ppp_deflate.c b/drivers/net/ppp/ppp_deflate.c
+index 602c625d95d5..b5edc7f96a39 100644
+--- a/drivers/net/ppp/ppp_deflate.c
 b/drivers/net/ppp/ppp_deflate.c
+@@ -246,7 +246,7 @@ static int z_compress(void *arg, unsigned char *rptr, 
unsigned char *obuf,
+   /*
+* See if we managed to reduce the size of the packet.
+*/
+-  if (olen < isize) {
++  if (olen < isize && olen <= osize) {
+   state->stats.comp_bytes += olen;
+   state->stats.comp_packets++;
+   } else {
+diff --git a/include/net/ip.h b/include/net/ip.h
+index 8695359982d1..0a62365149e2 100644
+--- a/include/net/ip.h
 b/include/net/ip.h
+@@ -37,11 +37,12 @@ struct inet_skb_parm {
+   struct ip_options   opt;/* Compiled IP options  
*/
+   unsigned char   flags;
+ 
+-#define IPSKB_FORWARDED   1
+-#define IPSKB_XFRM_TUNNEL_SIZE2
+-#define IPSKB_XFRM_TRANSFORMED4
+-#define IPSKB_FRAG_COMPLETE   8
+-#define IPSKB_REROUTED16
++#define IPSKB_FORWARDED   BIT(0)
++#define I

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

2015-02-14 Thread Mike Pagano
commit: 2be779767cc0867fc31cbef0f8ccd1890ae53199
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Feb 14 21:25:32 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Feb 14 21:25:32 2015 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=2be77976

Enable link security restrictions by default

---
 _README|  4 
 ...ble-link-security-restrictions-by-default.patch | 22 ++
 2 files changed, 26 insertions(+)

diff --git a/_README b/_README
index de5e6ac..1791ea5 100644
--- a/_README
+++ b/_README
@@ -326,6 +326,10 @@ Patch:  
1505_selinux-add-SOCK_DIAG_BY_FAMILY-to-the-list-of-netli.patch
 From:   
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=6a96e15096da6e7491107321cfa660c7c2aa119d
 Desc:   selinux: add SOCK_DIAG_BY_FAMILY to the list of netlink message types
 
+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:  1700_enable-thinkpad-micled.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=449248
 Desc:   Enable mic mute led in thinkpads

diff --git a/1510_fs-enable-link-security-restrictions-by-default.patch 
b/1510_fs-enable-link-security-restrictions-by-default.patch
new file mode 100644
index 000..639fb3c
--- /dev/null
+++ b/1510_fs-enable-link-security-restrictions-by-default.patch
@@ -0,0 +1,22 @@
+From: Ben Hutchings 
+Subject: fs: Enable link security restrictions by default
+Date: Fri, 02 Nov 2012 05:32:06 +
+Bug-Debian: https://bugs.debian.org/609455
+Forwarded: not-needed
+
+This reverts commit 561ec64ae67ef25cac8d72bb9c4bfc955edfd415
+('VFS: don't do protected {sym,hard}links by default').
+
+--- a/fs/namei.c
 b/fs/namei.c
+@@ -651,8 +651,8 @@ static inline void put_link(struct namei
+   path_put(link);
+ }
+ 
+-int sysctl_protected_symlinks __read_mostly = 0;
+-int sysctl_protected_hardlinks __read_mostly = 0;
++int sysctl_protected_symlinks __read_mostly = 1;
++int sysctl_protected_hardlinks __read_mostly = 1;
+ 
+ /**
+  * may_follow_link - Check symlink following for unsafe situations



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

2015-02-11 Thread Mike Pagano
commit: 52f94c2bc556c879ebcf3aedcac90c48cf164cf9
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed Feb 11 15:22:14 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed Feb 11 15:22:14 2015 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=52f94c2b

Linux patch 3.10.69

---
 _README  |   4 +
 1068_linux-3.10.69.patch | 876 +++
 2 files changed, 880 insertions(+)

diff --git a/_README b/_README
index 0cdf9c0..de5e6ac 100644
--- a/_README
+++ b/_README
@@ -314,6 +314,10 @@ Patch:  1067_linux-3.10.68.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.68
 
+Patch:  1068_linux-3.10.69.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.69
+
 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/1068_linux-3.10.69.patch b/1068_linux-3.10.69.patch
new file mode 100644
index 000..a20a5fd
--- /dev/null
+++ b/1068_linux-3.10.69.patch
@@ -0,0 +1,876 @@
+diff --git a/Makefile b/Makefile
+index dd67be657716..81ede20061cf 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 68
++SUBLEVEL = 69
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm64/include/asm/cputype.h 
b/arch/arm64/include/asm/cputype.h
+index cf2749488cd4..be9b5ca9a6c0 100644
+--- a/arch/arm64/include/asm/cputype.h
 b/arch/arm64/include/asm/cputype.h
+@@ -74,6 +74,8 @@ static inline u32 __attribute_const__ 
read_cpuid_cachetype(void)
+   return read_cpuid(ID_CTR_EL0);
+ }
+ 
++void cpuinfo_store_cpu(void);
++
+ #endif /* __ASSEMBLY__ */
+ 
+ #endif
+diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
+index add6ea616843..7cc551d1b0e1 100644
+--- a/arch/arm64/kernel/setup.c
 b/arch/arm64/kernel/setup.c
+@@ -41,6 +41,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ 
+ #include 
+ #include 
+@@ -97,6 +98,19 @@ void __init early_print(const char *str, ...)
+   printk("%s", buf);
+ }
+ 
++struct cpuinfo_arm64 {
++  struct cpu  cpu;
++  u32 reg_midr;
++};
++
++static DEFINE_PER_CPU(struct cpuinfo_arm64, cpu_data);
++
++void cpuinfo_store_cpu(void)
++{
++  struct cpuinfo_arm64 *info = this_cpu_ptr(&cpu_data);
++  info->reg_midr = read_cpuid_id();
++}
++
+ static void __init setup_processor(void)
+ {
+   struct cpu_info *cpu_info;
+@@ -127,6 +141,8 @@ static void __init setup_machine_fdt(phys_addr_t dt_phys)
+   struct boot_param_header *devtree;
+   unsigned long dt_root;
+ 
++  cpuinfo_store_cpu();
++
+   /* Check we have a non-NULL DT pointer */
+   if (!dt_phys) {
+   early_print("\n"
+@@ -290,14 +306,12 @@ static int __init arm64_device_init(void)
+ }
+ arch_initcall(arm64_device_init);
+ 
+-static DEFINE_PER_CPU(struct cpu, cpu_data);
+-
+ static int __init topology_init(void)
+ {
+   int i;
+ 
+   for_each_possible_cpu(i) {
+-  struct cpu *cpu = &per_cpu(cpu_data, i);
++  struct cpu *cpu = &per_cpu(cpu_data.cpu, i);
+   cpu->hotpluggable = 1;
+   register_cpu(cpu, i);
+   }
+@@ -312,14 +326,41 @@ static const char *hwcap_str[] = {
+   NULL
+ };
+ 
++#ifdef CONFIG_COMPAT
++static const char *compat_hwcap_str[] = {
++  "swp",
++  "half",
++  "thumb",
++  "26bit",
++  "fastmult",
++  "fpa",
++  "vfp",
++  "edsp",
++  "java",
++  "iwmmxt",
++  "crunch",
++  "thumbee",
++  "neon",
++  "vfpv3",
++  "vfpv3d16",
++  "tls",
++  "vfpv4",
++  "idiva",
++  "idivt",
++  "vfpd32",
++  "lpae",
++  "evtstrm"
++};
++#endif /* CONFIG_COMPAT */
++
+ static int c_show(struct seq_file *m, void *v)
+ {
+-  int i;
+-
+-  seq_printf(m, "Processor\t: %s rev %d (%s)\n",
+- cpu_name, read_cpuid_id() & 15, ELF_PLATFORM);
++  int i, j;
+ 
+   for_each_online_cpu(i) {
++  struct cpuinfo_arm64 *cpuinfo = &per_cpu(cpu_data, i);
++  u32 midr = cpuinfo->reg_midr;
++
+   /*
+* glibc reads /proc/cpuinfo to determine the number of
+* online processors, looking for lines beginning with
+@@ -328,27 +369,36 @@ static int c_show(struct seq_file *m, void *v)
+ #ifdef CONFIG_SMP
+   seq_printf(m, "processor\t: %d\n", i);
+ #endif
+-  seq_printf(m, "BogoMIPS\t: %lu.%02lu\n\n",
++  seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
+  loops_per_jiffy / (50UL/HZ),
+  loops_per_jiffy / (5000UL/HZ) % 100);
+-  }
+-
+-  /* dump out the processor features */
+-  seq_puts(m, "Features\t: ");
+-
+-  for (i = 0; hwcap_str[i]; i++)
+-  if (elf_hwcap & (1 << i))
+-  seq_printf(m, "%s ", hwcap_str[i]);
+ 
+-  seq_print

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

2015-02-06 Thread Mike Pagano
commit: b7bc08ab26f98f81741fbfcfb0219e28e17f88ba
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Feb  7 01:34:12 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Feb  7 01:34:12 2015 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=b7bc08ab

Linux patch 3.10.68

---
 _README  |4 +
 1067_linux-3.10.68.patch | 2322 ++
 2 files changed, 2326 insertions(+)

diff --git a/_README b/_README
index f5f4229..0cdf9c0 100644
--- a/_README
+++ b/_README
@@ -310,6 +310,10 @@ Patch:  1066_linux-3.10.67.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.67
 
+Patch:  1067_linux-3.10.68.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.68
+
 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/1067_linux-3.10.68.patch b/1067_linux-3.10.68.patch
new file mode 100644
index 000..982ee80
--- /dev/null
+++ b/1067_linux-3.10.68.patch
@@ -0,0 +1,2322 @@
+diff --git a/Makefile b/Makefile
+index 7c6711fa3c3f..dd67be657716 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 67
++SUBLEVEL = 68
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h
+index da1c77d39327..9ee7e01066f9 100644
+--- a/arch/arm/include/asm/atomic.h
 b/arch/arm/include/asm/atomic.h
+@@ -114,7 +114,8 @@ static inline int atomic_sub_return(int i, atomic_t *v)
+ 
+ static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new)
+ {
+-  unsigned long oldval, res;
++  int oldval;
++  unsigned long res;
+ 
+   smp_mb();
+ 
+@@ -238,15 +239,15 @@ static inline int __atomic_add_unless(atomic_t *v, int 
a, int u)
+ 
+ #ifndef CONFIG_GENERIC_ATOMIC64
+ typedef struct {
+-  u64 __aligned(8) counter;
++  long long counter;
+ } atomic64_t;
+ 
+ #define ATOMIC64_INIT(i) { (i) }
+ 
+ #ifdef CONFIG_ARM_LPAE
+-static inline u64 atomic64_read(const atomic64_t *v)
++static inline long long atomic64_read(const atomic64_t *v)
+ {
+-  u64 result;
++  long long result;
+ 
+   __asm__ __volatile__("@ atomic64_read\n"
+ " ldrd%0, %H0, [%1]"
+@@ -257,7 +258,7 @@ static inline u64 atomic64_read(const atomic64_t *v)
+   return result;
+ }
+ 
+-static inline void atomic64_set(atomic64_t *v, u64 i)
++static inline void atomic64_set(atomic64_t *v, long long i)
+ {
+   __asm__ __volatile__("@ atomic64_set\n"
+ " strd%2, %H2, [%1]"
+@@ -266,9 +267,9 @@ static inline void atomic64_set(atomic64_t *v, u64 i)
+   );
+ }
+ #else
+-static inline u64 atomic64_read(const atomic64_t *v)
++static inline long long atomic64_read(const atomic64_t *v)
+ {
+-  u64 result;
++  long long result;
+ 
+   __asm__ __volatile__("@ atomic64_read\n"
+ " ldrexd  %0, %H0, [%1]"
+@@ -279,9 +280,9 @@ static inline u64 atomic64_read(const atomic64_t *v)
+   return result;
+ }
+ 
+-static inline void atomic64_set(atomic64_t *v, u64 i)
++static inline void atomic64_set(atomic64_t *v, long long i)
+ {
+-  u64 tmp;
++  long long tmp;
+ 
+   __asm__ __volatile__("@ atomic64_set\n"
+ "1:   ldrexd  %0, %H0, [%2]\n"
+@@ -294,9 +295,9 @@ static inline void atomic64_set(atomic64_t *v, u64 i)
+ }
+ #endif
+ 
+-static inline void atomic64_add(u64 i, atomic64_t *v)
++static inline void atomic64_add(long long i, atomic64_t *v)
+ {
+-  u64 result;
++  long long result;
+   unsigned long tmp;
+ 
+   __asm__ __volatile__("@ atomic64_add\n"
+@@ -311,9 +312,9 @@ static inline void atomic64_add(u64 i, atomic64_t *v)
+   : "cc");
+ }
+ 
+-static inline u64 atomic64_add_return(u64 i, atomic64_t *v)
++static inline long long atomic64_add_return(long long i, atomic64_t *v)
+ {
+-  u64 result;
++  long long result;
+   unsigned long tmp;
+ 
+   smp_mb();
+@@ -334,9 +335,9 @@ static inline u64 atomic64_add_return(u64 i, atomic64_t *v)
+   return result;
+ }
+ 
+-static inline void atomic64_sub(u64 i, atomic64_t *v)
++static inline void atomic64_sub(long long i, atomic64_t *v)
+ {
+-  u64 result;
++  long long result;
+   unsigned long tmp;
+ 
+   __asm__ __volatile__("@ atomic64_sub\n"
+@@ -351,9 +352,9 @@ static inline void atomic64_sub(u64 i, atomic64_t *v)
+   : "cc");
+ }
+ 
+-static inline u64 atomic64_sub_return(u64 i, atomic64_t *v)
++static inline long long atomic64_sub_return(long long i, atomic64_t *v)
+ {
+-  u64 result;
++  long long result;
+   unsigned long tmp;
+ 
+   smp_mb();
+@@ -374,9 +375,10 @@ static inline u64 atomic64_sub_return(u64 i, atomic64_t 
*v)
+   return result;
+ }
+ 
+-static inline u64 atomic64_cmpxchg(atomic64_t *ptr, u64 old, u64 new)
++static inline long long atomic64_cmpxchg(atomic64_t *ptr, long long old,
++  long l

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

2015-01-30 Thread Mike Pagano
commit: 30b7838f41cfebf7103845bb41ef499afe0c5e1e
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Jan 30 12:40:00 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Jan 30 12:40:00 2015 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=30b7838f

Linux patch 3.10.67

---
 _README  |4 +
 1066_linux-3.10.67.patch | 2417 ++
 2 files changed, 2421 insertions(+)

diff --git a/_README b/_README
index 1f0923b..f5f4229 100644
--- a/_README
+++ b/_README
@@ -306,6 +306,10 @@ Patch:  1065_linux-3.10.66.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.66
 
+Patch:  1066_linux-3.10.67.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.67
+
 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/1066_linux-3.10.67.patch b/1066_linux-3.10.67.patch
new file mode 100644
index 000..43fdd4f
--- /dev/null
+++ b/1066_linux-3.10.67.patch
@@ -0,0 +1,2417 @@
+diff --git a/Makefile b/Makefile
+index 12ae1ef5437a..7c6711fa3c3f 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 66
++SUBLEVEL = 67
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/boot/dts/imx25.dtsi b/arch/arm/boot/dts/imx25.dtsi
+index 82897e2d8d5a..97d1a550eb98 100644
+--- a/arch/arm/boot/dts/imx25.dtsi
 b/arch/arm/boot/dts/imx25.dtsi
+@@ -335,7 +335,7 @@
+   compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
+   #pwm-cells = <2>;
+   reg = <0x53fa 0x4000>;
+-  clocks = <&clks 106>, <&clks 36>;
++  clocks = <&clks 106>, <&clks 52>;
+   clock-names = "ipg", "per";
+   interrupts = <36>;
+   };
+@@ -354,7 +354,7 @@
+   compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
+   #pwm-cells = <2>;
+   reg = <0x53fa8000 0x4000>;
+-  clocks = <&clks 107>, <&clks 36>;
++  clocks = <&clks 107>, <&clks 52>;
+   clock-names = "ipg", "per";
+   interrupts = <41>;
+   };
+@@ -394,7 +394,7 @@
+   pwm4: pwm@53fc8000 {
+   compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
+   reg = <0x53fc8000 0x4000>;
+-  clocks = <&clks 108>, <&clks 36>;
++  clocks = <&clks 108>, <&clks 52>;
+   clock-names = "ipg", "per";
+   interrupts = <42>;
+   };
+@@ -439,7 +439,7 @@
+   compatible = "fsl,imx25-pwm", "fsl,imx27-pwm";
+   #pwm-cells = <2>;
+   reg = <0x53fe 0x4000>;
+-  clocks = <&clks 105>, <&clks 36>;
++  clocks = <&clks 105>, <&clks 52>;
+   clock-names = "ipg", "per";
+   interrupts = <26>;
+   };
+diff --git a/arch/arm/crypto/aes_glue.c b/arch/arm/crypto/aes_glue.c
+index 59f7877ead6a..e73ec2ab1316 100644
+--- a/arch/arm/crypto/aes_glue.c
 b/arch/arm/crypto/aes_glue.c
+@@ -103,6 +103,6 @@ module_exit(aes_fini);
+ 
+ MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm (ASM)");
+ MODULE_LICENSE("GPL");
+-MODULE_ALIAS("aes");
+-MODULE_ALIAS("aes-asm");
++MODULE_ALIAS_CRYPTO("aes");
++MODULE_ALIAS_CRYPTO("aes-asm");
+ MODULE_AUTHOR("David McCullough ");
+diff --git a/arch/arm/crypto/sha1_glue.c b/arch/arm/crypto/sha1_glue.c
+index 76cd976230bc..ace4cd67464c 100644
+--- a/arch/arm/crypto/sha1_glue.c
 b/arch/arm/crypto/sha1_glue.c
+@@ -175,5 +175,5 @@ module_exit(sha1_mod_fini);
+ 
+ MODULE_LICENSE("GPL");
+ MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm (ARM)");
+-MODULE_ALIAS("sha1");
++MODULE_ALIAS_CRYPTO("sha1");
+ MODULE_AUTHOR("David McCullough ");
+diff --git a/arch/powerpc/crypto/sha1.c b/arch/powerpc/crypto/sha1.c
+index f9e8b9491efc..b51da9132744 100644
+--- a/arch/powerpc/crypto/sha1.c
 b/arch/powerpc/crypto/sha1.c
+@@ -154,4 +154,5 @@ module_exit(sha1_powerpc_mod_fini);
+ MODULE_LICENSE("GPL");
+ MODULE_DESCRIPTION("SHA1 Secure Hash Algorithm");
+ 
+-MODULE_ALIAS("sha1-powerpc");
++MODULE_ALIAS_CRYPTO("sha1");
++MODULE_ALIAS_CRYPTO("sha1-powerpc");
+diff --git a/arch/s390/crypto/aes_s390.c b/arch/s390/crypto/aes_s390.c
+index fd104db9cea1..92eb4d6ad39d 100644
+--- a/arch/s390/crypto/aes_s390.c
 b/arch/s390/crypto/aes_s390.c
+@@ -970,7 +970,7 @@ static void __exit aes_s390_fini(void)
+ module_init(aes_

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

2015-01-28 Thread Mike Pagano
commit: 26c3d37f6333cc85f0ab2f9107f9ee2103f0ea29
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Jan 27 23:57:45 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Jan 27 23:57:45 2015 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=26c3d37f

Linux patch 3.10.66

---
 _README  |6 +-
 1065_linux-3.10.66.patch | 1519 ++
 2 files changed, 1524 insertions(+), 1 deletion(-)

diff --git a/_README b/_README
index 755963e..1f0923b 100644
--- a/_README
+++ b/_README
@@ -298,10 +298,14 @@ Patch:  1063_linux-3.10.64.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.64
 
-Patch:  1063_linux-3.10.65.patch
+Patch:  1064_linux-3.10.65.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.65
 
+Patch:  1065_linux-3.10.66.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.66
+
 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/1065_linux-3.10.66.patch b/1065_linux-3.10.66.patch
new file mode 100644
index 000..4cd0ef4
--- /dev/null
+++ b/1065_linux-3.10.66.patch
@@ -0,0 +1,1519 @@
+diff --git a/Documentation/kernel-parameters.txt 
b/Documentation/kernel-parameters.txt
+index 1311a48a7367..98da831a14ba 100644
+--- a/Documentation/kernel-parameters.txt
 b/Documentation/kernel-parameters.txt
+@@ -1061,6 +1061,7 @@ bytes respectively. Such letter suffixes can also be 
entirely omitted.
+   i8042.notimeout [HW] Ignore timeout condition signalled by controller
+   i8042.reset [HW] Reset the controller during init and cleanup
+   i8042.unlock[HW] Unlock (ignore) the keylock
++  i8042.kbdreset  [HW] Reset device connected to KBD port
+ 
+   i810=   [HW,DRM]
+ 
+diff --git a/Makefile b/Makefile
+index 7889b38766db..12ae1ef5437a 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 65
++SUBLEVEL = 66
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arc/boot/dts/nsimosci.dts b/arch/arc/boot/dts/nsimosci.dts
+index 398064cef746..4c169d825415 100644
+--- a/arch/arc/boot/dts/nsimosci.dts
 b/arch/arc/boot/dts/nsimosci.dts
+@@ -20,7 +20,7 @@
+   /* this is for console on PGU */
+   /* bootargs = "console=tty0 consoleblank=0"; */
+   /* this is for console on serial */
+-  bootargs = "earlycon=uart8250,mmio32,0xc000,115200n8 
console=tty0 console=ttyS0,115200n8 consoleblank=0 debug";
++  bootargs = "earlycon=uart8250,mmio32,0xf000,115200n8 
console=tty0 console=ttyS0,115200n8 consoleblank=0 debug";
+   };
+ 
+   aliases {
+@@ -46,9 +46,9 @@
+   #interrupt-cells = <1>;
+   };
+ 
+-  uart0: serial@c000 {
++  uart0: serial@f000 {
+   compatible = "ns8250";
+-  reg = <0xc000 0x2000>;
++  reg = <0xf000 0x2000>;
+   interrupts = <11>;
+   clock-frequency = <3686400>;
+   baud = <115200>;
+@@ -57,21 +57,21 @@
+   no-loopback-test = <1>;
+   };
+ 
+-  pgu0: pgu@c900 {
++  pgu0: pgu@f900 {
+   compatible = "snps,arcpgufb";
+-  reg = <0xc900 0x400>;
++  reg = <0xf900 0x400>;
+   };
+ 
+-  ps2: ps2@c9001000 {
++  ps2: ps2@f9001000 {
+   compatible = "snps,arc_ps2";
+-  reg = <0xc9000400 0x14>;
++  reg = <0xf9000400 0x14>;
+   interrupts = <13>;
+   interrupt-names = "arc_ps2_irq";
+   };
+ 
+-  eth0: ethernet@c0003000 {
++  eth0: ethernet@f0003000 {
+   compatible = "snps,oscilan";
+-  reg = <0xc0003000 0x44>;
++  reg = <0xf0003000 0x44>;
+   interrupts = <7>, <8>;
+   interrupt-names = "rx", "tx";
+   };
+diff --git a/arch/arm/boot/dts/imx25.dtsi b/arch/arm/boot/dts/imx25.dtsi
+index 701153992c69..82897e2d8d5a 100644
+--- a/arch/arm/boot/dts/imx25.dtsi
 b/arch/arm/boot/dts/imx25.dtsi
+@@ -141,7 +141,7 @@
+   #size-cells = <0>;
+   compatible = "fsl,imx25-cspi", "fsl,imx35-cspi";
+   reg = <0x43fa4000 0x4000>;
+-  clocks = <&clks 62>, <&clks 62>;
++  clocks = <&clks 78>, <&clks 78>;
+   clock-names = "ipg", "per";
+   interrupts = <14>;
+   status = "disabled";
+diff --git a/arch/arm

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

2015-01-16 Thread Mike Pagano
commit: 6c68a8814b8fb45ad5ec871aeacc3377f1056ecd
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Jan 17 01:24:35 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Jan 17 01:24:35 2015 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=6c68a881

Linux patch 3.10.65

---
 _README  |4 +
 1064_linux-3.10.65.patch | 1498 ++
 2 files changed, 1502 insertions(+)

diff --git a/_README b/_README
index 940fe8c..755963e 100644
--- a/_README
+++ b/_README
@@ -298,6 +298,10 @@ Patch:  1063_linux-3.10.64.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.64
 
+Patch:  1063_linux-3.10.65.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.65
+
 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/1064_linux-3.10.65.patch b/1064_linux-3.10.65.patch
new file mode 100644
index 000..983b755
--- /dev/null
+++ b/1064_linux-3.10.65.patch
@@ -0,0 +1,1498 @@
+diff --git a/Documentation/ramoops.txt b/Documentation/ramoops.txt
+index 69b3cac4749d..5d8675615e59 100644
+--- a/Documentation/ramoops.txt
 b/Documentation/ramoops.txt
+@@ -14,11 +14,19 @@ survive after a restart.
+ 
+ 1. Ramoops concepts
+ 
+-Ramoops uses a predefined memory area to store the dump. The start and size of
+-the memory area are set using two variables:
++Ramoops uses a predefined memory area to store the dump. The start and size
++and type of the memory area are set using three variables:
+   * "mem_address" for the start
+   * "mem_size" for the size. The memory size will be rounded down to a
+   power of two.
++  * "mem_type" to specifiy if the memory type (default is 
pgprot_writecombine).
++
++Typically the default value of mem_type=0 should be used as that sets the 
pstore
++mapping to pgprot_writecombine. Setting mem_type=1 attempts to use
++pgprot_noncached, which only works on some platforms. This is because pstore
++depends on atomic operations. At least on ARM, pgprot_noncached causes the
++memory to be mapped strongly ordered, and atomic operations on strongly 
ordered
++memory are implementation defined, and won't work on many ARMs such as omaps.
+ 
+ The memory area is divided into "record_size" chunks (also rounded down to
+ power of two) and each oops/panic writes a "record_size" chunk of
+@@ -55,6 +63,7 @@ Setting the ramoops parameters can be done in 2 different 
manners:
+ static struct ramoops_platform_data ramoops_data = {
+ .mem_size   = <...>,
+ .mem_address= <...>,
++.mem_type   = <...>,
+ .record_size= <...>,
+ .dump_oops  = <...>,
+ .ecc= <...>,
+diff --git a/Makefile b/Makefile
+index e5b63fb3d0e1..7889b38766db 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 64
++SUBLEVEL = 65
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/mach-mvebu/coherency.c b/arch/arm/mach-mvebu/coherency.c
+index 8278960066c3..3ee701f1d38e 100644
+--- a/arch/arm/mach-mvebu/coherency.c
 b/arch/arm/mach-mvebu/coherency.c
+@@ -141,6 +141,29 @@ int __init coherency_init(void)
+ {
+   struct device_node *np;
+ 
++  /*
++   * The coherency fabric is needed:
++   * - For coherency between processors on Armada XP, so only
++   *   when SMP is enabled.
++   * - For coherency between the processor and I/O devices, but
++   *   this coherency requires many pre-requisites (write
++   *   allocate cache policy, shareable pages, SMP bit set) that
++   *   are only meant in SMP situations.
++   *
++   * Note that this means that on Armada 370, there is currently
++   * no way to use hardware I/O coherency, because even when
++   * CONFIG_SMP is enabled, is_smp() returns false due to the
++   * Armada 370 being a single-core processor. To lift this
++   * limitation, we would have to find a way to make the cache
++   * policy set to write-allocate (on all Armada SoCs), and to
++   * set the shareable attribute in page tables (on all Armada
++   * SoCs except the Armada 370). Unfortunately, such decisions
++   * are taken very early in the kernel boot process, at a point
++   * where we don't know yet on which SoC we are running.
++   */
++  if (!is_smp())
++  return 0;
++
+   np = of_find_matching_node(NULL, of_coherency_table);
+   if (np) {
+   pr_info("Initializing Coherency fabric\n");
+diff --git a/arch/x86/include/asm/vsyscall.h b/arch/x86/include/asm/vsyscall.h
+index 2a46ca720afc..2874be9aef0a 100644
+--- a/arch/x86/include/asm/vsyscall.h
 b/arch/x86/include/asm/vsyscall.h
+@@ -34,7 +34,7 @@ static inline unsigned int __getcpu(void)
+   native_read_tscp(&p);
+   } 

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

2015-01-02 Thread Mike Pagano
commit: 93d41849a3c0d15a8e604528f35b055891401379
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Jan  2 19:12:34 2015 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Jan  2 19:12:34 2015 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=93d41849

Add DEVPTS_MULTIPLE_INSTANCES when GENTOO_LINUX_INIT_SYSTEMD is selected. See 
bug #534216

---
 4567_distro-Gentoo-Kconfig.patch | 15 +++
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/4567_distro-Gentoo-Kconfig.patch b/4567_distro-Gentoo-Kconfig.patch
index 850cabc..690454a 100644
--- a/4567_distro-Gentoo-Kconfig.patch
+++ b/4567_distro-Gentoo-Kconfig.patch
@@ -1,5 +1,5 @@
 a/Kconfig  2014-04-02 10:11:12.959212144 -0400
-+++ b/Kconfig  2014-04-02 10:11:41.139211921 -0400
+--- a/Kconfig  2014-04-02 09:45:05.389224541 -0400
 b/Kconfig  2014-04-02 09:45:39.269224273 -0400
 @@ -8,4 +8,6 @@ config SRCARCH
string
option env="SRCARCH"
@@ -7,9 +7,9 @@
 +source "distro/Kconfig"
 +
  source "arch/$SRCARCH/Kconfig"
1969-12-31 19:00:00.0 -0500
-+++ b/distro/Kconfig   2014-04-02 10:14:34.049210553 -0400
-@@ -0,0 +1,110 @@
+--- a/distro/Kconfig   1969-12-31 19:00:00.0 -0500
 b/distro/Kconfig   2015-01-02 13:54:45.589830665 -0500
+@@ -0,0 +1,109 @@
 +menu "Gentoo Linux"
 +
 +config GENTOO_LINUX
@@ -35,7 +35,6 @@
 +  select TMPFS
 +
 +  select MMU
-+  select HOTPLUG
 +  select SHMEM
 +
 +  help
@@ -88,13 +87,13 @@
 +  select AUTOFS4_FS
 +  select BLK_DEV_BSG
 +  select CGROUPS
++  select DEVPTS_MULTIPLE_INSTANCES
 +  select EPOLL
 +  select FANOTIFY
 +  select FHANDLE
-+  select HOTPLUG
 +  select INOTIFY_USER
 +  select NET
-+  select NET_NS
++  select NET_NS 
 +  select PROC_FS
 +  select SIGNALFD
 +  select SYSFS



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

2014-12-16 Thread Mike Pagano
commit: c52a2df8e2b1f4899816e2993c356cd6cccf730d
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed Dec 17 01:48:47 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed Dec 17 01:48:47 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=c52a2df8

Linux patch 3.10.63

---
 _README  |   4 +
 1062_linux-3.10.63.patch | 473 +++
 2 files changed, 477 insertions(+)

diff --git a/_README b/_README
index 6ea5ed3..689a2fe 100644
--- a/_README
+++ b/_README
@@ -290,6 +290,10 @@ Patch:  1061_linux-3.10.62.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.62
 
+Patch:  1062_linux-3.10.63.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.63
+
 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/1062_linux-3.10.63.patch b/1062_linux-3.10.63.patch
new file mode 100644
index 000..553ce98
--- /dev/null
+++ b/1062_linux-3.10.63.patch
@@ -0,0 +1,473 @@
+diff --git a/Makefile b/Makefile
+index a0b86250d6ca..9383fe24baa9 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 62
++SUBLEVEL = 63
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/kernel/sched_clock.c b/arch/arm/kernel/sched_clock.c
+index e8edcaa0e432..a57cc5d33540 100644
+--- a/arch/arm/kernel/sched_clock.c
 b/arch/arm/kernel/sched_clock.c
+@@ -51,10 +51,11 @@ static inline u64 notrace cyc_to_ns(u64 cyc, u32 mult, u32 
shift)
+   return (cyc * mult) >> shift;
+ }
+ 
+-static unsigned long long notrace cyc_to_sched_clock(u32 cyc, u32 mask)
++static unsigned long long notrace sched_clock_32(void)
+ {
+   u64 epoch_ns;
+   u32 epoch_cyc;
++  u32 cyc;
+ 
+   if (cd.suspended)
+   return cd.epoch_ns;
+@@ -73,7 +74,9 @@ static unsigned long long notrace cyc_to_sched_clock(u32 
cyc, u32 mask)
+   smp_rmb();
+   } while (epoch_cyc != cd.epoch_cyc_copy);
+ 
+-  return epoch_ns + cyc_to_ns((cyc - epoch_cyc) & mask, cd.mult, 
cd.shift);
++  cyc = read_sched_clock();
++  cyc = (cyc - epoch_cyc) & sched_clock_mask;
++  return epoch_ns + cyc_to_ns(cyc, cd.mult, cd.shift);
+ }
+ 
+ /*
+@@ -165,12 +168,6 @@ void __init setup_sched_clock(u32 (*read)(void), int 
bits, unsigned long rate)
+   pr_debug("Registered %pF as sched_clock source\n", read);
+ }
+ 
+-static unsigned long long notrace sched_clock_32(void)
+-{
+-  u32 cyc = read_sched_clock();
+-  return cyc_to_sched_clock(cyc, sched_clock_mask);
+-}
+-
+ unsigned long long __read_mostly (*sched_clock_func)(void) = sched_clock_32;
+ 
+ unsigned long long notrace sched_clock(void)
+diff --git a/arch/powerpc/kernel/vdso32/getcpu.S 
b/arch/powerpc/kernel/vdso32/getcpu.S
+index 47afd08c90f7..fe7e97a1aad9 100644
+--- a/arch/powerpc/kernel/vdso32/getcpu.S
 b/arch/powerpc/kernel/vdso32/getcpu.S
+@@ -30,8 +30,8 @@
+ V_FUNCTION_BEGIN(__kernel_getcpu)
+   .cfi_startproc
+   mfspr   r5,SPRN_USPRG3
+-  cmpdi   cr0,r3,0
+-  cmpdi   cr1,r4,0
++  cmpwi   cr0,r3,0
++  cmpwi   cr1,r4,0
+   clrlwi  r6,r5,16
+   rlwinm  r7,r5,16,31-15,31-0
+   beq cr0,1f
+diff --git a/arch/x86/include/uapi/asm/vmx.h b/arch/x86/include/uapi/asm/vmx.h
+index d651082c7cf7..7a34e8fe54bd 100644
+--- a/arch/x86/include/uapi/asm/vmx.h
 b/arch/x86/include/uapi/asm/vmx.h
+@@ -65,6 +65,7 @@
+ #define EXIT_REASON_EOI_INDUCED 45
+ #define EXIT_REASON_EPT_VIOLATION   48
+ #define EXIT_REASON_EPT_MISCONFIG   49
++#define EXIT_REASON_INVEPT  50
+ #define EXIT_REASON_PREEMPTION_TIMER52
+ #define EXIT_REASON_WBINVD  54
+ #define EXIT_REASON_XSETBV  55
+diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
+index 51139ff34917..7112be5f1eaf 100644
+--- a/arch/x86/kvm/vmx.c
 b/arch/x86/kvm/vmx.c
+@@ -6242,6 +6242,12 @@ static int handle_vmptrst(struct kvm_vcpu *vcpu)
+   return 1;
+ }
+ 
++static int handle_invept(struct kvm_vcpu *vcpu)
++{
++  kvm_queue_exception(vcpu, UD_VECTOR);
++  return 1;
++}
++
+ /*
+  * The exit handlers return 1 if the exit was handled fully and guest 
execution
+  * may resume.  Otherwise they set the kvm_run parameter to indicate what 
needs
+@@ -6286,6 +6292,7 @@ static int (*const kvm_vmx_exit_handlers[])(struct 
kvm_vcpu *vcpu) = {
+   [EXIT_REASON_PAUSE_INSTRUCTION]   = handle_pause,
+   [EXIT_REASON_MWAIT_INSTRUCTION]   = handle_invalid_op,
+   [EXIT_REASON_MONITOR_INSTRUCTION] = handle_invalid_op,
++  [EXIT_REASON_INVEPT]  = handle_invept,
+ };
+ 
+ static const int kvm_vmx_max_exit_handlers =
+@@ -6512,6 +6519,7 @@ static bool nested_vmx_exit_handled(struct kvm_vcpu 
*vcpu)
+   case EXIT_REASON_VMPTRST: case EXIT_REASON_VMREAD:
+   case EXIT_REASON_VMRESUME: case EXIT_REASON_VMWRITE

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

2014-12-10 Thread Mike Pagano
commit: 506a12d67dbbb1168633c41b800dc9588bbd4607
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed Dec 10 06:32:16 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed Dec 10 06:32:16 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=506a12d6

Linux patch 3.10.62

---
 _README  |4 +
 1061_linux-3.10.62.patch | 1576 ++
 2 files changed, 1580 insertions(+)

diff --git a/_README b/_README
index 6cb8a74..6ea5ed3 100644
--- a/_README
+++ b/_README
@@ -286,6 +286,10 @@ Patch:  1060_linux-3.10.61.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.61
 
+Patch:  1061_linux-3.10.62.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.62
+
 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/1061_linux-3.10.62.patch b/1061_linux-3.10.62.patch
new file mode 100644
index 000..f45e1be
--- /dev/null
+++ b/1061_linux-3.10.62.patch
@@ -0,0 +1,1576 @@
+diff --git a/Makefile b/Makefile
+index 0d5ba80786b8..a0b86250d6ca 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 61
++SUBLEVEL = 62
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
+index 19da84172cc3..4562ebf8449d 100644
+--- a/arch/arm/mm/proc-v7.S
 b/arch/arm/mm/proc-v7.S
+@@ -201,7 +201,6 @@ __v7_pj4b_setup:
+ /* Auxiliary Debug Modes Control 1 Register */
+ #define PJ4B_STATIC_BP (1 << 2) /* Enable Static BP */
+ #define PJ4B_INTER_PARITY (1 << 8) /* Disable Internal Parity Handling */
+-#define PJ4B_BCK_OFF_STREX (1 << 5) /* Enable the back off of STREX instr */
+ #define PJ4B_CLEAN_LINE (1 << 16) /* Disable data transfer for clean line */
+ 
+ /* Auxiliary Debug Modes Control 2 Register */
+@@ -224,7 +223,6 @@ __v7_pj4b_setup:
+   /* Auxiliary Debug Modes Control 1 Register */
+   mrc p15, 1, r0, c15, c1, 1
+   orr r0, r0, #PJ4B_CLEAN_LINE
+-  orr r0, r0, #PJ4B_BCK_OFF_STREX
+   orr r0, r0, #PJ4B_INTER_PARITY
+   bic r0, r0, #PJ4B_STATIC_BP
+   mcr p15, 1, r0, c15, c1, 1
+diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S
+index e766f889bfd6..08b51b7dbf69 100644
+--- a/arch/arm/mm/proc-xscale.S
 b/arch/arm/mm/proc-xscale.S
+@@ -535,7 +535,7 @@ ENTRY(cpu_xscale_do_suspend)
+   mrc p15, 0, r5, c15, c1, 0  @ CP access reg
+   mrc p15, 0, r6, c13, c0, 0  @ PID
+   mrc p15, 0, r7, c3, c0, 0   @ domain ID
+-  mrc p15, 0, r8, c1, c1, 0   @ auxiliary control reg
++  mrc p15, 0, r8, c1, c0, 1   @ auxiliary control reg
+   mrc p15, 0, r9, c1, c0, 0   @ control reg
+   bic r4, r4, #2  @ clear frequency change bit
+   stmia   r0, {r4 - r9}   @ store cp regs
+@@ -552,7 +552,7 @@ ENTRY(cpu_xscale_do_resume)
+   mcr p15, 0, r6, c13, c0, 0  @ PID
+   mcr p15, 0, r7, c3, c0, 0   @ domain ID
+   mcr p15, 0, r1, c2, c0, 0   @ translation table base addr
+-  mcr p15, 0, r8, c1, c1, 0   @ auxiliary control reg
++  mcr p15, 0, r8, c1, c0, 1   @ auxiliary control reg
+   mov r0, r9  @ control register
+   b   cpu_resume_mmu
+ ENDPROC(cpu_xscale_do_resume)
+diff --git a/arch/mips/loongson/common/Makefile 
b/arch/mips/loongson/common/Makefile
+index 4c57b3e5743f..33f76e658d19 100644
+--- a/arch/mips/loongson/common/Makefile
 b/arch/mips/loongson/common/Makefile
+@@ -10,7 +10,8 @@ obj-$(CONFIG_GPIOLIB) += gpio.o
+ # Serial port support
+ #
+ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
+-obj-$(CONFIG_SERIAL_8250) += serial.o
++loongson-serial-$(CONFIG_SERIAL_8250) := serial.o
++obj-y += $(loongson-serial-m) $(loongson-serial-y)
+ obj-$(CONFIG_LOONGSON_UART_BASE) += uart_base.o
+ obj-$(CONFIG_LOONGSON_MC146818) += rtc.o
+ 
+diff --git a/arch/mips/oprofile/backtrace.c b/arch/mips/oprofile/backtrace.c
+index 6854ed5097d2..83a1dfd8f0e3 100644
+--- a/arch/mips/oprofile/backtrace.c
 b/arch/mips/oprofile/backtrace.c
+@@ -92,7 +92,7 @@ static inline int unwind_user_frame(struct stackframe 
*old_frame,
+   /* This marks the end of the previous function,
+  which means we overran. */
+   break;
+-  stack_size = (unsigned) stack_adjustment;
++  stack_size = (unsigned long) stack_adjustment;
+   } else if (is_ra_save_ins(&ip)) {
+   int ra_slot = ip.i_format.simmediate;
+   if (ra_slot < 0)
+diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c 
b/arch/powerpc/platforms/powernv/pci-ioda.c
+index f75607c93e8a..b2bbb79bd99d 100644
+--- a/arch/powerpc/platforms/powernv/pci-ioda.c
 b/arch/powerpc/platforms/powernv/pci-ioda.c
+@

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

2014-11-22 Thread Mike Pagano
commit: 2eed7d083266b0fb026036cd7a4f183f0dfe4e84
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Nov 22 20:14:03 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Nov 22 20:14:03 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=2eed7d08

Linux patch 3.10.61

---
 _README  |4 +
 1060_linux-3.10.61.patch | 4431 ++
 2 files changed, 4435 insertions(+)

diff --git a/_README b/_README
index 6a1392d..6cb8a74 100644
--- a/_README
+++ b/_README
@@ -282,6 +282,10 @@ Patch:  1059_linux-3.10.60.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.60
 
+Patch:  1060_linux-3.10.61.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.61
+
 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/1060_linux-3.10.61.patch b/1060_linux-3.10.61.patch
new file mode 100644
index 000..e58cd17
--- /dev/null
+++ b/1060_linux-3.10.61.patch
@@ -0,0 +1,4431 @@
+diff --git a/Makefile b/Makefile
+index 9d4f30d0d201..0d5ba80786b8 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 60
++SUBLEVEL = 61
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c
+index 0c4132dd3507..98838a05ba6d 100644
+--- a/arch/alpha/mm/fault.c
 b/arch/alpha/mm/fault.c
+@@ -89,8 +89,7 @@ do_page_fault(unsigned long address, unsigned long mmcsr,
+   const struct exception_table_entry *fixup;
+   int fault, si_code = SEGV_MAPERR;
+   siginfo_t info;
+-  unsigned int flags = (FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE |
+-(cause > 0 ? FAULT_FLAG_WRITE : 0));
++  unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;
+ 
+   /* As of EV6, a load into $31/$f31 is a prefetch, and never faults
+  (or is suppressed by the PALcode).  Support that for older CPUs
+@@ -115,7 +114,8 @@ do_page_fault(unsigned long address, unsigned long mmcsr,
+   if (address >= TASK_SIZE)
+   goto vmalloc_fault;
+ #endif
+-
++  if (user_mode(regs))
++  flags |= FAULT_FLAG_USER;
+ retry:
+   down_read(&mm->mmap_sem);
+   vma = find_vma(mm, address);
+@@ -142,6 +142,7 @@ retry:
+   } else {
+   if (!(vma->vm_flags & VM_WRITE))
+   goto bad_area;
++  flags |= FAULT_FLAG_WRITE;
+   }
+ 
+   /* If for any reason at all we couldn't handle the fault,
+diff --git a/arch/arc/mm/fault.c b/arch/arc/mm/fault.c
+index 331a0846628e..50533b750a99 100644
+--- a/arch/arc/mm/fault.c
 b/arch/arc/mm/fault.c
+@@ -59,8 +59,7 @@ void do_page_fault(struct pt_regs *regs, int write, unsigned 
long address,
+   struct mm_struct *mm = tsk->mm;
+   siginfo_t info;
+   int fault, ret;
+-  unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE |
+-  (write ? FAULT_FLAG_WRITE : 0);
++  unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;
+ 
+   /*
+* We fault-in kernel-space virtual memory on-demand. The
+@@ -88,6 +87,8 @@ void do_page_fault(struct pt_regs *regs, int write, unsigned 
long address,
+   if (in_atomic() || !mm)
+   goto no_context;
+ 
++  if (user_mode(regs))
++  flags |= FAULT_FLAG_USER;
+ retry:
+   down_read(&mm->mmap_sem);
+   vma = find_vma(mm, address);
+@@ -115,12 +116,12 @@ good_area:
+   if (write) {
+   if (!(vma->vm_flags & VM_WRITE))
+   goto bad_area;
++  flags |= FAULT_FLAG_WRITE;
+   } else {
+   if (!(vma->vm_flags & (VM_READ | VM_EXEC)))
+   goto bad_area;
+   }
+ 
+-survive:
+   /*
+* If for any reason at all we couldn't handle the fault,
+* make sure we exit gracefully rather than endlessly redo
+@@ -200,14 +201,12 @@ no_context:
+   die("Oops", regs, address, cause_code);
+ 
+ out_of_memory:
+-  if (is_global_init(tsk)) {
+-  yield();
+-  goto survive;
+-  }
+   up_read(&mm->mmap_sem);
+ 
+-  if (user_mode(regs))
+-  do_group_exit(SIGKILL); /* This will never return */
++  if (user_mode(regs)) {
++  pagefault_out_of_memory();
++  return;
++  }
+ 
+   goto no_context;
+ 
+diff --git a/arch/arm/include/asm/bug.h b/arch/arm/include/asm/bug.h
+index 7af5c6c3653a..b274bde24905 100644
+--- a/arch/arm/include/asm/bug.h
 b/arch/arm/include/asm/bug.h
+@@ -2,6 +2,8 @@
+ #define _ASMARM_BUG_H
+ 
+ #include 
++#include 
++#include 
+ 
+ #ifdef CONFIG_BUG
+ 
+@@ -12,10 +14,10 @@
+  */
+ #ifdef CONFIG_THUMB2_KERNEL
+ #define BUG_INSTR_VALUE 0xde02
+-#define BUG_INSTR_TYPE ".hword "
++#define BUG_INSTR(__value) __inst_thumb16(__value)
+ #else
+ #

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

2014-10-31 Thread Mike Pagano
commit: fdca1444333f450d874582ba2ad6532254eb6d4d
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Oct 31 11:18:46 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Oct 31 11:18:46 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=fdca1444

Linux patch 3.10.59

---
 _README  |4 +
 1058_linux-3.10.59.patch | 1369 ++
 2 files changed, 1373 insertions(+)

diff --git a/_README b/_README
index fb459eb..580573b 100644
--- a/_README
+++ b/_README
@@ -274,6 +274,10 @@ Patch:  1057_linux-3.10.58.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.58
 
+Patch:  1058_linux-3.10.59.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.59
+
 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/1058_linux-3.10.59.patch b/1058_linux-3.10.59.patch
new file mode 100644
index 000..8bddbfc
--- /dev/null
+++ b/1058_linux-3.10.59.patch
@@ -0,0 +1,1369 @@
+diff --git a/Documentation/lzo.txt b/Documentation/lzo.txt
+new file mode 100644
+index ..ea45dd3901e3
+--- /dev/null
 b/Documentation/lzo.txt
+@@ -0,0 +1,164 @@
++
++LZO stream format as understood by Linux's LZO decompressor
++===
++
++Introduction
++
++  This is not a specification. No specification seems to be publicly available
++  for the LZO stream format. This document describes what input format the LZO
++  decompressor as implemented in the Linux kernel understands. The file 
subject
++  of this analysis is lib/lzo/lzo1x_decompress_safe.c. No analysis was made on
++  the compressor nor on any other implementations though it seems likely that
++  the format matches the standard one. The purpose of this document is to
++  better understand what the code does in order to propose more efficient 
fixes
++  for future bug reports.
++
++Description
++
++  The stream is composed of a series of instructions, operands, and data. The
++  instructions consist in a few bits representing an opcode, and bits forming
++  the operands for the instruction, whose size and position depend on the
++  opcode and on the number of literals copied by previous instruction. The
++  operands are used to indicate :
++
++- a distance when copying data from the dictionary (past output buffer)
++- a length (number of bytes to copy from dictionary)
++- the number of literals to copy, which is retained in variable "state"
++  as a piece of information for next instructions.
++
++  Optionally depending on the opcode and operands, extra data may follow. 
These
++  extra data can be a complement for the operand (eg: a length or a distance
++  encoded on larger values), or a literal to be copied to the output buffer.
++
++  The first byte of the block follows a different encoding from other bytes, 
it
++  seems to be optimized for literal use only, since there is no dictionary yet
++  prior to that byte.
++
++  Lengths are always encoded on a variable size starting with a small number
++  of bits in the operand. If the number of bits isn't enough to represent the
++  length, up to 255 may be added in increments by consuming more bytes with a
++  rate of at most 255 per extra byte (thus the compression ratio cannot exceed
++  around 255:1). The variable length encoding using #bits is always the same :
++
++   length = byte & ((1 << #bits) - 1)
++   if (!length) {
++   length = ((1 << #bits) - 1)
++   length += 255*(number of zero bytes)
++   length += first-non-zero-byte
++   }
++   length += constant (generally 2 or 3)
++
++  For references to the dictionary, distances are relative to the output
++  pointer. Distances are encoded using very few bits belonging to certain
++  ranges, resulting in multiple copy instructions using different encodings.
++  Certain encodings involve one extra byte, others involve two extra bytes
++  forming a little-endian 16-bit quantity (marked LE16 below).
++
++  After any instruction except the large literal copy, 0, 1, 2 or 3 literals
++  are copied before starting the next instruction. The number of literals that
++  were copied may change the meaning and behaviour of the next instruction. In
++  practice, only one instruction needs to know whether 0, less than 4, or more
++  literals were copied. This is the information stored in the  variable
++  in this implementation. This number of immediate literals to be copied is
++  generally encoded in the last two bits of the instruction but may also be
++  taken from the last two bits of an extra operand (eg: distance).
++
++  End of stream is declared when a block copy of distance 0 is seen. Only one
++  instruction may encode this distance (0001HLLL), it takes one LE16 operand
++  for the distance, thus requiring 3 bytes.
++

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

2014-10-15 Thread Mike Pagano
commit: 5069914ae5cb07b578d952fb8f1c926755f0b5bf
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed Oct 15 22:21:58 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed Oct 15 22:21:58 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=5069914a

Linux patch 3.10.58

---
 _README  |   4 +
 1057_linux-3.10.58.patch | 643 +++
 2 files changed, 647 insertions(+)

diff --git a/_README b/_README
index 840242c..fb459eb 100644
--- a/_README
+++ b/_README
@@ -270,6 +270,10 @@ Patch:  1056_linux-3.10.57.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.57
 
+Patch:  1057_linux-3.10.58.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.58
+
 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/1057_linux-3.10.58.patch b/1057_linux-3.10.58.patch
new file mode 100644
index 000..b277448
--- /dev/null
+++ b/1057_linux-3.10.58.patch
@@ -0,0 +1,643 @@
+diff --git a/Makefile b/Makefile
+index 9df630a513b7..c27454b8ca3e 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 57
++SUBLEVEL = 58
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/drivers/net/ethernet/broadcom/tg3.c 
b/drivers/net/ethernet/broadcom/tg3.c
+index 4942ddf9c8ae..3de4069f020e 100644
+--- a/drivers/net/ethernet/broadcom/tg3.c
 b/drivers/net/ethernet/broadcom/tg3.c
+@@ -6767,7 +6767,8 @@ static int tg3_rx(struct tg3_napi *tnapi, int budget)
+   skb->protocol = eth_type_trans(skb, tp->dev);
+ 
+   if (len > (tp->dev->mtu + ETH_HLEN) &&
+-  skb->protocol != htons(ETH_P_8021Q)) {
++  skb->protocol != htons(ETH_P_8021Q) &&
++  skb->protocol != htons(ETH_P_8021AD)) {
+   dev_kfree_skb(skb);
+   goto drop_it_no_recycle;
+   }
+@@ -7759,8 +7760,6 @@ static netdev_tx_t tg3_start_xmit(struct sk_buff *skb, 
struct net_device *dev)
+ 
+   entry = tnapi->tx_prod;
+   base_flags = 0;
+-  if (skb->ip_summed == CHECKSUM_PARTIAL)
+-  base_flags |= TXD_FLAG_TCPUDP_CSUM;
+ 
+   mss = skb_shinfo(skb)->gso_size;
+   if (mss) {
+@@ -7776,6 +7775,13 @@ static netdev_tx_t tg3_start_xmit(struct sk_buff *skb, 
struct net_device *dev)
+ 
+   hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb) - 
ETH_HLEN;
+ 
++  /* HW/FW can not correctly segment packets that have been
++   * vlan encapsulated.
++   */
++  if (skb->protocol == htons(ETH_P_8021Q) ||
++  skb->protocol == htons(ETH_P_8021AD))
++  return tg3_tso_bug(tp, skb);
++
+   if (!skb_is_gso_v6(skb)) {
+   iph->check = 0;
+   iph->tot_len = htons(mss + hdr_len);
+@@ -7822,6 +7828,17 @@ static netdev_tx_t tg3_start_xmit(struct sk_buff *skb, 
struct net_device *dev)
+   base_flags |= tsflags << 12;
+   }
+   }
++  } else if (skb->ip_summed == CHECKSUM_PARTIAL) {
++  /* HW/FW can not correctly checksum packets that have been
++   * vlan encapsulated.
++   */
++  if (skb->protocol == htons(ETH_P_8021Q) ||
++  skb->protocol == htons(ETH_P_8021AD)) {
++  if (skb_checksum_help(skb))
++  goto drop;
++  } else  {
++  base_flags |= TXD_FLAG_TCPUDP_CSUM;
++  }
+   }
+ 
+   if (tg3_flag(tp, USE_JUMBO_BDFLAG) &&
+diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c 
b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
+index 7be9788ed0f6..4fb93c5b5563 100644
+--- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
 b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
+@@ -856,6 +856,10 @@ static int myri10ge_dma_test(struct myri10ge_priv *mgp, 
int test_type)
+   return -ENOMEM;
+   dmatest_bus = pci_map_page(mgp->pdev, dmatest_page, 0, PAGE_SIZE,
+  DMA_BIDIRECTIONAL);
++  if (unlikely(pci_dma_mapping_error(mgp->pdev, dmatest_bus))) {
++  __free_page(dmatest_page);
++  return -ENOMEM;
++  }
+ 
+   /* Run a small DMA test.
+* The magic multipliers to the length tell the firmware
+@@ -1191,6 +1195,7 @@ myri10ge_alloc_rx_pages(struct myri10ge_priv *mgp, 
struct myri10ge_rx_buf *rx,
+   int bytes, int watchdog)
+ {
+   struct page *page;
++  dma_addr_t bus;
+   int idx;
+ #if MYRI10GE_ALLOC_SIZE > 4096
+   int end_offset;
+@@ -1215,11 +1220,21 @@ myri10ge_alloc_rx_pages(struct myri10ge_priv *mgp, 
struct myri10ge_rx_buf *rx,
+   rx->wa

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

2014-10-09 Thread Mike Pagano
commit: b383b50388b99c883a23e8949dcedd27c4e9f5a0
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Oct  9 23:29:00 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Oct  9 23:29:00 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=b383b503

Linux patch 3.10.57

---
 _README  |   4 +
 1056_linux-3.10.57.patch | 607 +++
 2 files changed, 611 insertions(+)

diff --git a/_README b/_README
index 5969ca2..840242c 100644
--- a/_README
+++ b/_README
@@ -266,6 +266,10 @@ Patch:  1055_linux-3.10.56.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.56
 
+Patch:  1056_linux-3.10.57.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.57
+
 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/1056_linux-3.10.57.patch b/1056_linux-3.10.57.patch
new file mode 100644
index 000..e0975f9
--- /dev/null
+++ b/1056_linux-3.10.57.patch
@@ -0,0 +1,607 @@
+diff --git a/Makefile b/Makefile
+index 03bd927522f7..9df630a513b7 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 56
++SUBLEVEL = 57
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c
+index 9e3f441e7e84..9c37f3d896a2 100644
+--- a/drivers/block/drbd/drbd_nl.c
 b/drivers/block/drbd/drbd_nl.c
+@@ -514,6 +514,12 @@ void conn_try_outdate_peer_async(struct drbd_tconn *tconn)
+   struct task_struct *opa;
+ 
+   kref_get(&tconn->kref);
++  /* We may just have force_sig()'ed this thread
++   * to get it out of some blocking network function.
++   * Clear signals; otherwise kthread_run(), which internally uses
++   * wait_on_completion_killable(), will mistake our pending signal
++   * for a new fatal signal and fail. */
++  flush_signals(current);
+   opa = kthread_run(_try_outdate_peer_async, tconn, "drbd_async_h");
+   if (IS_ERR(opa)) {
+   conn_err(tconn, "out of mem, failed to invoke fence-peer 
helper\n");
+diff --git a/drivers/cpufreq/cpufreq_governor.c 
b/drivers/cpufreq/cpufreq_governor.c
+index 28a0b32c73b3..27b0e2a295ea 100644
+--- a/drivers/cpufreq/cpufreq_governor.c
 b/drivers/cpufreq/cpufreq_governor.c
+@@ -97,7 +97,7 @@ void dbs_check_cpu(struct dbs_data *dbs_data, int cpu)
+ 
+   policy = cdbs->cur_policy;
+ 
+-  /* Get Absolute Load (in terms of freq for ondemand gov) */
++  /* Get Absolute Load */
+   for_each_cpu(j, policy->cpus) {
+   struct cpu_dbs_common_info *j_cdbs;
+   u64 cur_wall_time, cur_idle_time;
+@@ -148,14 +148,6 @@ void dbs_check_cpu(struct dbs_data *dbs_data, int cpu)
+ 
+   load = 100 * (wall_time - idle_time) / wall_time;
+ 
+-  if (dbs_data->cdata->governor == GOV_ONDEMAND) {
+-  int freq_avg = __cpufreq_driver_getavg(policy, j);
+-  if (freq_avg <= 0)
+-  freq_avg = policy->cur;
+-
+-  load *= freq_avg;
+-  }
+-
+   if (load > max_load)
+   max_load = load;
+   }
+diff --git a/drivers/cpufreq/cpufreq_governor.h 
b/drivers/cpufreq/cpufreq_governor.h
+index 0d9e6befe1d5..4a9058aeb57e 100644
+--- a/drivers/cpufreq/cpufreq_governor.h
 b/drivers/cpufreq/cpufreq_governor.h
+@@ -169,7 +169,6 @@ struct od_dbs_tuners {
+   unsigned int sampling_rate;
+   unsigned int sampling_down_factor;
+   unsigned int up_threshold;
+-  unsigned int adj_up_threshold;
+   unsigned int powersave_bias;
+   unsigned int io_is_busy;
+ };
+diff --git a/drivers/cpufreq/cpufreq_ondemand.c 
b/drivers/cpufreq/cpufreq_ondemand.c
+index c087347d6688..25438bbf96bb 100644
+--- a/drivers/cpufreq/cpufreq_ondemand.c
 b/drivers/cpufreq/cpufreq_ondemand.c
+@@ -29,11 +29,9 @@
+ #include "cpufreq_governor.h"
+ 
+ /* On-demand governor macros */
+-#define DEF_FREQUENCY_DOWN_DIFFERENTIAL   (10)
+ #define DEF_FREQUENCY_UP_THRESHOLD(80)
+ #define DEF_SAMPLING_DOWN_FACTOR  (1)
+ #define MAX_SAMPLING_DOWN_FACTOR  (10)
+-#define MICRO_FREQUENCY_DOWN_DIFFERENTIAL (3)
+ #define MICRO_FREQUENCY_UP_THRESHOLD  (95)
+ #define MICRO_FREQUENCY_MIN_SAMPLE_RATE   (1)
+ #define MIN_FREQUENCY_UP_THRESHOLD(11)
+@@ -161,14 +159,10 @@ static void dbs_freq_increase(struct cpufreq_policy *p, 
unsigned int freq)
+ 
+ /*
+  * Every sampling_rate, we check, if current idle time is less than 20%
+- * (default), then we try to increase frequency. Every sampling_rate, we look
+- * for the lowest frequency which can sustain the load while keeping idle time
+- * over 30%. If such a frequency exist, we try to decrease to this frequency.
+- *
+- * Any frequency incre

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

2014-09-17 Thread Anthony G. Basile
commit: a8ccf5b31f2b4730cba253a1b19d4e9ee3a494e0
Author: Anthony G. Basile  gentoo  org>
AuthorDate: Wed Sep 17 22:09:40 2014 +
Commit: Anthony G. Basile  gentoo  org>
CommitDate: Wed Sep 17 22:09:40 2014 +
URL:
http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=a8ccf5b3

Fix README

---
 _README | 24 
 1 file changed, 24 insertions(+)

diff --git a/_README b/_README
index db70185..9ef942c 100644
--- a/_README
+++ b/_README
@@ -238,6 +238,30 @@ Patch:  1048_linux-3.10.49.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.49
 
+Patch:  1049_linux-3.10.50.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.50
+
+Patch:  1050_linux-3.10.51.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.51
+
+Patch:  1051_linux-3.10.52.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.52
+
+Patch:  1052_linux-3.10.53.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.53
+
+Patch:  1053_linux-3.10.54.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.54
+
+Patch:  1054_linux-3.10.55.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.55
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.



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

2014-08-14 Thread Mike Pagano
commit: f549a84a6f3db0a5cfc88e790f5d18430abf6a17
Author: Mike Pagano  gentoo  org>
AuthorDate: Thu Aug 14 12:19:18 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Thu Aug 14 12:19:18 2014 +
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=f549a84a

Linux patch 3.10.53

---
 _README  |4 +
 1052_linux-3.10.53.patch | 1227 ++
 2 files changed, 1231 insertions(+)

diff --git a/_README b/_README
index 1e6798c..768761b 100644
--- a/_README
+++ b/_README
@@ -250,6 +250,10 @@ Patch:  1051_linux-3.10.52.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.52
 
+Patch:  1052_linux-3.10.53.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.53
+
 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/1052_linux-3.10.53.patch b/1052_linux-3.10.53.patch
new file mode 100644
index 000..c0a634a
--- /dev/null
+++ b/1052_linux-3.10.53.patch
@@ -0,0 +1,1227 @@
+diff --git a/Makefile b/Makefile
+index b94f00938acc..2ac415a7e937 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 52
++SUBLEVEL = 53
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/sparc/include/asm/pgtable_64.h 
b/arch/sparc/include/asm/pgtable_64.h
+index dfb0019bf05b..6663604a902a 100644
+--- a/arch/sparc/include/asm/pgtable_64.h
 b/arch/sparc/include/asm/pgtable_64.h
+@@ -24,7 +24,8 @@
+ 
+ /* The kernel image occupies 0x400 to 0x600 (4MB --> 96MB).
+  * The page copy blockops can use 0x600 to 0x800.
+- * The TSB is mapped in the 0x800 to 0xa00 range.
++ * The 8K TSB is mapped in the 0x800 to 0x840 range.
++ * The 4M TSB is mapped in the 0x840 to 0x880 range.
+  * The PROM resides in an area spanning 0xf000 to 0x1.
+  * The vmalloc area spans 0x1 to 0x2.
+  * Since modules need to be in the lowest 32-bits of the address space,
+@@ -33,7 +34,8 @@
+  * 0x4.
+  */
+ #define   TLBTEMP_BASE_AC(0x0600,UL)
+-#define   TSBMAP_BASE _AC(0x0800,UL)
++#define   TSBMAP_8K_BASE  _AC(0x0800,UL)
++#define   TSBMAP_4M_BASE  _AC(0x0840,UL)
+ #define MODULES_VADDR _AC(0x1000,UL)
+ #define MODULES_LEN   _AC(0xe000,UL)
+ #define MODULES_END   _AC(0xf000,UL)
+diff --git a/arch/sparc/include/asm/tlbflush_64.h 
b/arch/sparc/include/asm/tlbflush_64.h
+index f0d6a9700f4c..1a4bb971e06d 100644
+--- a/arch/sparc/include/asm/tlbflush_64.h
 b/arch/sparc/include/asm/tlbflush_64.h
+@@ -35,6 +35,8 @@ static inline void flush_tlb_range(struct vm_area_struct 
*vma,
+ {
+ }
+ 
++void flush_tlb_kernel_range(unsigned long start, unsigned long end);
++
+ #define __HAVE_ARCH_ENTER_LAZY_MMU_MODE
+ 
+ extern void flush_tlb_pending(void);
+@@ -49,11 +51,6 @@ extern void __flush_tlb_kernel_range(unsigned long start, 
unsigned long end);
+ 
+ #ifndef CONFIG_SMP
+ 
+-#define flush_tlb_kernel_range(start,end) \
+-do {  flush_tsb_kernel_range(start,end); \
+-  __flush_tlb_kernel_range(start,end); \
+-} while (0)
+-
+ static inline void global_flush_tlb_page(struct mm_struct *mm, unsigned long 
vaddr)
+ {
+   __flush_tlb_page(CTX_HWBITS(mm->context), vaddr);
+@@ -64,11 +61,6 @@ static inline void global_flush_tlb_page(struct mm_struct 
*mm, unsigned long vad
+ extern void smp_flush_tlb_kernel_range(unsigned long start, unsigned long 
end);
+ extern void smp_flush_tlb_page(struct mm_struct *mm, unsigned long vaddr);
+ 
+-#define flush_tlb_kernel_range(start, end) \
+-do {  flush_tsb_kernel_range(start,end); \
+-  smp_flush_tlb_kernel_range(start, end); \
+-} while (0)
+-
+ #define global_flush_tlb_page(mm, vaddr) \
+   smp_flush_tlb_page(mm, vaddr)
+ 
+diff --git a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c
+index 54df554b82d9..fa4c900a0d1f 100644
+--- a/arch/sparc/kernel/ldc.c
 b/arch/sparc/kernel/ldc.c
+@@ -1336,7 +1336,7 @@ int ldc_connect(struct ldc_channel *lp)
+   if (!(lp->flags & LDC_FLAG_ALLOCED_QUEUES) ||
+   !(lp->flags & LDC_FLAG_REGISTERED_QUEUES) ||
+   lp->hs_state != LDC_HS_OPEN)
+-  err = -EINVAL;
++  err = ((lp->hs_state > LDC_HS_OPEN) ? 0 : -EINVAL);
+   else
+   err = start_handshake(lp);
+ 
+diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c
+index 77539eda928c..8565ecd7d48a 100644
+--- a/arch/sparc/kernel/smp_64.c
 b/arch/sparc/kernel/smp_64.c
+@@ -150,7 +150,7 @@ void cpu_panic(void)
+ #define NUM_ROUNDS64  /* magic value */
+ #define NUM_ITERS 5   /* likewise */
+ 
+-static DEFINE_SPINLOCK(itc_sync_lock);
++static DEFINE_RAW_SPINLOCK(itc_sync_lock);
+ static unsigned long go[SLAVE + 1];
+ 
+ #defin

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

2014-08-08 Thread Mike Pagano
commit: 55bddecaa455f53be117a668dca0f114c11bc216
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Aug  8 17:52:12 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Aug  8 17:52:12 2014 +
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=55bddeca

Linux patch 3.10.52

---
 _README  |4 +
 1051_linux-3.10.52.patch | 1554 ++
 2 files changed, 1558 insertions(+)

diff --git a/_README b/_README
index 35d32f5..1e6798c 100644
--- a/_README
+++ b/_README
@@ -246,6 +246,10 @@ Patch:  1050_linux-3.10.51.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.51
 
+Patch:  1051_linux-3.10.52.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.52
+
 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/1051_linux-3.10.52.patch b/1051_linux-3.10.52.patch
new file mode 100644
index 000..570d7cd
--- /dev/null
+++ b/1051_linux-3.10.52.patch
@@ -0,0 +1,1554 @@
+diff --git a/Documentation/x86/x86_64/mm.txt b/Documentation/x86/x86_64/mm.txt
+index 881582f75c9c..bd4370487b07 100644
+--- a/Documentation/x86/x86_64/mm.txt
 b/Documentation/x86/x86_64/mm.txt
+@@ -12,6 +12,8 @@ c900 - e8ff (=45 bits) 
vmalloc/ioremap space
+ e900 - e9ff (=40 bits) hole
+ ea00 - eaff (=40 bits) virtual memory map (1TB)
+ ... unused hole ...
++ff00 - ff7f (=39 bits) %esp fixup stacks
++... unused hole ...
+ 8000 - a000 (=512 MB)  kernel text mapping, from phys 0
+ a000 - ff5f (=1525 MB) module mapping space
+ ff60 - ffdf (=8 MB) vsyscalls
+diff --git a/Makefile b/Makefile
+index f9f6ee59c61a..b94f00938acc 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 51
++SUBLEVEL = 52
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/mm/idmap.c b/arch/arm/mm/idmap.c
+index 83cb3ac27095..c61d2373408c 100644
+--- a/arch/arm/mm/idmap.c
 b/arch/arm/mm/idmap.c
+@@ -24,6 +24,13 @@ static void idmap_add_pmd(pud_t *pud, unsigned long addr, 
unsigned long end,
+   pr_warning("Failed to allocate identity pmd.\n");
+   return;
+   }
++  /*
++   * Copy the original PMD to ensure that the PMD entries for
++   * the kernel image are preserved.
++   */
++  if (!pud_none(*pud))
++  memcpy(pmd, pmd_offset(pud, 0),
++ PTRS_PER_PMD * sizeof(pmd_t));
+   pud_populate(&init_mm, pud, pmd);
+   pmd += pmd_index(addr);
+   } else
+diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
+index af88b27ce313..a649cb686692 100644
+--- a/arch/x86/Kconfig
 b/arch/x86/Kconfig
+@@ -952,10 +952,27 @@ config VM86
+   default y
+   depends on X86_32
+   ---help---
+-This option is required by programs like DOSEMU to run 16-bit legacy
+-code on X86 processors. It also may be needed by software like
+-XFree86 to initialize some video cards via BIOS. Disabling this
+-option saves about 6k.
++This option is required by programs like DOSEMU to run
++16-bit real mode legacy code on x86 processors. It also may
++be needed by software like XFree86 to initialize some video
++cards via BIOS. Disabling this option saves about 6K.
++
++config X86_16BIT
++  bool "Enable support for 16-bit segments" if EXPERT
++  default y
++  ---help---
++This option is required by programs like Wine to run 16-bit
++protected mode legacy code on x86 processors.  Disabling
++this option saves about 300 bytes on i386, or around 6K text
++plus 16K runtime memory on x86-64,
++
++config X86_ESPFIX32
++  def_bool y
++  depends on X86_16BIT && X86_32
++
++config X86_ESPFIX64
++  def_bool y
++  depends on X86_16BIT && X86_64
+ 
+ config TOSHIBA
+   tristate "Toshiba Laptop support"
+diff --git a/arch/x86/include/asm/espfix.h b/arch/x86/include/asm/espfix.h
+new file mode 100644
+index ..99efebb2f69d
+--- /dev/null
 b/arch/x86/include/asm/espfix.h
+@@ -0,0 +1,16 @@
++#ifndef _ASM_X86_ESPFIX_H
++#define _ASM_X86_ESPFIX_H
++
++#ifdef CONFIG_X86_64
++
++#include 
++
++DECLARE_PER_CPU_READ_MOSTLY(unsigned long, espfix_stack);
++DECLARE_PER_CPU_READ_MOSTLY(unsigned long, espfix_waddr);
++
++extern void init_espfix_bsp(void);
++extern void init_espfix_ap(void);
++
++#endif /* CONFIG_X86_64 */
++
++#endif /* _ASM_X86_ESPFIX_H */
+diff --git a/arch/x86/include/asm/irqflags.h b/arch/x86/include/asm/irqflags.h
+index bba3cf88e624..0a8b519226b8 100644
+--- a/arch/x86/include/asm/irqflags.h
 b/arch/x86/include/

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

2014-08-02 Thread Mike Pagano
commit: 7f39f6e6b366931633750a78904e8b378f7f75eb
Author: Mike Pagano  gentoo  org>
AuthorDate: Sat Aug  2 15:26:14 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Sat Aug  2 15:26:14 2014 +
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=7f39f6e6

Linux patch 3.10.51

---
 _README  |   4 +
 1050_linux-3.10.51.patch | 708 +++
 2 files changed, 712 insertions(+)

diff --git a/_README b/_README
index e86111a..35d32f5 100644
--- a/_README
+++ b/_README
@@ -242,6 +242,10 @@ Patch:  1049_linux-3.10.50.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.50
 
+Patch:  1050_linux-3.10.51.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.51
+
 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/1050_linux-3.10.51.patch b/1050_linux-3.10.51.patch
new file mode 100644
index 000..ba39b5f
--- /dev/null
+++ b/1050_linux-3.10.51.patch
@@ -0,0 +1,708 @@
+diff --git a/Makefile b/Makefile
+index 8d891c66803c..f9f6ee59c61a 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 50
++SUBLEVEL = 51
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+@@ -614,6 +614,8 @@ KBUILD_CFLAGS  += -fomit-frame-pointer
+ endif
+ endif
+ 
++KBUILD_CFLAGS   += $(call cc-option, -fno-var-tracking-assignments)
++
+ ifdef CONFIG_DEBUG_INFO
+ KBUILD_CFLAGS += -g
+ KBUILD_AFLAGS += -gdwarf-2
+diff --git a/arch/parisc/include/uapi/asm/signal.h 
b/arch/parisc/include/uapi/asm/signal.h
+index a2fa297196bc..f5645d6a89f2 100644
+--- a/arch/parisc/include/uapi/asm/signal.h
 b/arch/parisc/include/uapi/asm/signal.h
+@@ -69,8 +69,6 @@
+ #define SA_NOMASK SA_NODEFER
+ #define SA_ONESHOTSA_RESETHAND
+ 
+-#define SA_RESTORER   0x0400 /* obsolete -- ignored */
+-
+ #define MINSIGSTKSZ   2048
+ #define SIGSTKSZ  8192
+ 
+diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
+index a314c57f4e94..9677d935583c 100644
+--- a/arch/s390/kernel/ptrace.c
 b/arch/s390/kernel/ptrace.c
+@@ -314,7 +314,9 @@ static int __poke_user(struct task_struct *child, addr_t 
addr, addr_t data)
+* psw and gprs are stored on the stack
+*/
+   if (addr == (addr_t) &dummy->regs.psw.mask &&
+-  ((data & ~PSW_MASK_USER) != psw_user_bits ||
++  (((data^psw_user_bits) & ~PSW_MASK_USER) ||
++   (((data^psw_user_bits) & PSW_MASK_ASC) &&
++((data|psw_user_bits) & PSW_MASK_ASC) == PSW_MASK_ASC) ||
+((data & PSW_MASK_EA) && !(data & PSW_MASK_BA
+   /* Invalid psw mask. */
+   return -EINVAL;
+@@ -627,7 +629,10 @@ static int __poke_user_compat(struct task_struct *child,
+*/
+   if (addr == (addr_t) &dummy32->regs.psw.mask) {
+   /* Build a 64 bit psw mask from 31 bit mask. */
+-  if ((tmp & ~PSW32_MASK_USER) != psw32_user_bits)
++  if (((tmp^psw32_user_bits) & ~PSW32_MASK_USER) ||
++  (((tmp^psw32_user_bits) & PSW32_MASK_ASC) &&
++   ((tmp|psw32_user_bits) & PSW32_MASK_ASC)
++   == PSW32_MASK_ASC))
+   /* Invalid psw mask. */
+   return -EINVAL;
+   regs->psw.mask = (regs->psw.mask & ~PSW_MASK_USER) |
+diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
+index 9ec06a1f6d61..425712462178 100644
+--- a/arch/x86/boot/header.S
 b/arch/x86/boot/header.S
+@@ -91,10 +91,9 @@ bs_die:
+ 
+   .section ".bsdata", "a"
+ bugger_off_msg:
+-  .ascii  "Direct floppy boot is not supported. "
+-  .ascii  "Use a boot loader program instead.\r\n"
++  .ascii  "Use a boot loader.\r\n"
+   .ascii  "\n"
+-  .ascii  "Remove disk and press any key to reboot ...\r\n"
++  .ascii  "Remove disk and press any key to reboot...\r\n"
+   .byte   0
+ 
+ #ifdef CONFIG_EFI_STUB
+@@ -108,7 +107,7 @@ coff_header:
+ #else
+   .word   0x8664  # x86-64
+ #endif
+-  .word   3   # nr_sections
++  .word   4   # nr_sections
+   .long   0   # TimeDateStamp
+   .long   0   # PointerToSymbolTable
+   .long   1   # NumberOfSymbols
+@@ -250,6 +249,25 @@ section_table:
+   .word   0   # NumberOfLineNumbers
+   .long   0x60500020  # Characteristics (section 
flags)
+ 
++  #
++  # The offset & size fields are filled in by build.c.
++  #
++  .ascii  ".bss"
++  .byte   0
++  .byte   0
++  .byte   0

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

2014-07-28 Thread Mike Pagano
commit: bb6262518ee99eb5e444a8cd8c6067fe52f55864
Author: Mike Pagano  gentoo  org>
AuthorDate: Mon Jul 28 19:39:32 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Mon Jul 28 19:39:32 2014 +
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=bb626251

Linux patch 3.10.50

---
 _README  |4 +
 1049_linux-3.10.50.patch | 1637 ++
 2 files changed, 1641 insertions(+)

diff --git a/_README b/_README
index db70185..e86111a 100644
--- a/_README
+++ b/_README
@@ -238,6 +238,10 @@ Patch:  1048_linux-3.10.49.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.49
 
+Patch:  1049_linux-3.10.50.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.50
+
 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/1049_linux-3.10.50.patch b/1049_linux-3.10.50.patch
new file mode 100644
index 000..643e891
--- /dev/null
+++ b/1049_linux-3.10.50.patch
@@ -0,0 +1,1637 @@
+diff --git a/Makefile b/Makefile
+index b8b8d33eab55..8d891c66803c 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 49
++SUBLEVEL = 50
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arc/include/uapi/asm/ptrace.h 
b/arch/arc/include/uapi/asm/ptrace.h
+index 30333cec0fef..ef9d79a3db25 100644
+--- a/arch/arc/include/uapi/asm/ptrace.h
 b/arch/arc/include/uapi/asm/ptrace.h
+@@ -11,6 +11,7 @@
+ #ifndef _UAPI__ASM_ARC_PTRACE_H
+ #define _UAPI__ASM_ARC_PTRACE_H
+ 
++#define PTRACE_GET_THREAD_AREA25
+ 
+ #ifndef __ASSEMBLY__
+ /*
+diff --git a/arch/arc/kernel/ptrace.c b/arch/arc/kernel/ptrace.c
+index 0851604bb9cd..f8a36ed9e0d5 100644
+--- a/arch/arc/kernel/ptrace.c
 b/arch/arc/kernel/ptrace.c
+@@ -136,6 +136,10 @@ long arch_ptrace(struct task_struct *child, long request,
+   pr_debug("REQ=%ld: ADDR =0x%lx, DATA=0x%lx)\n", request, addr, data);
+ 
+   switch (request) {
++  case PTRACE_GET_THREAD_AREA:
++  ret = put_user(task_thread_info(child)->thr_ptr,
++ (unsigned long __user *)data);
++  break;
+   default:
+   ret = ptrace_request(child, request, addr, data);
+   break;
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index 18a9f5ef643a..d41951246cd6 100644
+--- a/arch/arm/Kconfig
 b/arch/arm/Kconfig
+@@ -4,6 +4,7 @@ config ARM
+   select ARCH_BINFMT_ELF_RANDOMIZE_PIE
+   select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
+   select ARCH_HAVE_CUSTOM_GPIO_H
++  select ARCH_SUPPORTS_ATOMIC_RMW
+   select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
+   select ARCH_WANT_IPC_PARSE_VERSION
+   select BUILDTIME_EXTABLE_SORT if MMU
+diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
+index 56b3f6d447ae..0677ff4814fa 100644
+--- a/arch/arm64/Kconfig
 b/arch/arm64/Kconfig
+@@ -1,6 +1,7 @@
+ config ARM64
+   def_bool y
+   select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
++  select ARCH_SUPPORTS_ATOMIC_RMW
+   select ARCH_WANT_OPTIONAL_GPIOLIB
+   select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
+   select ARCH_WANT_FRAME_POINTERS
+diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
+index fe404e77246e..7f656f119ea6 100644
+--- a/arch/powerpc/Kconfig
 b/arch/powerpc/Kconfig
+@@ -138,6 +138,7 @@ config PPC
+   select ARCH_USE_BUILTIN_BSWAP
+   select OLD_SIGSUSPEND
+   select OLD_SIGACTION if PPC32
++  select ARCH_SUPPORTS_ATOMIC_RMW
+ 
+ config EARLY_PRINTK
+   bool
+diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
+index 2668b3142fa2..03a1bc3c3dde 100644
+--- a/arch/sparc/Kconfig
 b/arch/sparc/Kconfig
+@@ -77,6 +77,7 @@ config SPARC64
+   select ARCH_HAVE_NMI_SAFE_CMPXCHG
+   select HAVE_C_RECORDMCOUNT
+   select NO_BOOTMEM
++  select ARCH_SUPPORTS_ATOMIC_RMW
+ 
+ config ARCH_DEFCONFIG
+   string
+diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
+index fe120da25625..af88b27ce313 100644
+--- a/arch/x86/Kconfig
 b/arch/x86/Kconfig
+@@ -121,6 +121,7 @@ config X86
+   select OLD_SIGACTION if X86_32
+   select COMPAT_OLD_SIGACTION if IA32_EMULATION
+   select RTC_LIB
++  select ARCH_SUPPORTS_ATOMIC_RMW
+ 
+ config INSTRUCTION_DECODER
+   def_bool y
+diff --git a/arch/x86/kernel/cpu/perf_event_intel.c 
b/arch/x86/kernel/cpu/perf_event_intel.c
+index a9e22073bd56..b45ac6affa9c 100644
+--- a/arch/x86/kernel/cpu/perf_event_intel.c
 b/arch/x86/kernel/cpu/perf_event_intel.c
+@@ -1199,6 +1199,15 @@ again:
+   intel_pmu_lbr_read();
+ 
+   /*
++   * CondChgd bit 63 doesn't mean any overflow status. Ignore
++   * and clear the bit.
++   */
++  if (__test_and_clear_bit(63, (unsigned long *)&status)) {
++  if (!status)
++  goto done;
++  }
++
++  /*
+* PEBS over

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

2014-07-18 Thread Mike Pagano
commit: 274d40c3e4bf0dd4a68db69573c6765b56d8dd79
Author: Mike Pagano  gentoo  org>
AuthorDate: Fri Jul 18 11:54:15 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Fri Jul 18 11:54:15 2014 +
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=274d40c3

Linux patch 3.10.49

---
 _README  |4 +
 1048_linux-3.10.49.patch | 1621 ++
 2 files changed, 1625 insertions(+)

diff --git a/_README b/_README
index 7ca8043..db70185 100644
--- a/_README
+++ b/_README
@@ -234,6 +234,10 @@ Patch:  1047_linux-3.10.48.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.48
 
+Patch:  1048_linux-3.10.49.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.49
+
 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/1048_linux-3.10.49.patch b/1048_linux-3.10.49.patch
new file mode 100644
index 000..66bb57c
--- /dev/null
+++ b/1048_linux-3.10.49.patch
@@ -0,0 +1,1621 @@
+diff --git a/Makefile b/Makefile
+index f7e5680740f9..b8b8d33eab55 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 48
++SUBLEVEL = 49
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
+index 381f556b664e..bf0838323896 100644
+--- a/arch/arm64/include/asm/memory.h
 b/arch/arm64/include/asm/memory.h
+@@ -51,6 +51,8 @@
+ #define TASK_SIZE_32  UL(0x1)
+ #define TASK_SIZE (test_thread_flag(TIF_32BIT) ? \
+   TASK_SIZE_32 : TASK_SIZE_64)
++#define TASK_SIZE_OF(tsk) (test_tsk_thread_flag(tsk, TIF_32BIT) ? \
++  TASK_SIZE_32 : TASK_SIZE_64)
+ #else
+ #define TASK_SIZE TASK_SIZE_64
+ #endif /* CONFIG_COMPAT */
+diff --git a/arch/parisc/kernel/hardware.c b/arch/parisc/kernel/hardware.c
+index 872275659d98..c22c3d84e28b 100644
+--- a/arch/parisc/kernel/hardware.c
 b/arch/parisc/kernel/hardware.c
+@@ -1205,7 +1205,8 @@ static struct hp_hardware hp_hardware_list[] = {
+   {HPHW_FIO, 0x004, 0x00320, 0x0, "Metheus Frame Buffer"}, 
+   {HPHW_FIO, 0x004, 0x00340, 0x0, "BARCO CX4500 VME Grphx Cnsl"}, 
+   {HPHW_FIO, 0x004, 0x00360, 0x0, "Hughes TOG VME FDDI"}, 
+-  {HPHW_FIO, 0x076, 0x000AD, 0x00, "Crestone Peak RS-232"},
++  {HPHW_FIO, 0x076, 0x000AD, 0x0, "Crestone Peak Core RS-232"},
++  {HPHW_FIO, 0x077, 0x000AD, 0x0, "Crestone Peak Fast? Core RS-232"},
+   {HPHW_IOA, 0x185, 0xB, 0x00, "Java BC Summit Port"}, 
+   {HPHW_IOA, 0x1FF, 0xB, 0x00, "Hitachi Ghostview Summit Port"}, 
+   {HPHW_IOA, 0x580, 0xB, 0x10, "U2-IOA BC Runway Port"}, 
+diff --git a/arch/powerpc/include/asm/perf_event_server.h 
b/arch/powerpc/include/asm/perf_event_server.h
+index f265049dd7d6..960bf64788a3 100644
+--- a/arch/powerpc/include/asm/perf_event_server.h
 b/arch/powerpc/include/asm/perf_event_server.h
+@@ -59,7 +59,7 @@ struct power_pmu {
+ #define PPMU_SIAR_VALID   0x0010 /* Processor has SIAR Valid 
bit */
+ #define PPMU_HAS_SSLOT0x0020 /* Has sampled slot in MMCRA 
*/
+ #define PPMU_HAS_SIER 0x0040 /* Has SIER */
+-#define PPMU_BHRB 0x0080 /* has BHRB feature enabled */
++#define PPMU_ARCH_207S0x0080 /* PMC is architecture 
v2.07S */
+ 
+ /*
+  * Values for flags to get_alternatives()
+diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
+index d3ee2e50a3a6..846861a20b07 100644
+--- a/arch/powerpc/perf/core-book3s.c
 b/arch/powerpc/perf/core-book3s.c
+@@ -749,7 +749,22 @@ static void power_pmu_read(struct perf_event *event)
+   } while (local64_cmpxchg(&event->hw.prev_count, prev, val) != prev);
+ 
+   local64_add(delta, &event->count);
+-  local64_sub(delta, &event->hw.period_left);
++
++  /*
++   * A number of places program the PMC with (0x8000 - period_left).
++   * We never want period_left to be less than 1 because we will program
++   * the PMC with a value >= 0x8 and an edge detected PMC will
++   * roll around to 0 before taking an exception. We have seen this
++   * on POWER8.
++   *
++   * To fix this, clamp the minimum value of period_left to 1.
++   */
++  do {
++  prev = local64_read(&event->hw.period_left);
++  val = prev - delta;
++  if (val < 1)
++  val = 1;
++  } while (local64_cmpxchg(&event->hw.period_left, prev, val) != prev);
+ }
+ 
+ /*
+@@ -1327,6 +1342,9 @@ static int can_go_on_limited_pmc(struct perf_event 
*event, u64 ev,
+   if (ppmu->limited_pmc_event(ev))
+   return 1;
+ 
++  if (ppmu->flags & PPMU_ARCH_207S)
++  mtspr(SPRN_MMCR2, 0);
++
+   /*
+* The req

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

2014-07-09 Thread Mike Pagano
commit: f4449b8ff9220f2c57f1ebe5ecad2fd86cd98ac2
Author: Mike Pagano  gentoo  org>
AuthorDate: Wed Jul  9 23:38:57 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Wed Jul  9 23:38:57 2014 +
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=f4449b8f

Linux patch 3.10.48

---
 _README  |4 +
 1047_linux-3.10.48.patch | 1525 ++
 2 files changed, 1529 insertions(+)

diff --git a/_README b/_README
index 3f75e5c..7ca8043 100644
--- a/_README
+++ b/_README
@@ -230,6 +230,10 @@ Patch:  1046_linux-3.10.47.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.47
 
+Patch:  1047_linux-3.10.48.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.48
+
 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/1047_linux-3.10.48.patch b/1047_linux-3.10.48.patch
new file mode 100644
index 000..1da735f
--- /dev/null
+++ b/1047_linux-3.10.48.patch
@@ -0,0 +1,1525 @@
+diff --git a/Makefile b/Makefile
+index 6a3b46d1863c..f7e5680740f9 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 47
++SUBLEVEL = 48
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
+index f82cf878d6af..94c2f6d17dae 100644
+--- a/arch/arm/mach-omap2/mux.c
 b/arch/arm/mach-omap2/mux.c
+@@ -183,8 +183,10 @@ static int __init _omap_mux_get_by_name(struct 
omap_mux_partition *partition,
+   m0_entry = mux->muxnames[0];
+ 
+   /* First check for full name in mode0.muxmode format */
+-  if (mode0_len && strncmp(muxname, m0_entry, mode0_len))
+-  continue;
++  if (mode0_len)
++  if (strncmp(muxname, m0_entry, mode0_len) ||
++  (strlen(m0_entry) != mode0_len))
++  continue;
+ 
+   /* Then check for muxmode only */
+   for (i = 0; i < OMAP_MUX_NR_MODES; i++) {
+diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
+index 6ad781b21c08..7cd589ebca2a 100644
+--- a/arch/arm64/kernel/entry.S
 b/arch/arm64/kernel/entry.S
+@@ -275,7 +275,6 @@ el1_sp_pc:
+* Stack or PC alignment exception handling
+*/
+   mrs x0, far_el1
+-  mov x1, x25
+   mov x2, sp
+   b   do_sp_pc_abort
+ el1_undef:
+diff --git a/arch/unicore32/mm/alignment.c b/arch/unicore32/mm/alignment.c
+index de7dc5fdd58b..24e836023e6c 100644
+--- a/arch/unicore32/mm/alignment.c
 b/arch/unicore32/mm/alignment.c
+@@ -21,6 +21,7 @@
+ #include 
+ #include 
+ 
++#include 
+ #include 
+ #include 
+ 
+diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
+index 3741c653767c..8b320722de7a 100644
+--- a/arch/x86/include/asm/kvm_host.h
 b/arch/x86/include/asm/kvm_host.h
+@@ -92,7 +92,7 @@
+ #define KVM_REFILL_PAGES 25
+ #define KVM_MAX_CPUID_ENTRIES 80
+ #define KVM_NR_FIXED_MTRR_REGION 88
+-#define KVM_NR_VAR_MTRR 8
++#define KVM_NR_VAR_MTRR 10
+ 
+ #define ASYNC_PF_PER_VCPU 64
+ 
+@@ -445,7 +445,7 @@ struct kvm_vcpu_arch {
+   bool nmi_injected;/* Trying to inject an NMI this entry */
+ 
+   struct mtrr_state_type mtrr_state;
+-  u32 pat;
++  u64 pat;
+ 
+   int switch_db_regs;
+   unsigned long db[KVM_NR_DB_REGS];
+diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
+index 1e89a3dd3d51..07caf44d5755 100644
+--- a/drivers/block/rbd.c
 b/drivers/block/rbd.c
+@@ -1385,6 +1385,14 @@ static bool obj_request_exists_test(struct 
rbd_obj_request *obj_request)
+   return test_bit(OBJ_REQ_EXISTS, &obj_request->flags) != 0;
+ }
+ 
++static bool obj_request_overlaps_parent(struct rbd_obj_request *obj_request)
++{
++  struct rbd_device *rbd_dev = obj_request->img_request->rbd_dev;
++
++  return obj_request->img_offset <
++  round_up(rbd_dev->parent_overlap, rbd_obj_bytes(&rbd_dev->header));
++}
++
+ static void rbd_obj_request_get(struct rbd_obj_request *obj_request)
+ {
+   dout("%s: obj %p (was %d)\n", __func__, obj_request,
+@@ -1401,6 +1409,13 @@ static void rbd_obj_request_put(struct rbd_obj_request 
*obj_request)
+   kref_put(&obj_request->kref, rbd_obj_request_destroy);
+ }
+ 
++static void rbd_img_request_get(struct rbd_img_request *img_request)
++{
++  dout("%s: img %p (was %d)\n", __func__, img_request,
++   atomic_read(&img_request->kref.refcount));
++  kref_get(&img_request->kref);
++}
++
+ static bool img_request_child_test(struct rbd_img_request *img_request);
+ static void rbd_parent_request_destroy(struct kref *kref);
+ static void rbd_img_request_destroy(struct kref *kref);
+@@ -2154,6 +2169,7 @@ static void rbd_img_obj_callback(struct rbd_obj_request 
*obj_request)
+   img_request->next_completion = which;
+ ou

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

2014-07-07 Thread Mike Pagano
commit: 1ea8ec206bb391ba233e18afe4f1517e31cef49e
Author: Mike Pagano  gentoo  org>
AuthorDate: Tue Jul  8 00:22:06 2014 +
Commit: Mike Pagano  gentoo  org>
CommitDate: Tue Jul  8 00:22:06 2014 +
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=1ea8ec20

Linux patch 3.10.47

---
 _README  |4 +
 1046_linux-3.10.47.patch | 1412 ++
 2 files changed, 1416 insertions(+)

diff --git a/_README b/_README
index 6ec8c6d..3f75e5c 100644
--- a/_README
+++ b/_README
@@ -226,6 +226,10 @@ Patch:  1045_linux-3.10.46.patch
 From:   http://www.kernel.org
 Desc:   Linux 3.10.46
 
+Patch:  1046_linux-3.10.47.patch
+From:   http://www.kernel.org
+Desc:   Linux 3.10.47
+
 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/1046_linux-3.10.47.patch b/1046_linux-3.10.47.patch
new file mode 100644
index 000..6bbab45
--- /dev/null
+++ b/1046_linux-3.10.47.patch
@@ -0,0 +1,1412 @@
+diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches
+index 6e97e73d87b5..4dbba7e100a1 100644
+--- a/Documentation/SubmittingPatches
 b/Documentation/SubmittingPatches
+@@ -131,6 +131,20 @@ If you cannot condense your patch set into a smaller set 
of patches,
+ then only post say 15 or so at a time and wait for review and integration.
+ 
+ 
++If your patch fixes a bug in a specific commit, e.g. you found an issue using
++git-bisect, please use the 'Fixes:' tag with the first 12 characters of the
++SHA-1 ID, and the one line summary.
++Example:
++
++  Fixes: e21d2170f366 ("video: remove unnecessary platform_set_drvdata()")
++
++The following git-config settings can be used to add a pretty format for
++outputting the above style in the git log or git show commands
++
++  [core]
++  abbrev = 12
++  [pretty]
++  fixes = Fixes: %h (\"%s\")
+ 
+ 4) Style check your changes.
+ 
+@@ -420,7 +434,7 @@ person it names.  This tag documents that potentially 
interested parties
+ have been included in the discussion
+ 
+ 
+-14) Using Reported-by:, Tested-by:, Reviewed-by: and Suggested-by:
++14) Using Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: and Fixes:
+ 
+ If this patch fixes a problem reported by somebody else, consider adding a
+ Reported-by: tag to credit the reporter for their contribution.  Please
+@@ -475,6 +489,12 @@ idea was not posted in a public forum. That said, if we 
diligently credit our
+ idea reporters, they will, hopefully, be inspired to help us again in the
+ future.
+ 
++A Fixes: tag indicates that the patch fixes an issue in a previous commit. It
++is used to make it easy to determine where a bug originated, which can help
++review a bug fix. This tag also assists the stable kernel team in determining
++which stable kernel versions should receive your fix. This is the preferred
++method for indicating a bug fixed by the patch. See #2 above for more details.
++
+ 
+ 15) The canonical patch format
+ 
+diff --git a/Makefile b/Makefile
+index c226f110181d..6a3b46d1863c 100644
+--- a/Makefile
 b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 3
+ PATCHLEVEL = 10
+-SUBLEVEL = 46
++SUBLEVEL = 47
+ EXTRAVERSION =
+ NAME = TOSSUG Baby Fish
+ 
+diff --git a/arch/mips/kernel/irq-msc01.c b/arch/mips/kernel/irq-msc01.c
+index fab40f7d2e03..ac9facc08694 100644
+--- a/arch/mips/kernel/irq-msc01.c
 b/arch/mips/kernel/irq-msc01.c
+@@ -131,7 +131,7 @@ void __init init_msc_irqs(unsigned long icubase, unsigned 
int irqbase, msc_irqma
+ 
+   board_bind_eic_interrupt = &msc_bind_eic_interrupt;
+ 
+-  for (; nirq >= 0; nirq--, imp++) {
++  for (; nirq > 0; nirq--, imp++) {
+   int n = imp->im_irq;
+ 
+   switch (imp->im_type) {
+diff --git a/arch/mips/kvm/kvm_mips.c b/arch/mips/kvm/kvm_mips.c
+index 426345ac6f6e..2c7b3ade8ec0 100644
+--- a/arch/mips/kvm/kvm_mips.c
 b/arch/mips/kvm/kvm_mips.c
+@@ -149,9 +149,7 @@ void kvm_mips_free_vcpus(struct kvm *kvm)
+   if (kvm->arch.guest_pmap[i] != KVM_INVALID_PAGE)
+   kvm_mips_release_pfn_clean(kvm->arch.guest_pmap[i]);
+   }
+-
+-  if (kvm->arch.guest_pmap)
+-  kfree(kvm->arch.guest_pmap);
++  kfree(kvm->arch.guest_pmap);
+ 
+   kvm_for_each_vcpu(i, vcpu, kvm) {
+   kvm_arch_vcpu_free(vcpu);
+@@ -384,12 +382,9 @@ void kvm_arch_vcpu_free(struct kvm_vcpu *vcpu)
+ 
+   kvm_mips_dump_stats(vcpu);
+ 
+-  if (vcpu->arch.guest_ebase)
+-  kfree(vcpu->arch.guest_ebase);
+-
+-  if (vcpu->arch.kseg0_commpage)
+-  kfree(vcpu->arch.kseg0_commpage);
+-
++  kfree(vcpu->arch.guest_ebase);
++  kfree(vcpu->arch.kseg0_commpage);
++  kfree(vcpu);
+ }
+ 
+ void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu)
+diff --git a/arch/powerpc/include/asm/systbl.h 
b/arch/powerpc/inc