[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: aacb6d87890588e839500bcfeabb1fde7bf93e35 Author: Mike Pagano gentoo org> AuthorDate: Fri Dec 9 23:49:24 2016 + Commit: Mike Pagano gentoo org> CommitDate: Fri Dec 9 23:49:24 2016 + URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=aacb6d87 Fix race condition in packet_set_ring. CVE-2016-8655. Bug #601926. _README | 8 +-- 1520_fix-race-condition-in-packet-set-ring.patch | 62 2 files changed, 66 insertions(+), 4 deletions(-) diff --git a/_README b/_README index 6a446df..aa8adef 100644 --- a/_README +++ b/_README @@ -495,14 +495,14 @@ Patch: 1500_XATTR_USER_PREFIX.patch From: https://bugs.gentoo.org/show_bug.cgi?id=470644 Desc: Support for namespace user.pax.* on tmpfs. -Patch: 1500_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: 1512_af_key-initialize-satype-in-key_notify_policy_flush.patch From: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=85dfb745ee40232876663ae206cba35f24ab2a40 Desc: af_key: initialize satype in key_notify_policy_flush() +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_correct-bnx2-firware-ver-mips.patch From: https://bugs.gentoo.org/show_bug.cgi?id=424609 Desc: Correct firmware version for bnx2 on mips 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(, 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 = _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(>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.4 commit in: /
commit: c0e453500c330875aef0cc8f1c5669781dc4ee16 Author: Mike Pagano gentoo org> AuthorDate: Wed Apr 27 19:31:59 2016 + Commit: Mike Pagano gentoo org> CommitDate: Wed Apr 27 19:31:59 2016 + URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=c0e45350 Linux patch 3.4.112 _README |4 + _linux-3.4.112.patch | 3175 ++ 2 files changed, 3179 insertions(+) diff --git a/_README b/_README index efb1797..2dee9b4 100644 --- a/_README +++ b/_README @@ -483,6 +483,10 @@ Patch: 1110_linux-3.4.111.patch From: http://www.kernel.org Desc: Linux 3.4.111 +Patch: _linux-3.4.112.patch +From: http://www.kernel.org +Desc: Linux 3.4.112 + 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/_linux-3.4.112.patch b/_linux-3.4.112.patch new file mode 100644 index 000..0247885 --- /dev/null +++ b/_linux-3.4.112.patch @@ -0,0 +1,3175 @@ +diff --git a/Makefile b/Makefile +index 8a3f507065f9..c63e1836d738 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 111 ++SUBLEVEL = 112 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/arm/Makefile b/arch/arm/Makefile +index 1d6402cbf4b2..4533386a2c84 100644 +--- a/arch/arm/Makefile b/arch/arm/Makefile +@@ -53,6 +53,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/arm/kernel/signal.c b/arch/arm/kernel/signal.c +index d68d1b694680..13579aa1494e 100644 +--- a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c +@@ -437,12 +437,23 @@ setup_return(struct pt_regs *regs, struct k_sigaction *ka, +*/ + thumb = handler & 1; + ++#if __LINUX_ARM_ARCH__ >= 6 ++ /* ++ * Clear the If-Then Thumb-2 execution state. ARM spec ++ * requires this to be all 000s in ARM mode. Snapdragon ++ * S4/Krait misbehaves on a Thumb=>ARM signal transition ++ * without this. ++ * ++ * We must do this whenever we are running on a Thumb-2 ++ * capable CPU, which includes ARMv6T2. However, we elect ++ * to do this whenever we're on an ARMv6 or later CPU for ++ * simplicity. ++ */ ++ cpsr &= ~PSR_IT_MASK; ++#endif ++ + if (thumb) { + cpsr |= PSR_T_BIT; +-#if __LINUX_ARM_ARCH__ >= 7 +- /* clear the If-Then Thumb-2 execution state */ +- cpsr &= ~PSR_IT_MASK; +-#endif + } else + cpsr &= ~PSR_T_BIT; + } +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,
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: 5b7a43580499987a3360b75e807ace62b86df1b5 Author: Mike Pagano gentoo org> AuthorDate: Fri Oct 23 23:33:36 2015 + Commit: Mike Pagano gentoo org> CommitDate: Fri Oct 23 23:33:36 2015 + URL:https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=5b7a4358 Linux patch 3.4.110 _README |4 + 1109_linux-3.4.110.patch | 2308 ++ 2 files changed, 2312 insertions(+) diff --git a/_README b/_README index 0fcce0d..42786be 100644 --- a/_README +++ b/_README @@ -475,6 +475,10 @@ Patch: 1108_linux-3.4.109.patch From: http://www.kernel.org Desc: Linux 3.4.109 +Patch: 1109_linux-3.4.110.patch +From: http://www.kernel.org +Desc: Linux 3.4.110 + 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/1109_linux-3.4.110.patch b/1109_linux-3.4.110.patch new file mode 100644 index 000..2178866 --- /dev/null +++ b/1109_linux-3.4.110.patch @@ -0,0 +1,2308 @@ +diff --git a/Documentation/networking/pktgen.txt b/Documentation/networking/pktgen.txt +index 75e4fd708ccb..a03239c4163d 100644 +--- a/Documentation/networking/pktgen.txt b/Documentation/networking/pktgen.txt +@@ -24,17 +24,33 @@ For monitoring and control pktgen creates: + /proc/net/pktgen/ethX + + +-Viewing threads +-=== +-/proc/net/pktgen/kpktgend_0 +-Name: kpktgend_0 max_before_softirq: 1 +-Running: +-Stopped: eth1 +-Result: OK: max_before_softirq=1 ++Kernel threads ++== ++Pktgen creates a thread for each CPU with affinity to that CPU. ++Which is controlled through procfile /proc/net/pktgen/kpktgend_X. ++ ++Example: /proc/net/pktgen/kpktgend_0 ++ ++ Running: ++ Stopped: eth4@0 ++ Result: OK: add_device=eth4@0 ++ ++Most important are the devices assigned to the thread. + +-Most important the devices assigned to thread. Note! A device can only belong +-to one thread. ++The two basic thread commands are: ++ * add_device DEVICE@NAME -- adds a single device ++ * rem_device_all -- remove all associated devices + ++When adding a device to a thread, a corrosponding procfile is created ++which is used for configuring this device. Thus, device names need to ++be unique. ++ ++To support adding the same device to multiple threads, which is useful ++with multi queue NICs, a the device naming scheme is extended with "@": ++ device@something ++ ++The part after "@" can be anything, but it is custom to use the thread ++number. + + Viewing devices + === +@@ -42,29 +58,32 @@ Viewing devices + Parm section holds configured info. Current hold running stats. + Result is printed after run or after interruption. Example: + +-/proc/net/pktgen/eth1 ++/proc/net/pktgen/eth4@0 + +-Params: count 1000 min_pkt_size: 60 max_pkt_size: 60 +- frags: 0 delay: 0 clone_skb: 100 ifname: eth1 ++ Params: count 10 min_pkt_size: 60 max_pkt_size: 60 ++ frags: 0 delay: 0 clone_skb: 64 ifname: eth4@0 + flows: 0 flowlen: 0 +- dst_min: 10.10.11.2 dst_max: +- src_min: src_max: +- src_mac: 00:00:00:00:00:00 dst_mac: 00:04:23:AC:FD:82 +- udp_src_min: 9 udp_src_max: 9 udp_dst_min: 9 udp_dst_max: 9 +- src_mac_count: 0 dst_mac_count: 0 +- Flags: +-Current: +- pkts-sofar: 1000 errors: 39664 +- started: 1103053986245187us stopped: 1103053999346329us idle: 880401us +- seq_num: 1011 cur_dst_mac_offset: 0 cur_src_mac_offset: 0 +- cur_saddr: 0x10a0a0a cur_daddr: 0x20b0a0a +- cur_udp_dst: 9 cur_udp_src: 9 ++ queue_map_min: 0 queue_map_max: 0 ++ dst_min: 192.168.81.2 dst_max: ++ src_min: src_max: ++ src_mac: 90:e2:ba:0a:56:b4 dst_mac: 00:1b:21:3c:9d:f8 ++ udp_src_min: 9 udp_src_max: 109 udp_dst_min: 9 udp_dst_max: 9 ++ src_mac_count: 0 dst_mac_count: 0 ++ Flags: UDPSRC_RND NO_TIMESTAMP QUEUE_MAP_CPU ++ Current: ++ pkts-sofar: 10 errors: 0 ++ started: 623913381008us stopped: 623913396439us idle: 25us ++ seq_num: 11 cur_dst_mac_offset: 0 cur_src_mac_offset: 0 ++ cur_saddr: 192.168.8.3 cur_daddr: 192.168.81.2 ++ cur_udp_dst: 9 cur_udp_src: 42 ++ cur_queue_map: + flows: 0 +-Result: OK: 13101142(c12220741+d880401) usec, 1000 (60byte,0frags) +- 763292pps 390Mb/sec (390805504bps) errors: 39664 ++ Result: OK: 15430(c15405d25) usec, 10 (60byte,0frags) ++ 6480562pps 3110Mb/sec (3110669760bps) errors: 0 + +-Configuring threads and devices +- ++ ++Configuring devices ++=== + This is done via the /proc interface easiest done via pgset in the scripts + + Examples: +@@ -177,6 +196,8 @@ Note when adding devices to a specific CPU there good idea to also assign + /proc/irq/XX/smp_affinity so the TX-interrupts gets bound to the same CPU. + as this reduces cache bouncing when
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: dfe6365f65151c8d97374bb967301fd419b38a88 Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Fri Jan 2 19:13:17 2015 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Fri Jan 2 19:13:17 2015 + URL: http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=dfe6365f 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.4 commit in: /
commit: 2832899181c3b1374453562aeabe9d4f09194445 Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Sun Dec 21 00:09:58 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Sun Dec 21 00:09:58 2014 + URL: http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=28328991 Linux patch 3.4.105 --- _README |4 + 1104_linux-3.4.105.patch | 3019 ++ 2 files changed, 3023 insertions(+) diff --git a/_README b/_README index 544ba0b..5ff1506 100644 --- a/_README +++ b/_README @@ -455,6 +455,10 @@ Patch: 1103_linux-3.4.104.patch From: http://www.kernel.org Desc: Linux 3.4.104 +Patch: 1104_linux-3.4.105.patch +From: http://www.kernel.org +Desc: Linux 3.4.105 + 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/1104_linux-3.4.105.patch b/1104_linux-3.4.105.patch new file mode 100644 index 000..05fe15c --- /dev/null +++ b/1104_linux-3.4.105.patch @@ -0,0 +1,3019 @@ +diff --git a/Documentation/cgroups/cpusets.txt b/Documentation/cgroups/cpusets.txt +index cefd3d8bbd11..a52a39f8a8d4 100644 +--- a/Documentation/cgroups/cpusets.txt b/Documentation/cgroups/cpusets.txt +@@ -345,14 +345,14 @@ the named feature on. + The implementation is simple. + + Setting the flag 'cpuset.memory_spread_page' turns on a per-process flag +-PF_SPREAD_PAGE for each task that is in that cpuset or subsequently ++PFA_SPREAD_PAGE for each task that is in that cpuset or subsequently + joins that cpuset. The page allocation calls for the page cache +-is modified to perform an inline check for this PF_SPREAD_PAGE task ++is modified to perform an inline check for this PFA_SPREAD_PAGE task + flag, and if set, a call to a new routine cpuset_mem_spread_node() + returns the node to prefer for the allocation. + + Similarly, setting 'cpuset.memory_spread_slab' turns on the flag +-PF_SPREAD_SLAB, and appropriately marked slab caches will allocate ++PFA_SPREAD_SLAB, and appropriately marked slab caches will allocate + pages from the node returned by cpuset_mem_spread_node(). + + The cpuset_mem_spread_node() routine is also simple. It uses the +diff --git a/Makefile b/Makefile +index b66396efb001..cf2c8a82ca3e 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 104 ++SUBLEVEL = 105 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c +index fc000e3ac44e..17f4ea2fe3cf 100644 +--- a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c +@@ -39,6 +39,7 @@ + * This code is not portable to processors with late data abort handling. + */ + #define CODING_BITS(i)(i 0x0e00) ++#define COND_BITS(i) (i 0xf000) + + #define LDST_I_BIT(i) (i (1 26)) /* Immediate constant */ + #define LDST_P_BIT(i) (i (1 24)) /* Preindex */ +@@ -813,6 +814,8 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs) + break; + + case 0x0400:/* ldr or str immediate */ ++ if (COND_BITS(instr) == 0xf000) /* NEON VLDn, VSTn */ ++ goto bad; + offset.un = OFFSET_BITS(instr); + handler = do_alignment_ldrstr; + break; +diff --git a/arch/mips/boot/compressed/decompress.c b/arch/mips/boot/compressed/decompress.c +index 5cad0faefa17..ca51d69a99ff 100644 +--- a/arch/mips/boot/compressed/decompress.c b/arch/mips/boot/compressed/decompress.c +@@ -13,6 +13,7 @@ + + #include linux/types.h + #include linux/kernel.h ++#include linux/string.h + + #include asm/addrspace.h + +diff --git a/arch/mips/kernel/mcount.S b/arch/mips/kernel/mcount.S +index 4c968e7efb74..55eca41c91c2 100644 +--- a/arch/mips/kernel/mcount.S b/arch/mips/kernel/mcount.S +@@ -119,7 +119,11 @@ NESTED(_mcount, PT_SIZE, ra) +nop + #endif + b ftrace_stub ++#ifdef CONFIG_32BIT ++ addiu sp, sp, 8 ++#else +nop ++#endif + + static_trace: + MCOUNT_SAVE_REGS +@@ -129,6 +133,9 @@ static_trace: +move a1, AT /* arg2: parent's return address */ + + MCOUNT_RESTORE_REGS ++#ifdef CONFIG_32BIT ++ addiu sp, sp, 8 ++#endif + .globl ftrace_stub + ftrace_stub: + RETURN_BACK +@@ -177,6 +184,11 @@ NESTED(ftrace_graph_caller, PT_SIZE, ra) + jal prepare_ftrace_return +nop + MCOUNT_RESTORE_REGS ++#ifndef CONFIG_DYNAMIC_FTRACE ++#ifdef CONFIG_32BIT ++ addiu sp, sp, 8 ++#endif ++#endif + RETURN_BACK + END(ftrace_graph_caller) + +diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile +index 19ab7b2ea1cd..ac93ca20b7e2 100644 +--- a/arch/parisc/Makefile b/arch/parisc/Makefile +@@ -51,7 +51,12 @@ cflags-y:= -pipe + + # These flags should be implied by an
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: 48d5e762de93d7df88c6f216d9947f5ac8a8c9a0 Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Fri Aug 8 17:22:57 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Fri Aug 8 17:22:57 2014 + URL: http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=48d5e762 Linux patch 3.4.102 --- _README |4 + 1101_linux-3.4.102.patch | 1221 ++ 2 files changed, 1225 insertions(+) diff --git a/_README b/_README index 0f65113..4747723 100644 --- a/_README +++ b/_README @@ -443,6 +443,10 @@ Patch: 1100_linux-3.4.101.patch From: http://www.kernel.org Desc: Linux 3.4.101 +Patch: 1101_linux-3.4.102.patch +From: http://www.kernel.org +Desc: Linux 3.4.102 + 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/1101_linux-3.4.102.patch b/1101_linux-3.4.102.patch new file mode 100644 index 000..c444b8d --- /dev/null +++ b/1101_linux-3.4.102.patch @@ -0,0 +1,1221 @@ +diff --git a/Documentation/x86/x86_64/mm.txt b/Documentation/x86/x86_64/mm.txt +index d6498e3cd713..f33a9369e35b 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 - fff0 (=1536 MB) module mapping space + +diff --git a/Makefile b/Makefile +index a22bcb567348..dd03fa5777a0 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 101 ++SUBLEVEL = 102 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/arm/mm/idmap.c b/arch/arm/mm/idmap.c +index ab88ed4f8e08..ef8f2df02540 100644 +--- a/arch/arm/mm/idmap.c b/arch/arm/mm/idmap.c +@@ -22,6 +22,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 9df4ea1caaf1..917c1098775b 100644 +--- a/arch/x86/Kconfig b/arch/x86/Kconfig +@@ -915,10 +915,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 asm/percpu.h ++ ++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/asm/irqflags.h +@@ -129,7
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: da70b949627e538e9465762c96f64ef07190e788 Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Mon Jul 28 16:50:30 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Mon Jul 28 16:50:30 2014 + URL: http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=da70b949 Linux patch 3.4.100 --- _README | 4 + 1099_linux-3.4.100.patch | 929 +++ 2 files changed, 933 insertions(+) diff --git a/_README b/_README index d5d9d81..af7f3f3 100644 --- a/_README +++ b/_README @@ -435,6 +435,10 @@ Patch: 1098_linux-3.4.99.patch From: http://www.kernel.org Desc: Linux 3.4.99 +Patch: 1099_linux-3.4.100.patch +From: http://www.kernel.org +Desc: Linux 3.4.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.4.100.patch b/1099_linux-3.4.100.patch new file mode 100644 index 000..597e1fd --- /dev/null +++ b/1099_linux-3.4.100.patch @@ -0,0 +1,929 @@ +diff --git a/Makefile b/Makefile +index ed97caf40f71..d6c64eb82525 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 99 ++SUBLEVEL = 100 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c +index 268b2455e7b0..b1cbcff69cdb 100644 +--- a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c +@@ -1070,6 +1070,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 overflow sets bit 62 in the global status register +*/ + if (__test_and_clear_bit(62, (unsigned long *)status)) { +diff --git a/crypto/testmgr.h b/crypto/testmgr.h +index 36e5a8ee0e1e..1ae2e0ea5492 100644 +--- a/crypto/testmgr.h b/crypto/testmgr.h +@@ -14558,38 +14558,40 @@ static struct pcomp_testvec zlib_decomp_tv_template[] = { + static struct comp_testvec lzo_comp_tv_template[] = { + { + .inlen = 70, +- .outlen = 46, ++ .outlen = 57, + .input = Join us now and share the software + Join us now and share the software , + .output = \x00\x0d\x4a\x6f\x69\x6e\x20\x75 +- \x73\x20\x6e\x6f\x77\x20\x61\x6e +- \x64\x20\x73\x68\x61\x72\x65\x20 +- \x74\x68\x65\x20\x73\x6f\x66\x74 +- \x77\x70\x01\x01\x4a\x6f\x69\x6e +- \x3d\x88\x00\x11\x00\x00, ++\x73\x20\x6e\x6f\x77\x20\x61\x6e ++\x64\x20\x73\x68\x61\x72\x65\x20 ++\x74\x68\x65\x20\x73\x6f\x66\x74 ++\x77\x70\x01\x32\x88\x00\x0c\x65 ++\x20\x74\x68\x65\x20\x73\x6f\x66 ++\x74\x77\x61\x72\x65\x20\x11\x00 ++\x00, + }, { + .inlen = 159, +- .outlen = 133, ++ .outlen = 131, + .input = This document describes a compression method based on the LZO + compression algorithm. This document defines the application of + the LZO algorithm used in UBIFS., +- .output = \x00\x2b\x54\x68\x69\x73\x20\x64 ++ .output = \x00\x2c\x54\x68\x69\x73\x20\x64 + \x6f\x63\x75\x6d\x65\x6e\x74\x20 + \x64\x65\x73\x63\x72\x69\x62\x65 + \x73\x20\x61\x20\x63\x6f\x6d\x70 + \x72\x65\x73\x73\x69\x6f\x6e\x20 + \x6d\x65\x74\x68\x6f\x64\x20\x62 + \x61\x73\x65\x64\x20\x6f\x6e\x20 +-\x74\x68\x65\x20\x4c\x5a\x4f\x2b +-\x8c\x00\x0d\x61\x6c\x67\x6f\x72 +-\x69\x74\x68\x6d\x2e\x20\x20\x54 +-\x68\x69\x73\x2a\x54\x01\x02\x66 +-\x69\x6e\x65\x73\x94\x06\x05\x61 +-\x70\x70\x6c\x69\x63\x61\x74\x76 +-\x0a\x6f\x66\x88\x02\x60\x09\x27 +-\xf0\x00\x0c\x20\x75\x73\x65\x64 +-\x20\x69\x6e\x20\x55\x42\x49\x46 +-\x53\x2e\x11\x00\x00, ++\x74\x68\x65\x20\x4c\x5a\x4f\x20 ++\x2a\x8c\x00\x09\x61\x6c\x67\x6f ++\x72\x69\x74\x68\x6d\x2e\x20\x20 ++\x2e\x54\x01\x03\x66\x69\x6e\x65 ++\x73\x20\x74\x06\x05\x61\x70\x70
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: 6170daa192bd78ce9c1c618fdcf4acb5e0bb0c8c Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Sat Aug 2 14:41:21 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Sat Aug 2 14:41:21 2014 + URL: http://sources.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=6170daa1 Linux patch 3.4.101 --- _README | 4 + 1100_linux-3.4.101.patch | 349 +++ 2 files changed, 353 insertions(+) diff --git a/_README b/_README index af7f3f3..0f65113 100644 --- a/_README +++ b/_README @@ -439,6 +439,10 @@ Patch: 1099_linux-3.4.100.patch From: http://www.kernel.org Desc: Linux 3.4.100 +Patch: 1100_linux-3.4.101.patch +From: http://www.kernel.org +Desc: Linux 3.4.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.4.101.patch b/1100_linux-3.4.101.patch new file mode 100644 index 000..54832f4 --- /dev/null +++ b/1100_linux-3.4.101.patch @@ -0,0 +1,349 @@ +diff --git a/Makefile b/Makefile +index d6c64eb82525..a22bcb567348 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 100 ++SUBLEVEL = 101 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +@@ -592,6 +592,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/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c +index 02f300fbf070..e0a8707dd137 100644 +--- a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c +@@ -292,7 +292,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; +@@ -595,7 +597,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/kernel/entry_32.S b/arch/x86/kernel/entry_32.S +index e1e7f9c831da..e36c5cf38fde 100644 +--- a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S +@@ -428,8 +428,8 @@ sysenter_do_call: + cmpl $(NR_syscalls), %eax + jae sysenter_badsys + call *sys_call_table(,%eax,4) +- movl %eax,PT_EAX(%esp) + sysenter_after_call: ++ movl %eax,PT_EAX(%esp) + LOCKDEP_SYS_EXIT + DISABLE_INTERRUPTS(CLBR_ANY) + TRACE_IRQS_OFF +@@ -510,6 +510,7 @@ ENTRY(system_call) + jae syscall_badsys + syscall_call: + call *sys_call_table(,%eax,4) ++syscall_after_call: + movl %eax,PT_EAX(%esp) # store the return value + syscall_exit: + LOCKDEP_SYS_EXIT +@@ -678,12 +679,12 @@ syscall_fault: + END(syscall_fault) + + syscall_badsys: +- movl $-ENOSYS,PT_EAX(%esp) +- jmp syscall_exit ++ movl $-ENOSYS,%eax ++ jmp syscall_after_call + END(syscall_badsys) + + sysenter_badsys: +- movl $-ENOSYS,PT_EAX(%esp) ++ movl $-ENOSYS,%eax + jmp sysenter_after_call + END(syscall_badsys) + CFI_ENDPROC +diff --git a/block/blk-tag.c b/block/blk-tag.c +index 4af6f5cc1167..f606487bba56 100644 +--- a/block/blk-tag.c b/block/blk-tag.c +@@ -27,18 +27,15 @@ struct request *blk_queue_find_tag(struct request_queue *q, int tag) + EXPORT_SYMBOL(blk_queue_find_tag); + + /** +- * __blk_free_tags - release a given set of tag maintenance info ++ * blk_free_tags - release a given set of tag maintenance info + * @bqt: the tag map to free + * +- * Tries to free the specified @bqt. Returns true if it was +- * actually freed and false if there are still references using it ++ * Drop the reference count on @bqt and frees it when the last reference ++ * is dropped. + */ +-static int
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: b4ff8e8d4d51f14358d6a01bc8ddc449a85729c9 Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Thu Aug 14 11:42:09 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Thu Aug 14 11:42:09 2014 + URL: http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=b4ff8e8d Linux patch 3.4.103 --- _README |4 + 1102_linux-3.4.103.patch | 1133 ++ 2 files changed, 1137 insertions(+) diff --git a/_README b/_README index 4747723..9f3e940 100644 --- a/_README +++ b/_README @@ -447,6 +447,10 @@ Patch: 1101_linux-3.4.102.patch From: http://www.kernel.org Desc: Linux 3.4.102 +Patch: 1102_linux-3.4.103.patch +From: http://www.kernel.org +Desc: Linux 3.4.103 + 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/1102_linux-3.4.103.patch b/1102_linux-3.4.103.patch new file mode 100644 index 000..8d0b2b8 --- /dev/null +++ b/1102_linux-3.4.103.patch @@ -0,0 +1,1133 @@ +diff --git a/Makefile b/Makefile +index dd03fa5777a0..36f0913bd1d6 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 102 ++SUBLEVEL = 103 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h +index 656de8bc0ed6..cd24caf1732d 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 435e406fdec3..1beaf60a5f78 100644 +--- a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c +@@ -1339,7 +1339,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 bb2886ac1df3..bbf7e955cb19 100644 +--- a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c +@@ -151,7 +151,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
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: 48d5e762de93d7df88c6f216d9947f5ac8a8c9a0 Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Fri Aug 8 17:22:57 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Fri Aug 8 17:22:57 2014 + URL: http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=48d5e762 Linux patch 3.4.102 --- _README |4 + 1101_linux-3.4.102.patch | 1221 ++ 2 files changed, 1225 insertions(+) diff --git a/_README b/_README index 0f65113..4747723 100644 --- a/_README +++ b/_README @@ -443,6 +443,10 @@ Patch: 1100_linux-3.4.101.patch From: http://www.kernel.org Desc: Linux 3.4.101 +Patch: 1101_linux-3.4.102.patch +From: http://www.kernel.org +Desc: Linux 3.4.102 + 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/1101_linux-3.4.102.patch b/1101_linux-3.4.102.patch new file mode 100644 index 000..c444b8d --- /dev/null +++ b/1101_linux-3.4.102.patch @@ -0,0 +1,1221 @@ +diff --git a/Documentation/x86/x86_64/mm.txt b/Documentation/x86/x86_64/mm.txt +index d6498e3cd713..f33a9369e35b 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 - fff0 (=1536 MB) module mapping space + +diff --git a/Makefile b/Makefile +index a22bcb567348..dd03fa5777a0 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 101 ++SUBLEVEL = 102 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/arm/mm/idmap.c b/arch/arm/mm/idmap.c +index ab88ed4f8e08..ef8f2df02540 100644 +--- a/arch/arm/mm/idmap.c b/arch/arm/mm/idmap.c +@@ -22,6 +22,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 9df4ea1caaf1..917c1098775b 100644 +--- a/arch/x86/Kconfig b/arch/x86/Kconfig +@@ -915,10 +915,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 asm/percpu.h ++ ++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/asm/irqflags.h +@@
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: 6170daa192bd78ce9c1c618fdcf4acb5e0bb0c8c Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Sat Aug 2 14:41:21 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Sat Aug 2 14:41:21 2014 + URL: http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=6170daa1 Linux patch 3.4.101 --- _README | 4 + 1100_linux-3.4.101.patch | 349 +++ 2 files changed, 353 insertions(+) diff --git a/_README b/_README index af7f3f3..0f65113 100644 --- a/_README +++ b/_README @@ -439,6 +439,10 @@ Patch: 1099_linux-3.4.100.patch From: http://www.kernel.org Desc: Linux 3.4.100 +Patch: 1100_linux-3.4.101.patch +From: http://www.kernel.org +Desc: Linux 3.4.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.4.101.patch b/1100_linux-3.4.101.patch new file mode 100644 index 000..54832f4 --- /dev/null +++ b/1100_linux-3.4.101.patch @@ -0,0 +1,349 @@ +diff --git a/Makefile b/Makefile +index d6c64eb82525..a22bcb567348 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 100 ++SUBLEVEL = 101 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +@@ -592,6 +592,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/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c +index 02f300fbf070..e0a8707dd137 100644 +--- a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c +@@ -292,7 +292,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; +@@ -595,7 +597,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/kernel/entry_32.S b/arch/x86/kernel/entry_32.S +index e1e7f9c831da..e36c5cf38fde 100644 +--- a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S +@@ -428,8 +428,8 @@ sysenter_do_call: + cmpl $(NR_syscalls), %eax + jae sysenter_badsys + call *sys_call_table(,%eax,4) +- movl %eax,PT_EAX(%esp) + sysenter_after_call: ++ movl %eax,PT_EAX(%esp) + LOCKDEP_SYS_EXIT + DISABLE_INTERRUPTS(CLBR_ANY) + TRACE_IRQS_OFF +@@ -510,6 +510,7 @@ ENTRY(system_call) + jae syscall_badsys + syscall_call: + call *sys_call_table(,%eax,4) ++syscall_after_call: + movl %eax,PT_EAX(%esp) # store the return value + syscall_exit: + LOCKDEP_SYS_EXIT +@@ -678,12 +679,12 @@ syscall_fault: + END(syscall_fault) + + syscall_badsys: +- movl $-ENOSYS,PT_EAX(%esp) +- jmp syscall_exit ++ movl $-ENOSYS,%eax ++ jmp syscall_after_call + END(syscall_badsys) + + sysenter_badsys: +- movl $-ENOSYS,PT_EAX(%esp) ++ movl $-ENOSYS,%eax + jmp sysenter_after_call + END(syscall_badsys) + CFI_ENDPROC +diff --git a/block/blk-tag.c b/block/blk-tag.c +index 4af6f5cc1167..f606487bba56 100644 +--- a/block/blk-tag.c b/block/blk-tag.c +@@ -27,18 +27,15 @@ struct request *blk_queue_find_tag(struct request_queue *q, int tag) + EXPORT_SYMBOL(blk_queue_find_tag); + + /** +- * __blk_free_tags - release a given set of tag maintenance info ++ * blk_free_tags - release a given set of tag maintenance info + * @bqt: the tag map to free + * +- * Tries to free the specified @bqt. Returns true if it was +- * actually freed and false if there are still references using it ++ * Drop the reference count on @bqt and frees it when the last reference ++ * is dropped. + */ +-static int
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: da70b949627e538e9465762c96f64ef07190e788 Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Mon Jul 28 16:50:30 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Mon Jul 28 16:50:30 2014 + URL: http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=da70b949 Linux patch 3.4.100 --- _README | 4 + 1099_linux-3.4.100.patch | 929 +++ 2 files changed, 933 insertions(+) diff --git a/_README b/_README index d5d9d81..af7f3f3 100644 --- a/_README +++ b/_README @@ -435,6 +435,10 @@ Patch: 1098_linux-3.4.99.patch From: http://www.kernel.org Desc: Linux 3.4.99 +Patch: 1099_linux-3.4.100.patch +From: http://www.kernel.org +Desc: Linux 3.4.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.4.100.patch b/1099_linux-3.4.100.patch new file mode 100644 index 000..597e1fd --- /dev/null +++ b/1099_linux-3.4.100.patch @@ -0,0 +1,929 @@ +diff --git a/Makefile b/Makefile +index ed97caf40f71..d6c64eb82525 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 99 ++SUBLEVEL = 100 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c +index 268b2455e7b0..b1cbcff69cdb 100644 +--- a/arch/x86/kernel/cpu/perf_event_intel.c b/arch/x86/kernel/cpu/perf_event_intel.c +@@ -1070,6 +1070,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 overflow sets bit 62 in the global status register +*/ + if (__test_and_clear_bit(62, (unsigned long *)status)) { +diff --git a/crypto/testmgr.h b/crypto/testmgr.h +index 36e5a8ee0e1e..1ae2e0ea5492 100644 +--- a/crypto/testmgr.h b/crypto/testmgr.h +@@ -14558,38 +14558,40 @@ static struct pcomp_testvec zlib_decomp_tv_template[] = { + static struct comp_testvec lzo_comp_tv_template[] = { + { + .inlen = 70, +- .outlen = 46, ++ .outlen = 57, + .input = Join us now and share the software + Join us now and share the software , + .output = \x00\x0d\x4a\x6f\x69\x6e\x20\x75 +- \x73\x20\x6e\x6f\x77\x20\x61\x6e +- \x64\x20\x73\x68\x61\x72\x65\x20 +- \x74\x68\x65\x20\x73\x6f\x66\x74 +- \x77\x70\x01\x01\x4a\x6f\x69\x6e +- \x3d\x88\x00\x11\x00\x00, ++\x73\x20\x6e\x6f\x77\x20\x61\x6e ++\x64\x20\x73\x68\x61\x72\x65\x20 ++\x74\x68\x65\x20\x73\x6f\x66\x74 ++\x77\x70\x01\x32\x88\x00\x0c\x65 ++\x20\x74\x68\x65\x20\x73\x6f\x66 ++\x74\x77\x61\x72\x65\x20\x11\x00 ++\x00, + }, { + .inlen = 159, +- .outlen = 133, ++ .outlen = 131, + .input = This document describes a compression method based on the LZO + compression algorithm. This document defines the application of + the LZO algorithm used in UBIFS., +- .output = \x00\x2b\x54\x68\x69\x73\x20\x64 ++ .output = \x00\x2c\x54\x68\x69\x73\x20\x64 + \x6f\x63\x75\x6d\x65\x6e\x74\x20 + \x64\x65\x73\x63\x72\x69\x62\x65 + \x73\x20\x61\x20\x63\x6f\x6d\x70 + \x72\x65\x73\x73\x69\x6f\x6e\x20 + \x6d\x65\x74\x68\x6f\x64\x20\x62 + \x61\x73\x65\x64\x20\x6f\x6e\x20 +-\x74\x68\x65\x20\x4c\x5a\x4f\x2b +-\x8c\x00\x0d\x61\x6c\x67\x6f\x72 +-\x69\x74\x68\x6d\x2e\x20\x20\x54 +-\x68\x69\x73\x2a\x54\x01\x02\x66 +-\x69\x6e\x65\x73\x94\x06\x05\x61 +-\x70\x70\x6c\x69\x63\x61\x74\x76 +-\x0a\x6f\x66\x88\x02\x60\x09\x27 +-\xf0\x00\x0c\x20\x75\x73\x65\x64 +-\x20\x69\x6e\x20\x55\x42\x49\x46 +-\x53\x2e\x11\x00\x00, ++\x74\x68\x65\x20\x4c\x5a\x4f\x20 ++\x2a\x8c\x00\x09\x61\x6c\x67\x6f ++\x72\x69\x74\x68\x6d\x2e\x20\x20 ++\x2e\x54\x01\x03\x66\x69\x6e\x65 ++
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: a8a5bb77ad98f84e3bc415ffcb4953058ca6c37d Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Fri Jul 18 11:33:46 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Fri Jul 18 11:33:46 2014 + URL: http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=a8a5bb77 Linux patch 3.4.99 --- _README | 4 + 1098_linux-3.4.99.patch | 797 2 files changed, 801 insertions(+) diff --git a/_README b/_README index 3c72076..d5d9d81 100644 --- a/_README +++ b/_README @@ -431,6 +431,10 @@ Patch: 1097_linux-3.4.98.patch From: http://www.kernel.org Desc: Linux 3.4.98 +Patch: 1098_linux-3.4.99.patch +From: http://www.kernel.org +Desc: Linux 3.4.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.4.99.patch b/1098_linux-3.4.99.patch new file mode 100644 index 000..8bde200 --- /dev/null +++ b/1098_linux-3.4.99.patch @@ -0,0 +1,797 @@ +diff --git a/Makefile b/Makefile +index d277446ee8ee..ed97caf40f71 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 98 ++SUBLEVEL = 99 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c +index 02aee03e713c..1eef567f177a 100644 +--- a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c +@@ -472,7 +472,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); + } + + /* +diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c +index be1ef574ce9a..dec49d34c048 100644 +--- a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c +@@ -50,6 +50,21 @@ int ioremap_change_attr(unsigned long vaddr, unsigned long size, + return err; + } + ++static int __ioremap_check_ram(unsigned long start_pfn, unsigned long nr_pages, ++ void *arg) ++{ ++ unsigned long i; ++ ++ for (i = 0; i nr_pages; ++i) ++ if (pfn_valid(start_pfn + i) ++ !PageReserved(pfn_to_page(start_pfn + i))) ++ return 1; ++ ++ WARN_ONCE(1, ioremap on RAM pfn 0x%lx\n, start_pfn); ++ ++ return 0; ++} ++ + /* + * Remap an arbitrary physical address space into the kernel virtual + * address space. Needed when the kernel wants to access high addresses +@@ -93,14 +108,11 @@ static void __iomem *__ioremap_caller(resource_size_t phys_addr, + /* +* Don't allow anybody to remap normal RAM that we're using.. +*/ ++ pfn = phys_addr PAGE_SHIFT; + last_pfn = last_addr PAGE_SHIFT; +- for (pfn = phys_addr PAGE_SHIFT; pfn = last_pfn; pfn++) { +- int is_ram = page_is_ram(pfn); +- +- if (is_ram pfn_valid(pfn) !PageReserved(pfn_to_page(pfn))) +- return NULL; +- WARN_ON_ONCE(is_ram); +- } ++ if (walk_system_ram_range(pfn, last_pfn - pfn + 1, NULL, ++__ioremap_check_ram) == 1) ++ return NULL; + + /* +* Mappings have to be page-aligned +diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c +index 9bdfcf50a190..93f3034ea85d 100644 +--- a/drivers/acpi/battery.c b/drivers/acpi/battery.c +@@ -34,6 +34,7 @@ + #include linux/dmi.h + #include linux/slab.h + #include linux/suspend.h ++#include linux/delay.h + #include asm/unaligned.h + + #ifdef CONFIG_ACPI_PROCFS_POWER +@@ -1055,6 +1056,28 @@ static int battery_notify(struct notifier_block *nb, + return 0; + } + ++/* ++ * Some machines'(E,G Lenovo Z480) ECs are not stable ++ * during boot up and this causes battery driver fails to be ++ * probed due to failure of getting battery information ++ * from EC sometimes. After several retries, the operation ++ * may work. So add retry code here and 20ms sleep between ++ * every retries. ++ */ ++static int acpi_battery_update_retry(struct acpi_battery *battery) ++{ ++ int retry, ret; ++ ++
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: ceafe7df41a12a32bf25b8e5917f5975e27b72ea Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Wed Jul 9 23:17:24 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Wed Jul 9 23:17:24 2014 + URL: http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=ceafe7df Linux patch 3.4.98 --- _README |4 + 1097_linux-3.4.98.patch | 1534 +++ 2 files changed, 1538 insertions(+) diff --git a/_README b/_README index bacfd0f..3c72076 100644 --- a/_README +++ b/_README @@ -427,6 +427,10 @@ Patch: 1096_linux-3.4.97.patch From: http://www.kernel.org Desc: Linux 3.4.97 +Patch: 1097_linux-3.4.98.patch +From: http://www.kernel.org +Desc: Linux 3.4.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.4.98.patch b/1097_linux-3.4.98.patch new file mode 100644 index 000..db655a8 --- /dev/null +++ b/1097_linux-3.4.98.patch @@ -0,0 +1,1534 @@ +diff --git a/Makefile b/Makefile +index fdd7c32ea1f7..d277446ee8ee 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 97 ++SUBLEVEL = 98 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c +index 65c33911341f..90b33c55ac1b 100644 +--- a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c +@@ -184,8 +184,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/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S +index 8f880bc77c56..846a16378d01 100644 +--- a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S +@@ -491,7 +491,7 @@ machine_check_common: + STD_EXCEPTION_COMMON(0xb00, trap_0b, .unknown_exception) + STD_EXCEPTION_COMMON(0xd00, single_step, .single_step_exception) + STD_EXCEPTION_COMMON(0xe00, trap_0e, .unknown_exception) +-STD_EXCEPTION_COMMON(0xe40, emulation_assist, .program_check_exception) ++ STD_EXCEPTION_COMMON(0xe40, emulation_assist, .emulation_assist_interrupt) + STD_EXCEPTION_COMMON(0xe60, hmi_exception, .unknown_exception) + STD_EXCEPTION_COMMON_ASYNC(0xf00, performance_monitor, .performance_monitor_exception) + STD_EXCEPTION_COMMON(0x1300, instruction_breakpoint, .instruction_breakpoint_exception) +diff --git a/arch/powerpc/kernel/lparcfg.c b/arch/powerpc/kernel/lparcfg.c +index f5725bce9ed2..f62fda1b6d61 100644 +--- a/arch/powerpc/kernel/lparcfg.c b/arch/powerpc/kernel/lparcfg.c +@@ -35,7 +35,13 @@ + #include asm/vdso_datapage.h + #include asm/vio.h + #include asm/mmu.h ++#include asm/machdep.h + ++ ++/* ++ * This isn't a module but we expose that to userspace ++ * via /proc so leave the definitions here ++ */ + #define MODULE_VERS 1.9 + #define MODULE_NAME lparcfg + +@@ -301,6 +307,7 @@ static void parse_system_parameter_string(struct seq_file *m) + __pa(rtas_data_buf), + RTAS_DATA_BUF_SIZE); + memcpy(local_buffer, rtas_data_buf, SPLPAR_MAXLENGTH); ++ local_buffer[SPLPAR_MAXLENGTH - 1] = '\0'; + spin_unlock(rtas_data_buf_lock); + + if (call_status != 0) { +@@ -419,7 +426,8 @@ static void parse_em_data(struct seq_file *m) + { + unsigned long retbuf[PLPAR_HCALL_BUFSIZE]; + +- if (plpar_hcall(H_GET_EM_PARMS, retbuf) == H_SUCCESS) ++ if (firmware_has_feature(FW_FEATURE_LPAR) ++ plpar_hcall(H_GET_EM_PARMS, retbuf) == H_SUCCESS) + seq_printf(m, power_mode_data=%016lx\n, retbuf[0]); + } + +@@ -678,7 +686,6 @@ static int lparcfg_open(struct inode *inode, struct file *file) + } + + static const struct file_operations lparcfg_fops = { +- .owner = THIS_MODULE, + .read = seq_read, + .write = lparcfg_write, + .open = lparcfg_open, +@@ -704,15 +711,4 @@ static int __init lparcfg_init(void) + proc_ppc64_lparcfg = ent; + return 0; + } +- +-static void __exit lparcfg_cleanup(void) +-{ +- if (proc_ppc64_lparcfg) +- remove_proc_entry(lparcfg, proc_ppc64_lparcfg-parent); +-} +- +-module_init(lparcfg_init); +-module_exit(lparcfg_cleanup); +-MODULE_DESCRIPTION(Interface for
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: 713c343a0ce53d7ca7edf8a0177795d066f151c6 Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Mon Jul 7 23:49:15 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Mon Jul 7 23:49:15 2014 + URL: http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=713c343a Linux patch 3.4.97 --- _README | 4 + 1096_linux-3.4.97.patch | 552 2 files changed, 556 insertions(+) diff --git a/_README b/_README index a4ce565..bacfd0f 100644 --- a/_README +++ b/_README @@ -423,6 +423,10 @@ Patch: 1095_linux-3.4.96.patch From: http://www.kernel.org Desc: Linux 3.4.96 +Patch: 1096_linux-3.4.97.patch +From: http://www.kernel.org +Desc: Linux 3.4.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.4.97.patch b/1096_linux-3.4.97.patch new file mode 100644 index 000..6007072 --- /dev/null +++ b/1096_linux-3.4.97.patch @@ -0,0 +1,552 @@ +diff --git a/Makefile b/Makefile +index e4ecdedbfe27..fdd7c32ea1f7 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 96 ++SUBLEVEL = 97 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/mips/kernel/irq-msc01.c b/arch/mips/kernel/irq-msc01.c +index 14ac52c5ae86..884de3433ad7 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/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c +index e7dba0b2a170..eb6b72faec0d 100644 +--- a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c +@@ -496,7 +496,7 @@ void timer_interrupt(struct pt_regs * regs) + + __get_cpu_var(irq_stat).timer_irqs++; + +-#if defined(CONFIG_PPC32) defined(CONFIG_PMAC) ++#if defined(CONFIG_PPC32) defined(CONFIG_PPC_PMAC) + if (atomic_read(ppc_n_lost_interrupts) != 0) + do_IRQ(regs); + #endif +diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c +index 9a52349874ee..e3b28e34bd78 100644 +--- a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c +@@ -1395,7 +1395,7 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) + regs-gpr[rd] = byterev_4(val); + goto ldst_done; + +-#ifdef CONFIG_PPC_CPU ++#ifdef CONFIG_PPC_FPU + case 535: /* lfsx */ + case 567: /* lfsux */ + if (!(regs-msr MSR_FP)) +diff --git a/arch/powerpc/platforms/pseries/eeh_pseries.c b/arch/powerpc/platforms/pseries/eeh_pseries.c +index 8a811d98a795..9c9e24512f28 100644 +--- a/arch/powerpc/platforms/pseries/eeh_pseries.c b/arch/powerpc/platforms/pseries/eeh_pseries.c +@@ -319,6 +319,7 @@ static int pseries_eeh_get_state(struct device_node *dn, int *state) + } else { + result = EEH_STATE_NOT_SUPPORT; + } ++ break; + default: + result = EEH_STATE_NOT_SUPPORT; + } +diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h +index 19f16ebaf4fa..0b60cd9dcf16 100644 +--- a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h +@@ -286,6 +286,22 @@ static inline unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs, + + #define ARCH_HAS_USER_SINGLE_STEP_INFO + ++/* ++ * When hitting ptrace_stop(), we cannot return using SYSRET because ++ * that does not restore the full CPU state, only a minimal set. The ++ * ptracer can change arbitrary register values, which is usually okay ++ * because the usual ptrace stops run off the signal delivery path which ++ * forces IRET; however, ptrace_event() stops happen in arbitrary places ++ * in the kernel and don't force IRET path. ++ * ++ * So force IRET path after a ptrace stop. ++ */ ++#define arch_ptrace_stop_needed(code, info) \ ++({\ ++ set_thread_flag(TIF_NOTIFY_RESUME); \ ++ false; \ ++}) ++ + struct user_desc; + extern int do_get_thread_area(struct task_struct *p, int idx, + struct user_desc __user *info); +diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c +index f0d588f8859e..1acb99100556 100644 +--- a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c
[gentoo-commits] proj/linux-patches:3.4 commit in: /
commit: 4cfc1e2967b4fbddf2d3fc251cdb8ee10b62ccd5 Author: Mike Pagano mpagano AT gentoo DOT org AuthorDate: Tue Jul 1 16:06:53 2014 + Commit: Mike Pagano mpagano AT gentoo DOT org CommitDate: Tue Jul 1 16:06:53 2014 + URL: http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=4cfc1e29 Linux patch 3.4.96 --- _README |4 + 1095_linux-3.4.96.patch | 1326 +++ 2 files changed, 1330 insertions(+) diff --git a/_README b/_README index 1db991a..a4ce565 100644 --- a/_README +++ b/_README @@ -419,6 +419,10 @@ Patch: 1094_linux-3.4.95.patch From: http://www.kernel.org Desc: Linux 3.4.95 +Patch: 1095_linux-3.4.96.patch +From: http://www.kernel.org +Desc: Linux 3.4.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.4.96.patch b/1095_linux-3.4.96.patch new file mode 100644 index 000..8c229d5 --- /dev/null +++ b/1095_linux-3.4.96.patch @@ -0,0 +1,1326 @@ +diff --git a/Makefile b/Makefile +index fda1dab589be..e4ecdedbfe27 100644 +--- a/Makefile b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 3 + PATCHLEVEL = 4 +-SUBLEVEL = 95 ++SUBLEVEL = 96 + EXTRAVERSION = + NAME = Saber-toothed Squirrel + +diff --git a/arch/arm/kernel/stacktrace.c b/arch/arm/kernel/stacktrace.c +index af4e8c8a5422..6582c4adc182 100644 +--- a/arch/arm/kernel/stacktrace.c b/arch/arm/kernel/stacktrace.c +@@ -83,13 +83,16 @@ static int save_trace(struct stackframe *frame, void *d) + return trace-nr_entries = trace-max_entries; + } + +-void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) ++/* This must be noinline to so that our skip calculation works correctly */ ++static noinline void __save_stack_trace(struct task_struct *tsk, ++ struct stack_trace *trace, unsigned int nosched) + { + struct stack_trace_data data; + struct stackframe frame; + + data.trace = trace; + data.skip = trace-skip; ++ data.no_sched_functions = nosched; + + if (tsk != current) { + #ifdef CONFIG_SMP +@@ -102,7 +105,6 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) + trace-entries[trace-nr_entries++] = ULONG_MAX; + return; + #else +- data.no_sched_functions = 1; + frame.fp = thread_saved_fp(tsk); + frame.sp = thread_saved_sp(tsk); + frame.lr = 0; /* recovered from the stack */ +@@ -111,11 +113,12 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) + } else { + register unsigned long current_sp asm (sp); + +- data.no_sched_functions = 0; ++ /* We don't want this function nor the caller */ ++ data.skip += 2; + frame.fp = (unsigned long)__builtin_frame_address(0); + frame.sp = current_sp; + frame.lr = (unsigned long)__builtin_return_address(0); +- frame.pc = (unsigned long)save_stack_trace_tsk; ++ frame.pc = (unsigned long)__save_stack_trace; + } + + walk_stackframe(frame, save_trace, data); +@@ -123,9 +126,14 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) + trace-entries[trace-nr_entries++] = ULONG_MAX; + } + ++void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) ++{ ++ __save_stack_trace(tsk, trace, 1); ++} ++ + void save_stack_trace(struct stack_trace *trace) + { +- save_stack_trace_tsk(current, trace); ++ __save_stack_trace(current, trace, 0); + } + EXPORT_SYMBOL_GPL(save_stack_trace); + #endif +diff --git a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h +index 47853debb3b9..025415e7346a 100644 +--- a/arch/s390/include/asm/lowcore.h b/arch/s390/include/asm/lowcore.h +@@ -142,9 +142,9 @@ struct _lowcore { + __u8pad_0x02fc[0x0300-0x02fc]; /* 0x02fc */ + + /* Interrupt response block */ +- __u8irb[64];/* 0x0300 */ ++ __u8irb[96];/* 0x0300 */ + +- __u8pad_0x0340[0x0e00-0x0340]; /* 0x0340 */ ++ __u8pad_0x0360[0x0e00-0x0360]; /* 0x0360 */ + + /* +* 0xe00 contains the address of the IPL Parameter Information +@@ -288,12 +288,13 @@ struct _lowcore { + __u8pad_0x03a0[0x0400-0x03a0]; /* 0x03a0 */ + + /* Interrupt response block. */ +- __u8irb[64];/* 0x0400 */ ++ __u8irb[96];/* 0x0400 */ ++ __u8pad_0x0460[0x0480-0x0460]; /* 0x0460 */ + + /* Per cpu primary space access list */ +- __u32 paste[16]; /* 0x0440 */ ++ __u32 paste[16]; /* 0x0480