[kernel] r21734 - in dists/wheezy-backports/linux: . debian debian/config/armhf debian/config/kernelarch-x86 debian/patches debian/patches/bugfix/all debian/patches/bugfix/mips debian/patches/bugfix/s390 debian/patches/bugfix/x86 debian/patches/debian debian/patches/features/all/rt debian/patches/features/x86 debian/templates debian/templates/po
Ben Hutchings
benh at moszumanska.debian.org
Thu Aug 21 22:20:32 UTC 2014
Author: benh
Date: Thu Aug 21 22:20:32 2014
New Revision: 21734
Log:
Merge changes from sid up to 3.14.15-2
Added:
dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-inherit-auth_capable-on-INIT-collisions.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/bugfix/all/net-sctp-inherit-auth_capable-on-INIT-collisions.patch
dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-O32-32-bit-Fix-bug-which-can-cause-incorrect-sy.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-O32-32-bit-Fix-bug-which-can-cause-incorrect-sy.patch
dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-OCTEON-make-get_system_type-thread-safe.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-OCTEON-make-get_system_type-thread-safe.patch
dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-prevent-user-from-setting-FCSR-cause-bits.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-prevent-user-from-setting-FCSR-cause-bits.patch
dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-ptrace-Avoid-smp_processor_id-in-preemptible-co.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-ptrace-Avoid-smp_processor_id-in-preemptible-co.patch
dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-tlbex-fix-a-missing-statement-for-HUGETLB.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-tlbex-fix-a-missing-statement-for-HUGETLB.patch
dists/wheezy-backports/linux/debian/patches/bugfix/s390/s390-3215-fix-hanging-console-issue.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/bugfix/s390/s390-3215-fix-hanging-console-issue.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/x86-reject-x32-executables-if-x32-abi-not-supported.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/bugfix/x86/x86-reject-x32-executables-if-x32-abi-not-supported.patch
dists/wheezy-backports/linux/debian/patches/debian/libata-avoid-abi-change-in-3.14.15.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/debian/libata-avoid-abi-change-in-3.14.15.patch
dists/wheezy-backports/linux/debian/patches/debian/mutex-avoid-abi-change-in-3.14.14.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/debian/mutex-avoid-abi-change-in-3.14.14.patch
dists/wheezy-backports/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
- copied unchanged from r21708, dists/sid/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
Deleted:
dists/wheezy-backports/linux/debian/patches/bugfix/all/shmem-fix-faulting-into-a-hole-while-it-s-punched.patch
dists/wheezy-backports/linux/debian/patches/bugfix/s390/s390-ptrace-fix-PSW-mask-check.patch
Modified:
dists/wheezy-backports/linux/ (props changed)
dists/wheezy-backports/linux/debian/changelog
dists/wheezy-backports/linux/debian/config/armhf/config.armmp
dists/wheezy-backports/linux/debian/config/kernelarch-x86/config-arch-64
dists/wheezy-backports/linux/debian/patches/features/all/rt/ftrace-migrate-disable-tracing.patch
dists/wheezy-backports/linux/debian/patches/features/all/rt/mutex-no-spin-on-rt.patch
dists/wheezy-backports/linux/debian/patches/series
dists/wheezy-backports/linux/debian/templates/image.plain.postinst.in
dists/wheezy-backports/linux/debian/templates/po/de.po
dists/wheezy-backports/linux/debian/templates/po/fr.po
dists/wheezy-backports/linux/debian/templates/po/ja.po
Modified: dists/wheezy-backports/linux/debian/changelog
==============================================================================
--- dists/wheezy-backports/linux/debian/changelog Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/changelog Thu Aug 21 22:20:32 2014 (r21734)
@@ -1,4 +1,4 @@
-linux (3.14.13-2~bpo70+1) wheezy-backports; urgency=low
+linux (3.14.15-2~bpo70+1) wheezy-backports; urgency=low
* Rebuild for wheezy:
- Disable architectures that weren't part of wheezy
@@ -6,7 +6,107 @@
- Change ABI number to 0.bpo.2
- [arm] btrfs: Work around bug in gcc-4.6 (fixes FTBFS)
- -- Ben Hutchings <ben at decadent.org.uk> Thu, 31 Jul 2014 03:50:54 +0100
+ -- Ben Hutchings <ben at decadent.org.uk> Thu, 21 Aug 2014 15:07:27 -0700
+
+linux (3.14.15-2) unstable; urgency=medium
+
+ [ Aurelien Jarno ]
+ * [mips*/4kc-malta] Remove ABI reference as previous kernels were not
+ really usable, and the fix changes the ABI.
+
+ -- Ben Hutchings <ben at decadent.org.uk> Sat, 09 Aug 2014 01:09:38 +0100
+
+linux (3.14.15-1) unstable; urgency=medium
+
+ * New upstream stable update:
+ https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.14.14
+ - Bluetooth: Ignore H5 non-link packets in non-active state
+ - fuse: timeout comparison fix
+ - tracing: instance_rmdir() leaks ftrace_event_file->filter
+ (regression in 3.11)
+ - xen/balloon: set ballooned out pages as invalid in p2m
+ (regression in 3.12)
+ - quota: missing lock in dqcache_shrink_scan() (regression in 3.12)
+ - shmem: fix faulting into a hole, not taking i_mutex (CVE-2014-4171)
+ - shmem: fix splicing from a hole while it's punched (CVE-2014-4171)
+ - e1000e: Fix SHRA register access for 82579 (regression in 3.12)
+ - ip_tunnel: fix ip_tunnel_lookup
+ - net: sctp: check proc_dointvec result in proc_sctp_do_auth
+ - 8021q: fix a potential memory leak
+ - net: fix UDP tunnel GSO of frag_list GRO packets
+ - ipv4: fix dst race in sk_dst_get()
+ - ipv4: irq safe sk_dst_[re]set() and ipv4_sk_update_pmtu() fix
+ - bnx2x: fix possible panic under memory stress
+ - tcp: Fix divide by zero when pushing during tcp-repair
+ - ipv4: icmp: Fix pMTU handling for rare case
+ - net: Fix NETDEV_CHANGE notifier usage causing spurious arp flush
+ (regression in 3.11)
+ - igmp: fix the problem when mc leave group
+ - appletalk: Fix socket referencing in skb
+ - netlink: Fix handling of error from netlink_dump().
+ - tipc: clear 'next'-pointer of message fragments before reassembly
+ (regression in 3.13)
+ - net: sctp: fix information leaks in ulpevent layer
+ - bonding: fix ad_select module param check (regression in 3.14)
+ - net-gre-gro: Fix a bug that breaks the forwarding path
+ (regression in 3.14)
+ - perf/x86/intel: ignore CondChgd bit to avoid false NMI handling
+ - mwifiex: fix Tx timeout issue
+ - [x86] tsc: Fix cpufreq lockup (regression in 3.14)
+ - dm thin metadata: do not allow the data block size to change
+ - dm cache metadata: do not allow the data block size to change
+ - locking/mutex: Disable optimistic spinning on some architectures
+ - sched: Fix possible divide by zero in avg_atom() calculation
+ - aio: protect reqs_available updates from changes in interrupt handlers
+ (regression in 3.14.10)
+ - Don't trigger congestion wait on dirty-but-not-writeout pages
+ (regression in 3.11)
+ https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.14.15
+ - nfs: only show Posix ACLs in listxattr if actually present
+ (regression in 3.14)
+ - block: don't assume last put of shared tags is for the host
+ - libata: support the ata host which implements a queue depth less than 32
+ (regression in 3.14.4)
+ - libata: introduce ata_host->n_tags to avoid oops on SAS controllers
+ - blkcg: don't call into policy draining if root_blkg is already gone
+ - coredump: fix the setting of PF_DUMPCORE
+ - [hppa] Remove SA_RESTORER define
+ - hwmon: (smsc47m192) Fix temperature limit and vrm write operations
+ - fs: umount on symlink leaks mnt count (CVE-2014-5045)
+ - [x86] x86_32, entry: Store badsys error code in %eax
+ (regression in 3.14.10)
+ - drm/radeon: fix irq ring buffer overflow handling (regression in 3.14)
+ - mm: hugetlb: fix copy_hugetlb_page_range() (regression in 3.14.12)
+ - [x86] efi: Include a .bss section within the PE/COFF headers
+ - nl80211: move set_qos_map command into split state (regression in 3.14)
+ - platform_get_irq: Revert to platform_get_resource if of_irq_get fails
+ (regression in 3.14.6)
+
+ [ Aurelien Jarno ]
+ * Update German debconf template translations (Holger Wansing) (Closes:
+ #756049).
+ * Update French debconf template translations (David Prévot) (Closes:
+ #756134).
+ * Rewrite postinst to not require File::stat perl module (Closes: #756207).
+ * [mips*] Avoid smp_processor_id() in preemptible code.
+ * [mips*/octeon] Fix /proc/cpuinfo issues.
+ * [mips,mipsel/4kc-malta] Fix bug which can cause incorrect system call
+ restarts (fix hang on boot).
+ * [mips*] Fix hugepage support on machines with R4K like TLB.
+ * [mips*] Prevent user from setting FCSR cause bits and cause possible
+ kernel oops.
+ * Update Japanese debconf template translations (Victory).
+
+ [ Ben Hutchings ]
+ * [amd64] Reject x32 executables if x32 ABI not supported
+ * [amd64] Make x32 syscall support conditional on a kernel parameter
+ * [amd64] Enable X86_X32 (Closes: #708070) and X86_X32_DISABLED.
+ Use the kernel parameter "syscall.x32=y" to enable support for x32.
+ * [s390,s390x] 3215: fix hanging console issue (Closes: #747922)
+ * [armhf] Enable BRCMFMAC, BRCMFMAC_SDIO as modules (Closes: #734430)
+ * net: sctp: inherit auth_capable on INIT collisions (CVE-2014-5077)
+
+ -- Ben Hutchings <ben at decadent.org.uk> Thu, 07 Aug 2014 16:47:21 +0100
linux (3.14.13-2) unstable; urgency=medium
Modified: dists/wheezy-backports/linux/debian/config/armhf/config.armmp
==============================================================================
--- dists/wheezy-backports/linux/debian/config/armhf/config.armmp Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/config/armhf/config.armmp Thu Aug 21 22:20:32 2014 (r21734)
@@ -496,6 +496,12 @@
CONFIG_MDIO_SUN4I=y
##
+## file: drivers/net/wireless/brcm80211/Kconfig
+##
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=m
+
+##
## file: drivers/net/wireless/ti/Kconfig
##
CONFIG_WL_TI=y
Modified: dists/wheezy-backports/linux/debian/config/kernelarch-x86/config-arch-64
==============================================================================
--- dists/wheezy-backports/linux/debian/config/kernelarch-x86/config-arch-64 Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/config/kernelarch-x86/config-arch-64 Thu Aug 21 22:20:32 2014 (r21734)
@@ -15,7 +15,8 @@
CONFIG_NUMA_EMU=y
CONFIG_PCI_MMCONFIG=y
CONFIG_ISA_DMA_API=y
-# CONFIG_X86_X32 is not set
+CONFIG_X86_X32=y
+CONFIG_X86_X32_DISABLED=y
##
## file: arch/x86/Kconfig.cpu
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-inherit-auth_capable-on-INIT-collisions.patch (from r21708, dists/sid/linux/debian/patches/bugfix/all/net-sctp-inherit-auth_capable-on-INIT-collisions.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-inherit-auth_capable-on-INIT-collisions.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/bugfix/all/net-sctp-inherit-auth_capable-on-INIT-collisions.patch)
@@ -0,0 +1,177 @@
+From: Daniel Borkmann <dborkman at redhat.com>
+Date: Tue, 22 Jul 2014 15:22:45 +0200
+Subject: net: sctp: inherit auth_capable on INIT collisions
+Origin: https://git.kernel.org/linus/1be9a950c646c9092fb3618197f7b6bfb50e82aa
+
+Jason reported an oops caused by SCTP on his ARM machine with
+SCTP authentication enabled:
+
+Internal error: Oops: 17 [#1] ARM
+CPU: 0 PID: 104 Comm: sctp-test Not tainted 3.13.0-68744-g3632f30c9b20-dirty #1
+task: c6eefa40 ti: c6f52000 task.ti: c6f52000
+PC is at sctp_auth_calculate_hmac+0xc4/0x10c
+LR is at sg_init_table+0x20/0x38
+pc : [<c024bb80>] lr : [<c00f32dc>] psr: 40000013
+sp : c6f538e8 ip : 00000000 fp : c6f53924
+r10: c6f50d80 r9 : 00000000 r8 : 00010000
+r7 : 00000000 r6 : c7be4000 r5 : 00000000 r4 : c6f56254
+r3 : c00c8170 r2 : 00000001 r1 : 00000008 r0 : c6f1e660
+Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
+Control: 0005397f Table: 06f28000 DAC: 00000015
+Process sctp-test (pid: 104, stack limit = 0xc6f521c0)
+Stack: (0xc6f538e8 to 0xc6f54000)
+[...]
+Backtrace:
+[<c024babc>] (sctp_auth_calculate_hmac+0x0/0x10c) from [<c0249af8>] (sctp_packet_transmit+0x33c/0x5c8)
+[<c02497bc>] (sctp_packet_transmit+0x0/0x5c8) from [<c023e96c>] (sctp_outq_flush+0x7fc/0x844)
+[<c023e170>] (sctp_outq_flush+0x0/0x844) from [<c023ef78>] (sctp_outq_uncork+0x24/0x28)
+[<c023ef54>] (sctp_outq_uncork+0x0/0x28) from [<c0234364>] (sctp_side_effects+0x1134/0x1220)
+[<c0233230>] (sctp_side_effects+0x0/0x1220) from [<c02330b0>] (sctp_do_sm+0xac/0xd4)
+[<c0233004>] (sctp_do_sm+0x0/0xd4) from [<c023675c>] (sctp_assoc_bh_rcv+0x118/0x160)
+[<c0236644>] (sctp_assoc_bh_rcv+0x0/0x160) from [<c023d5bc>] (sctp_inq_push+0x6c/0x74)
+[<c023d550>] (sctp_inq_push+0x0/0x74) from [<c024a6b0>] (sctp_rcv+0x7d8/0x888)
+
+While we already had various kind of bugs in that area
+ec0223ec48a9 ("net: sctp: fix sctp_sf_do_5_1D_ce to verify if
+we/peer is AUTH capable") and b14878ccb7fa ("net: sctp: cache
+auth_enable per endpoint"), this one is a bit of a different
+kind.
+
+Giving a bit more background on why SCTP authentication is
+needed can be found in RFC4895:
+
+ SCTP uses 32-bit verification tags to protect itself against
+ blind attackers. These values are not changed during the
+ lifetime of an SCTP association.
+
+ Looking at new SCTP extensions, there is the need to have a
+ method of proving that an SCTP chunk(s) was really sent by
+ the original peer that started the association and not by a
+ malicious attacker.
+
+To cause this bug, we're triggering an INIT collision between
+peers; normal SCTP handshake where both sides intent to
+authenticate packets contains RANDOM; CHUNKS; HMAC-ALGO
+parameters that are being negotiated among peers:
+
+ ---------- INIT[RANDOM; CHUNKS; HMAC-ALGO] ---------->
+ <------- INIT-ACK[RANDOM; CHUNKS; HMAC-ALGO] ---------
+ -------------------- COOKIE-ECHO -------------------->
+ <-------------------- COOKIE-ACK ---------------------
+
+RFC4895 says that each endpoint therefore knows its own random
+number and the peer's random number *after* the association
+has been established. The local and peer's random number along
+with the shared key are then part of the secret used for
+calculating the HMAC in the AUTH chunk.
+
+Now, in our scenario, we have 2 threads with 1 non-blocking
+SEQ_PACKET socket each, setting up common shared SCTP_AUTH_KEY
+and SCTP_AUTH_ACTIVE_KEY properly, and each of them calling
+sctp_bindx(3), listen(2) and connect(2) against each other,
+thus the handshake looks similar to this, e.g.:
+
+ ---------- INIT[RANDOM; CHUNKS; HMAC-ALGO] ---------->
+ <------- INIT-ACK[RANDOM; CHUNKS; HMAC-ALGO] ---------
+ <--------- INIT[RANDOM; CHUNKS; HMAC-ALGO] -----------
+ -------- INIT-ACK[RANDOM; CHUNKS; HMAC-ALGO] -------->
+ ...
+
+Since such collisions can also happen with verification tags,
+the RFC4895 for AUTH rather vaguely says under section 6.1:
+
+ In case of INIT collision, the rules governing the handling
+ of this Random Number follow the same pattern as those for
+ the Verification Tag, as explained in Section 5.2.4 of
+ RFC 2960 [5]. Therefore, each endpoint knows its own Random
+ Number and the peer's Random Number after the association
+ has been established.
+
+In RFC2960, section 5.2.4, we're eventually hitting Action B:
+
+ B) In this case, both sides may be attempting to start an
+ association at about the same time but the peer endpoint
+ started its INIT after responding to the local endpoint's
+ INIT. Thus it may have picked a new Verification Tag not
+ being aware of the previous Tag it had sent this endpoint.
+ The endpoint should stay in or enter the ESTABLISHED
+ state but it MUST update its peer's Verification Tag from
+ the State Cookie, stop any init or cookie timers that may
+ running and send a COOKIE ACK.
+
+In other words, the handling of the Random parameter is the
+same as behavior for the Verification Tag as described in
+Action B of section 5.2.4.
+
+Looking at the code, we exactly hit the sctp_sf_do_dupcook_b()
+case which triggers an SCTP_CMD_UPDATE_ASSOC command to the
+side effect interpreter, and in fact it properly copies over
+peer_{random, hmacs, chunks} parameters from the newly created
+association to update the existing one.
+
+Also, the old asoc_shared_key is being released and based on
+the new params, sctp_auth_asoc_init_active_key() updated.
+However, the issue observed in this case is that the previous
+asoc->peer.auth_capable was 0, and has *not* been updated, so
+that instead of creating a new secret, we're doing an early
+return from the function sctp_auth_asoc_init_active_key()
+leaving asoc->asoc_shared_key as NULL. However, we now have to
+authenticate chunks from the updated chunk list (e.g. COOKIE-ACK).
+
+That in fact causes the server side when responding with ...
+
+ <------------------ AUTH; COOKIE-ACK -----------------
+
+... to trigger a NULL pointer dereference, since in
+sctp_packet_transmit(), it discovers that an AUTH chunk is
+being queued for xmit, and thus it calls sctp_auth_calculate_hmac().
+
+Since the asoc->active_key_id is still inherited from the
+endpoint, and the same as encoded into the chunk, it uses
+asoc->asoc_shared_key, which is still NULL, as an asoc_key
+and dereferences it in ...
+
+ crypto_hash_setkey(desc.tfm, &asoc_key->data[0], asoc_key->len)
+
+... causing an oops. All this happens because sctp_make_cookie_ack()
+called with the *new* association has the peer.auth_capable=1
+and therefore marks the chunk with auth=1 after checking
+sctp_auth_send_cid(), but it is *actually* sent later on over
+the then *updated* association's transport that didn't initialize
+its shared key due to peer.auth_capable=0. Since control chunks
+in that case are not sent by the temporary association which
+are scheduled for deletion, they are issued for xmit via
+SCTP_CMD_REPLY in the interpreter with the context of the
+*updated* association. peer.auth_capable was 0 in the updated
+association (which went from COOKIE_WAIT into ESTABLISHED state),
+since all previous processing that performed sctp_process_init()
+was being done on temporary associations, that we eventually
+throw away each time.
+
+The correct fix is to update to the new peer.auth_capable
+value as well in the collision case via sctp_assoc_update(),
+so that in case the collision migrated from 0 -> 1,
+sctp_auth_asoc_init_active_key() can properly recalculate
+the secret. This therefore fixes the observed server panic.
+
+Fixes: 730fc3d05cd4 ("[SCTP]: Implete SCTP-AUTH parameter processing")
+Reported-by: Jason Gunthorpe <jgunthorpe at obsidianresearch.com>
+Signed-off-by: Daniel Borkmann <dborkman at redhat.com>
+Tested-by: Jason Gunthorpe <jgunthorpe at obsidianresearch.com>
+Cc: Vlad Yasevich <vyasevich at gmail.com>
+Acked-by: Vlad Yasevich <vyasevich at gmail.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ net/sctp/associola.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/net/sctp/associola.c
++++ b/net/sctp/associola.c
+@@ -1151,6 +1151,7 @@ void sctp_assoc_update(struct sctp_assoc
+ asoc->c = new->c;
+ asoc->peer.rwnd = new->peer.rwnd;
+ asoc->peer.sack_needed = new->peer.sack_needed;
++ asoc->peer.auth_capable = new->peer.auth_capable;
+ asoc->peer.i = new->peer.i;
+ sctp_tsnmap_init(&asoc->peer.tsn_map, SCTP_TSN_MAP_INITIAL,
+ asoc->peer.i.initial_tsn, GFP_ATOMIC);
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-O32-32-bit-Fix-bug-which-can-cause-incorrect-sy.patch (from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-O32-32-bit-Fix-bug-which-can-cause-incorrect-sy.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-O32-32-bit-Fix-bug-which-can-cause-incorrect-sy.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-O32-32-bit-Fix-bug-which-can-cause-incorrect-sy.patch)
@@ -0,0 +1,61 @@
+From: Alex Smith <alex.smith at imgtec.com>
+Date: Wed, 23 Jul 2014 14:40:11 +0100
+Subject: MIPS: O32/32-bit: Fix bug which can cause incorrect system
+ call restarts
+Origin: https://git.kernel.org/linus/e90e6fddc57055c4c6b57f92787fea1c065d440b
+
+On 32-bit/O32, pt_regs has a padding area at the beginning into which the
+syscall arguments passed via the user stack are copied. 4 arguments
+totalling 16 bytes are copied to offset 16 bytes into this area, however
+the area is only 24 bytes long. This means the last 2 arguments overwrite
+pt_regs->regs[{0,1}].
+
+If a syscall function returns an error, handle_sys stores the original
+syscall number in pt_regs->regs[0] for syscall restart. signal.c checks
+whether regs[0] is non-zero, if it is it will check whether the syscall
+return value is one of the ERESTART* codes to see if it must be
+restarted.
+
+Should a syscall be made that results in a non-zero value being copied
+off the user stack into regs[0], and then returns a positive (non-error)
+value that matches one of the ERESTART* error codes, this can be mistaken
+for requiring a syscall restart.
+
+While the possibility for this to occur has always existed, it is made
+much more likely to occur by commit 46e12c07b3b9 ("MIPS: O32 / 32-bit:
+Always copy 4 stack arguments."), since now every syscall will copy 4
+arguments and overwrite regs[0], rather than just those with 7 or 8
+arguments.
+
+Since that commit, booting Debian under a 32-bit MIPS kernel almost
+always results in a hang early in boot, due to a wait4 syscall returning
+a PID that matches one of the ERESTART* codes, which then causes an
+incorrect restart of the syscall.
+
+The problem is fixed by increasing the size of the padding area so that
+arguments copied off the stack will not overwrite pt_regs->regs[{0,1}].
+
+Signed-off-by: Alex Smith <alex.smith at imgtec.com>
+Cc: <stable at vger.kernel.org> # v3.13+
+Tested-by: Aurelien Jarno <aurelien at aurel32.net>
+Reviewed-by: Aurelien Jarno <aurelien at aurel32.net>
+---
+ arch/mips/include/asm/ptrace.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h
+index 7e6e682..c301fa9 100644
+--- a/arch/mips/include/asm/ptrace.h
++++ b/arch/mips/include/asm/ptrace.h
+@@ -23,7 +23,7 @@
+ struct pt_regs {
+ #ifdef CONFIG_32BIT
+ /* Pad bytes for argument save space on the stack. */
+- unsigned long pad0[6];
++ unsigned long pad0[8];
+ #endif
+
+ /* Saved main processor registers. */
+--
+1.7.10.4
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-OCTEON-make-get_system_type-thread-safe.patch (from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-OCTEON-make-get_system_type-thread-safe.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-OCTEON-make-get_system_type-thread-safe.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-OCTEON-make-get_system_type-thread-safe.patch)
@@ -0,0 +1,66 @@
+From: Aaro Koskinen <aaro.koskinen at nsn.com>
+Date: Tue, 22 Jul 2014 14:51:08 +0300
+Subject: MIPS: OCTEON: make get_system_type() thread-safe
+Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=726d129dfdc9622197a8c3f5947ce09c1a4c935e
+
+get_system_type() is not thread-safe on OCTEON. It uses static data,
+also more dangerous issue is that it's calling cvmx_fuse_read_byte()
+every time without any synchronization. Currently it's possible to get
+processes stuck looping forever in kernel simply by launching multiple
+readers of /proc/cpuinfo:
+
+ (while true; do cat /proc/cpuinfo > /dev/null; done) &
+ (while true; do cat /proc/cpuinfo > /dev/null; done) &
+ ...
+
+Fix by initializing the system type string only once during the early
+boot.
+
+Signed-off-by: Aaro Koskinen <aaro.koskinen at nsn.com>
+Cc: stable at vger.kernel.org
+Reviewed-by: Markos Chandras <markos.chandras at imgtec.com>
+Patchwork: http://patchwork.linux-mips.org/patch/7437/
+Signed-off-by: James Hogan <james.hogan at imgtec.com>
+---
+ arch/mips/cavium-octeon/setup.c | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c
+index 008e9c8..c9d9c62 100644
+--- a/arch/mips/cavium-octeon/setup.c
++++ b/arch/mips/cavium-octeon/setup.c
+@@ -458,6 +458,18 @@ static void octeon_halt(void)
+ octeon_kill_core(NULL);
+ }
+
++static char __read_mostly octeon_system_type[80];
++
++static int __init init_octeon_system_type(void)
++{
++ snprintf(octeon_system_type, sizeof(octeon_system_type), "%s (%s)",
++ cvmx_board_type_to_string(octeon_bootinfo->board_type),
++ octeon_model_get_string(read_c0_prid()));
++
++ return 0;
++}
++early_initcall(init_octeon_system_type);
++
+ /**
+ * Return a string representing the system type
+ *
+@@ -465,11 +477,7 @@ static void octeon_halt(void)
+ */
+ const char *octeon_board_type_string(void)
+ {
+- static char name[80];
+- sprintf(name, "%s (%s)",
+- cvmx_board_type_to_string(octeon_bootinfo->board_type),
+- octeon_model_get_string(read_c0_prid()));
+- return name;
++ return octeon_system_type;
+ }
+
+ const char *get_system_type(void)
+--
+1.7.10.4
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-prevent-user-from-setting-FCSR-cause-bits.patch (from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-prevent-user-from-setting-FCSR-cause-bits.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-prevent-user-from-setting-FCSR-cause-bits.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-prevent-user-from-setting-FCSR-cause-bits.patch)
@@ -0,0 +1,55 @@
+From: Paul Burton <paul.burton at imgtec.com>
+Date: Tue, 22 Jul 2014 14:21:21 +0100
+Subject: MIPS: prevent user from setting FCSR cause bits
+Origin: https://git.kernel.org/linus/b1442d39fac2fcfbe6a4814979020e993ca59c9e
+
+If one or more matching FCSR cause & enable bits are set in saved thread
+context then when that context is restored the kernel will take an FP
+exception. This is of course undesirable and considered an oops, leading
+to the kernel writing a backtrace to the console and potentially
+rebooting depending upon the configuration. Thus the kernel avoids this
+situation by clearing the cause bits of the FCSR register when handling
+FP exceptions and after emulating FP instructions.
+
+However the kernel does not prevent userland from setting arbitrary FCSR
+cause & enable bits via ptrace, using either the PTRACE_POKEUSR or
+PTRACE_SETFPREGS requests. This means userland can trivially cause the
+kernel to oops on any system with an FPU. Prevent this from happening
+by clearing the cause bits when writing to the saved FCSR context via
+ptrace.
+
+This problem appears to exist at least back to the beginning of the git
+era in the PTRACE_POKEUSR case.
+
+Signed-off-by: Paul Burton <paul.burton at imgtec.com>
+Cc: stable at vger.kernel.org
+Patchwork: http://patchwork.linux-mips.org/patch/7438/
+Signed-off-by: James Hogan <james.hogan at imgtec.com>
+---
+ arch/mips/kernel/ptrace.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c
+index f639ccd..3a7f7dd 100644
+--- a/arch/mips/kernel/ptrace.c
++++ b/arch/mips/kernel/ptrace.c
+@@ -170,6 +170,7 @@ int ptrace_setfpregs(struct task_struct
+ __get_user(fregs[i], i + (__u64 __user *) data);
+
+ __get_user(child->thread.fpu.fcr31, data + 64);
++ child->thread.fpu.fcr31 &= ~FPU_CSR_ALL_X;
+
+ /* FIR may not be written. */
+
+@@ -593,7 +594,7 @@ long arch_ptrace(struct task_struct *chi
+ break;
+ #endif
+ case FPC_CSR:
+- child->thread.fpu.fcr31 = data;
++ child->thread.fpu.fcr31 = data & ~FPU_CSR_ALL_X;
+ break;
+ case DSP_BASE ... DSP_BASE + 5: {
+ dspreg_t *dregs;
+--
+1.7.10.4
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-ptrace-Avoid-smp_processor_id-in-preemptible-co.patch (from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-ptrace-Avoid-smp_processor_id-in-preemptible-co.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-ptrace-Avoid-smp_processor_id-in-preemptible-co.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-ptrace-Avoid-smp_processor_id-in-preemptible-co.patch)
@@ -0,0 +1,86 @@
+From: Alex Smith <alex.smith at imgtec.com>
+Date: Thu, 1 May 2014 12:51:19 +0100
+Subject: MIPS: ptrace: Avoid smp_processor_id() in preemptible code
+Origin: https://git.kernel.org/linus/57c7ea513f0e4b033ba602550992e2ca0e6b8d2c
+
+ptrace_{get,set}_watch_regs access current_cpu_data to get the watch
+register count/masks, which calls smp_processor_id(). However they are
+run in preemptible context and therefore trigger warnings like so:
+
+[ 6340.092000] BUG: using smp_processor_id() in preemptible [00000000] code: gdb/367
+[ 6340.092000] caller is ptrace_get_watch_regs+0x44/0x220
+
+Since the watch register count/masks should be the same across all
+CPUs, use boot_cpu_data instead. Note that this may need to change in
+future should a heterogenous system be supported where the count/masks
+are not the same across all CPUs (the current code is also incorrect
+for this scenario - current_cpu_data here would not necessarily be
+correct for the CPU that the target task will execute on).
+
+Signed-off-by: Alex Smith <alex.smith at imgtec.com>
+Reviewed-by: Paul Burton <paul.burton at imgtec.com>
+Cc: linux-mips at linux-mips.org
+Patchwork: https://patchwork.linux-mips.org/patch/6879/
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+---
+ arch/mips/kernel/ptrace.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c
+index 71f85f4..f639ccd 100644
+--- a/arch/mips/kernel/ptrace.c
++++ b/arch/mips/kernel/ptrace.c
+@@ -163,7 +163,7 @@ int ptrace_get_watch_regs(struct task_struct *child,
+ enum pt_watch_style style;
+ int i;
+
+- if (!cpu_has_watch || current_cpu_data.watch_reg_use_cnt == 0)
++ if (!cpu_has_watch || boot_cpu_data.watch_reg_use_cnt == 0)
+ return -EIO;
+ if (!access_ok(VERIFY_WRITE, addr, sizeof(struct pt_watch_regs)))
+ return -EIO;
+@@ -177,14 +177,14 @@ int ptrace_get_watch_regs(struct task_struct *child,
+ #endif
+
+ __put_user(style, &addr->style);
+- __put_user(current_cpu_data.watch_reg_use_cnt,
++ __put_user(boot_cpu_data.watch_reg_use_cnt,
+ &addr->WATCH_STYLE.num_valid);
+- for (i = 0; i < current_cpu_data.watch_reg_use_cnt; i++) {
++ for (i = 0; i < boot_cpu_data.watch_reg_use_cnt; i++) {
+ __put_user(child->thread.watch.mips3264.watchlo[i],
+ &addr->WATCH_STYLE.watchlo[i]);
+ __put_user(child->thread.watch.mips3264.watchhi[i] & 0xfff,
+ &addr->WATCH_STYLE.watchhi[i]);
+- __put_user(current_cpu_data.watch_reg_masks[i],
++ __put_user(boot_cpu_data.watch_reg_masks[i],
+ &addr->WATCH_STYLE.watch_masks[i]);
+ }
+ for (; i < 8; i++) {
+@@ -204,12 +204,12 @@ int ptrace_set_watch_regs(struct task_struct *child,
+ unsigned long lt[NUM_WATCH_REGS];
+ u16 ht[NUM_WATCH_REGS];
+
+- if (!cpu_has_watch || current_cpu_data.watch_reg_use_cnt == 0)
++ if (!cpu_has_watch || boot_cpu_data.watch_reg_use_cnt == 0)
+ return -EIO;
+ if (!access_ok(VERIFY_READ, addr, sizeof(struct pt_watch_regs)))
+ return -EIO;
+ /* Check the values. */
+- for (i = 0; i < current_cpu_data.watch_reg_use_cnt; i++) {
++ for (i = 0; i < boot_cpu_data.watch_reg_use_cnt; i++) {
+ __get_user(lt[i], &addr->WATCH_STYLE.watchlo[i]);
+ #ifdef CONFIG_32BIT
+ if (lt[i] & __UA_LIMIT)
+@@ -228,7 +228,7 @@ int ptrace_set_watch_regs(struct task_struct *child,
+ return -EINVAL;
+ }
+ /* Install them. */
+- for (i = 0; i < current_cpu_data.watch_reg_use_cnt; i++) {
++ for (i = 0; i < boot_cpu_data.watch_reg_use_cnt; i++) {
+ if (lt[i] & 7)
+ watch_active = 1;
+ child->thread.watch.mips3264.watchlo[i] = lt[i];
+--
+2.0.0
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-tlbex-fix-a-missing-statement-for-HUGETLB.patch (from r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-tlbex-fix-a-missing-statement-for-HUGETLB.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-tlbex-fix-a-missing-statement-for-HUGETLB.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/bugfix/mips/MIPS-tlbex-fix-a-missing-statement-for-HUGETLB.patch)
@@ -0,0 +1,35 @@
+From: Huacai Chen <chenhc at lemote.com>
+Date: Tue, 29 Jul 2014 14:54:40 +0800
+Subject: MIPS: tlbex: fix a missing statement for HUGETLB
+Origin: https://git.kernel.org/linus/8393c524a25609a30129e4a8975cf3b91f6c16a5
+
+In commit 2c8c53e28f1 (MIPS: Optimize TLB handlers for Octeon CPUs)
+build_r4000_tlb_refill_handler() is modified. But it doesn't compatible
+with the original code in HUGETLB case. Because there is a copy & paste
+error and one line of code is missing. It is very easy to produce a bug
+with LTP's hugemmap05 test.
+
+Signed-off-by: Huacai Chen <chenhc at lemote.com>
+Signed-off-by: Binbin Zhou <zhoubb at lemote.com>
+Cc: <stable at vger.kernel.org>
+Tested-by: Aurelien Jarno <aurelien at aurel32.net>
+Reviewed-by: Aurelien Jarno <aurelien at aurel32.net>
+---
+ arch/mips/mm/tlbex.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
+index e80e10b..343fe0f 100644
+--- a/arch/mips/mm/tlbex.c
++++ b/arch/mips/mm/tlbex.c
+@@ -1299,6 +1299,7 @@ static void build_r4000_tlb_refill_handler(void)
+ }
+ #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
+ uasm_l_tlb_huge_update(&l, p);
++ UASM_i_LW(&p, K0, 0, K1);
+ build_huge_update_entries(&p, htlb_info.huge_pte, K1);
+ build_huge_tlb_write_entry(&p, &l, &r, K0, tlb_random,
+ htlb_info.restore_scratch);
+--
+1.7.10.4
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/s390/s390-3215-fix-hanging-console-issue.patch (from r21708, dists/sid/linux/debian/patches/bugfix/s390/s390-3215-fix-hanging-console-issue.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/s390/s390-3215-fix-hanging-console-issue.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/bugfix/s390/s390-3215-fix-hanging-console-issue.patch)
@@ -0,0 +1,69 @@
+From: Martin Schwidefsky <schwidefsky at de.ibm.com>
+Date: Tue, 15 Jul 2014 17:53:12 +0200
+Subject: s390/3215: fix hanging console issue
+Origin: https://git.kernel.org/cgit/linux/kernel/git/s390/linux.git/commit?id=26d766c60f4ea08cd14f0f3435a6db3d6cc2ae96
+Bug-Debian: https://bugs.debian.org/747922
+
+The ccw_device_start in raw3215_start_io can fail. raw3215_try_io
+does not check if the request could be started and removes any
+pending timer. This can leave the system in a hanging state.
+Check for pending request after raw3215_start_io and start a
+timer if necessary.
+
+Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>
+---
+ drivers/s390/char/con3215.c | 32 +++++++++++++++++---------------
+ 1 file changed, 17 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c
+index 5af7f0b..a6d47e5 100644
+--- a/drivers/s390/char/con3215.c
++++ b/drivers/s390/char/con3215.c
+@@ -288,12 +288,16 @@ static void raw3215_timeout(unsigned long __data)
+ unsigned long flags;
+
+ spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
+- if (raw->flags & RAW3215_TIMER_RUNS) {
+- del_timer(&raw->timer);
+- raw->flags &= ~RAW3215_TIMER_RUNS;
+- if (!(raw->port.flags & ASYNC_SUSPENDED)) {
+- raw3215_mk_write_req(raw);
+- raw3215_start_io(raw);
++ raw->flags &= ~RAW3215_TIMER_RUNS;
++ if (!(raw->port.flags & ASYNC_SUSPENDED)) {
++ raw3215_mk_write_req(raw);
++ raw3215_start_io(raw);
++ if ((raw->queued_read || raw->queued_write) &&
++ !(raw->flags & RAW3215_WORKING) &&
++ !(raw->flags & RAW3215_TIMER_RUNS)) {
++ raw->timer.expires = RAW3215_TIMEOUT + jiffies;
++ add_timer(&raw->timer);
++ raw->flags |= RAW3215_TIMER_RUNS;
+ }
+ }
+ spin_unlock_irqrestore(get_ccwdev_lock(raw->cdev), flags);
+@@ -317,17 +321,15 @@ static inline void raw3215_try_io(struct raw3215_info *raw)
+ (raw->flags & RAW3215_FLUSHING)) {
+ /* execute write requests bigger than minimum size */
+ raw3215_start_io(raw);
+- if (raw->flags & RAW3215_TIMER_RUNS) {
+- del_timer(&raw->timer);
+- raw->flags &= ~RAW3215_TIMER_RUNS;
+- }
+- } else if (!(raw->flags & RAW3215_TIMER_RUNS)) {
+- /* delay small writes */
+- raw->timer.expires = RAW3215_TIMEOUT + jiffies;
+- add_timer(&raw->timer);
+- raw->flags |= RAW3215_TIMER_RUNS;
+ }
+ }
++ if ((raw->queued_read || raw->queued_write) &&
++ !(raw->flags & RAW3215_WORKING) &&
++ !(raw->flags & RAW3215_TIMER_RUNS)) {
++ raw->timer.expires = RAW3215_TIMEOUT + jiffies;
++ add_timer(&raw->timer);
++ raw->flags |= RAW3215_TIMER_RUNS;
++ }
+ }
+
+ /*
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/x86-reject-x32-executables-if-x32-abi-not-supported.patch (from r21708, dists/sid/linux/debian/patches/bugfix/x86/x86-reject-x32-executables-if-x32-abi-not-supported.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/x86-reject-x32-executables-if-x32-abi-not-supported.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/bugfix/x86/x86-reject-x32-executables-if-x32-abi-not-supported.patch)
@@ -0,0 +1,31 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sat, 26 Jul 2014 15:03:11 +0100
+Subject: x86: Reject x32 executables if x32 ABI not supported
+Forwarded: http://mid.gmane.org/1406431195.29010.154.camel@deadeye.wl.decadent.org.uk
+
+It is currently possible to execve() an x32 executable on an x86_64
+kernel that has only ia32 compat enabled. However all its syscalls
+will fail, even _exit(). This usually causes it to segfault.
+
+Change the ELF compat architecture check so that x32 executables are
+rejected if we don't support the x32 ABI.
+
+Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
+---
+ arch/x86/include/asm/elf.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/arch/x86/include/asm/elf.h
++++ b/arch/x86/include/asm/elf.h
+@@ -155,8 +155,9 @@ do { \
+ #define elf_check_arch(x) \
+ ((x)->e_machine == EM_X86_64)
+
+-#define compat_elf_check_arch(x) \
+- (elf_check_arch_ia32(x) || (x)->e_machine == EM_X86_64)
++#define compat_elf_check_arch(x) \
++ (elf_check_arch_ia32(x) || \
++ (IS_ENABLED(CONFIG_X86_X32_ABI) && (x)->e_machine == EM_X86_64))
+
+ #if __USER32_DS != __USER_DS
+ # error "The following code assumes __USER32_DS == __USER_DS"
Copied: dists/wheezy-backports/linux/debian/patches/debian/libata-avoid-abi-change-in-3.14.15.patch (from r21708, dists/sid/linux/debian/patches/debian/libata-avoid-abi-change-in-3.14.15.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/debian/libata-avoid-abi-change-in-3.14.15.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/debian/libata-avoid-abi-change-in-3.14.15.patch)
@@ -0,0 +1,77 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Tue, 05 Aug 2014 09:51:04 +0100
+Subject: libata: Avoid ABI change in 3.14.15
+
+Commit 1a112d10f03e ('libata: introduce ata_host->n_tags to avoid oops
+on SAS controllers') added a field in a structure which may be
+driver-allocated. So we can't simply move it to the end. However
+there is a flags field with many free bits, and we only need 5 bits
+(ATA_MAX_QUEUE == 32 and n_tags must be less than this). Add a
+pair of accessors to make this slightly less ugly.
+
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -175,6 +175,17 @@ static bool ata_sstatus_online(u32 sstat
+ return (sstatus & 0xf) == 0x3;
+ }
+
++static unsigned int ata_host_get_n_tags(const struct ata_host *host)
++{
++ return (host->flags & ATA_HOST_N_TAGS_MASK) >> ATA_HOST_N_TAGS_SHIFT;
++}
++
++static void ata_host_set_n_tags(struct ata_host *host, unsigned int n_tags)
++{
++ host->flags = ((host->flags & ~ATA_HOST_N_TAGS_MASK) |
++ (n_tags << ATA_HOST_N_TAGS_SHIFT));
++}
++
+ /**
+ * ata_link_next - link iteration helper
+ * @link: the previous link, NULL to start
+@@ -4798,7 +4809,7 @@ void swap_buf_le16(u16 *buf, unsigned in
+ static struct ata_queued_cmd *ata_qc_new(struct ata_port *ap)
+ {
+ struct ata_queued_cmd *qc = NULL;
+- unsigned int max_queue = ap->host->n_tags;
++ unsigned int max_queue = ata_host_get_n_tags(ap->host);
+ unsigned int i, tag;
+
+ /* no command while frozen */
+@@ -6108,7 +6119,7 @@ void ata_host_init(struct ata_host *host
+ {
+ spin_lock_init(&host->lock);
+ mutex_init(&host->eh_mutex);
+- host->n_tags = ATA_MAX_QUEUE - 1;
++ ata_host_set_n_tags(host, ATA_MAX_QUEUE - 1);
+ host->dev = dev;
+ host->ops = ops;
+ }
+@@ -6190,7 +6201,7 @@ int ata_host_register(struct ata_host *h
+ {
+ int i, rc;
+
+- host->n_tags = clamp(sht->can_queue, 1, ATA_MAX_QUEUE - 1);
++ ata_host_set_n_tags(host, clamp(sht->can_queue, 1, ATA_MAX_QUEUE - 1));
+
+ /* host must have been started */
+ if (!(host->flags & ATA_HOST_STARTED)) {
+--- a/include/linux/libata.h
++++ b/include/linux/libata.h
+@@ -271,6 +271,8 @@ enum {
+ ATA_HOST_STARTED = (1 << 1), /* Host started */
+ ATA_HOST_PARALLEL_SCAN = (1 << 2), /* Ports on this host can be scanned in parallel */
+ ATA_HOST_IGNORE_ATA = (1 << 3), /* Ignore ATA devices on this host. */
++ ATA_HOST_N_TAGS_SHIFT = 4,
++ ATA_HOST_N_TAGS_MASK = (ATA_MAX_QUEUE - 1) << ATA_HOST_N_TAGS_SHIFT,
+
+ /* bits 24:31 of host->flags are reserved for LLD specific flags */
+
+@@ -593,7 +595,6 @@ struct ata_host {
+ struct device *dev;
+ void __iomem * const *iomap;
+ unsigned int n_ports;
+- unsigned int n_tags; /* nr of NCQ tags */
+ void *private_data;
+ struct ata_port_operations *ops;
+ unsigned long flags;
Copied: dists/wheezy-backports/linux/debian/patches/debian/mutex-avoid-abi-change-in-3.14.14.patch (from r21708, dists/sid/linux/debian/patches/debian/mutex-avoid-abi-change-in-3.14.14.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/debian/mutex-avoid-abi-change-in-3.14.14.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/debian/mutex-avoid-abi-change-in-3.14.14.patch)
@@ -0,0 +1,19 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Tue, 05 Aug 2014 14:00:19 +0100
+Subject: mutex: Avoid ABI change in 3.14.14
+
+The dependencies for CONFIG_MUTEX_SPIN_ON_OWNER were changed so
+mutex::spin_mlock is no longer defined or used on some architectures.
+Change the condition for its definition back to what it was before.
+
+--- a/include/linux/mutex.h
++++ b/include/linux/mutex.h
+@@ -54,7 +54,7 @@ struct mutex {
+ #if defined(CONFIG_DEBUG_MUTEXES) || defined(CONFIG_SMP)
+ struct task_struct *owner;
+ #endif
+-#ifdef CONFIG_MUTEX_SPIN_ON_OWNER
++#if defined(CONFIG_SMP) && !defined(CONFIG_DEBUG_MUTEXES)
+ void *spin_mlock; /* Spinner MCS lock */
+ #endif
+ #ifdef CONFIG_DEBUG_MUTEXES
Modified: dists/wheezy-backports/linux/debian/patches/features/all/rt/ftrace-migrate-disable-tracing.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/all/rt/ftrace-migrate-disable-tracing.patch Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/patches/features/all/rt/ftrace-migrate-disable-tracing.patch Thu Aug 21 22:20:32 2014 (r21734)
@@ -4,6 +4,8 @@
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patches-3.14.12-rt9.tar.xz
Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
+[bwh: Adjust context after "tracing: Add ftrace_trace_stack into
+ __trace_puts/__trace_bputs" in 3.14.14]
---
include/linux/ftrace_event.h | 2 ++
kernel/trace/trace.c | 11 +++++++----
@@ -24,16 +26,16 @@
#define FTRACE_MAX_EVENT \
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
-@@ -462,7 +462,7 @@ int __trace_puts(unsigned long ip, const
+@@ -468,7 +468,7 @@ int __trace_puts(unsigned long ip, const
local_save_flags(irq_flags);
buffer = global_trace.trace_buffer.buffer;
- event = trace_buffer_lock_reserve(buffer, TRACE_PRINT, alloc,
+ event = trace_buffer_lock_reserve(buffer, TRACE_PRINT, alloc,
- irq_flags, preempt_count());
+ irq_flags, pc);
if (!event)
return 0;
-@@ -1552,6 +1552,8 @@ tracing_generic_entry_update(struct trac
+@@ -1565,6 +1565,8 @@ tracing_generic_entry_update(struct trac
((pc & SOFTIRQ_MASK) ? TRACE_FLAG_SOFTIRQ : 0) |
(tif_need_resched() ? TRACE_FLAG_NEED_RESCHED : 0) |
(test_preempt_need_resched() ? TRACE_FLAG_PREEMPT_RESCHED : 0);
@@ -42,7 +44,7 @@
}
EXPORT_SYMBOL_GPL(tracing_generic_entry_update);
-@@ -2462,9 +2464,10 @@ static void print_lat_help_header(struct
+@@ -2475,9 +2477,10 @@ static void print_lat_help_header(struct
seq_puts(m, "# | / _----=> need-resched \n");
seq_puts(m, "# || / _---=> hardirq/softirq \n");
seq_puts(m, "# ||| / _--=> preempt-depth \n");
Modified: dists/wheezy-backports/linux/debian/patches/features/all/rt/mutex-no-spin-on-rt.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/all/rt/mutex-no-spin-on-rt.patch Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/patches/features/all/rt/mutex-no-spin-on-rt.patch Thu Aug 21 22:20:32 2014 (r21734)
@@ -4,15 +4,17 @@
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.14/patches-3.14.12-rt9.tar.xz
Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
+[bwh: Include extra dependency from "locking/mutex: Disable optimistic
+ spinning on some architectures" in 3.14.14]
---
kernel/Kconfig.locks | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/Kconfig.locks
+++ b/kernel/Kconfig.locks
-@@ -222,4 +222,4 @@ endif
+@@ -225,4 +225,4 @@ config ARCH_SUPPORTS_ATOMIC_RMW
config MUTEX_SPIN_ON_OWNER
def_bool y
-- depends on SMP && !DEBUG_MUTEXES
-+ depends on SMP && !DEBUG_MUTEXES && !PREEMPT_RT_FULL
+- depends on SMP && !DEBUG_MUTEXES && ARCH_SUPPORTS_ATOMIC_RMW
++ depends on SMP && !DEBUG_MUTEXES && ARCH_SUPPORTS_ATOMIC_RMW && !PREEMPT_RT_FULL
Copied: dists/wheezy-backports/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch (from r21708, dists/sid/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch Thu Aug 21 22:20:32 2014 (r21734, copy of r21708, dists/sid/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch)
@@ -0,0 +1,188 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Fri, 25 Jul 2014 01:16:15 +0100
+Subject: x86: Make x32 syscall support conditional on a kernel parameter
+Bug-Debian: https://bugs.debian.org/708070
+
+Enabling x32 in the standard amd64 kernel would increase its attack
+surface while provide no benefit to the vast majority of its users.
+No-one seems interested in regularly checking for vulnerabilities
+specific to x32 (at least no-one with a white hat).
+
+Still, adding another flavour just to turn on x32 seems wasteful. And
+the only differences on syscall entry are two instructions (mask out
+the x32 flag and compare the syscall number).
+
+So pad the standard comparison with a nop and add a kernel parameter
+"syscall.x32" which controls whether this is replaced with the x32
+version at boot time. Add a Kconfig parameter to set the default.
+
+Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
+---
+ Documentation/kernel-parameters.txt | 4 ++++
+ arch/x86/Kconfig | 8 +++++++
+ arch/x86/include/asm/elf.h | 8 ++++++-
+ arch/x86/kernel/entry_64.S | 36 ++++++++++++++++++++++---------
+ arch/x86/kernel/syscall_64.c | 43 +++++++++++++++++++++++++++++++++++++
+ 5 files changed, 88 insertions(+), 11 deletions(-)
+
+--- a/Documentation/kernel-parameters.txt
++++ b/Documentation/kernel-parameters.txt
+@@ -3132,6 +3132,10 @@ bytes respectively. Such letter suffixes
+
+ switches= [HW,M68k]
+
++ syscall.x32= [KNL,x86_64] Enable/disable use of x32 syscalls on
++ an x86_64 kernel where CONFIG_X86_X32 is enabled.
++ Default depends on CONFIG_X86_X32_DISABLED.
++
+ sysfs.deprecated=0|1 [KNL]
+ Enable/disable old style sysfs layout for old udev
+ on older distributions. When this option is enabled
+--- a/arch/x86/Kconfig
++++ b/arch/x86/Kconfig
+@@ -2384,6 +2384,14 @@ config X86_X32
+ elf32_x86_64 support enabled to compile a kernel with this
+ option set.
+
++config X86_X32_DISABLED
++ bool "x32 ABI disabled by default"
++ depends on X86_X32
++ default n
++ help
++ Disable the x32 ABI unless explicitly enabled using the
++ kernel paramter "syscall.x32=y".
++
+ config COMPAT
+ def_bool y
+ depends on IA32_EMULATION || X86_X32
+--- a/arch/x86/include/asm/elf.h
++++ b/arch/x86/include/asm/elf.h
+@@ -149,6 +149,12 @@ do { \
+
+ #else /* CONFIG_X86_32 */
+
++#ifdef CONFIG_X86_X32_ABI
++extern bool x32_enabled;
++#else
++#define x32_enabled 0
++#endif
++
+ /*
+ * This is used to ensure we don't load something for the wrong architecture.
+ */
+@@ -157,7 +163,7 @@ do { \
+
+ #define compat_elf_check_arch(x) \
+ (elf_check_arch_ia32(x) || \
+- (IS_ENABLED(CONFIG_X86_X32_ABI) && (x)->e_machine == EM_X86_64))
++ (x32_enabled && (x)->e_machine == EM_X86_64))
+
+ #if __USER32_DS != __USER_DS
+ # error "The following code assumes __USER32_DS == __USER_DS"
+--- a/arch/x86/kernel/entry_64.S
++++ b/arch/x86/kernel/entry_64.S
+@@ -621,8 +621,12 @@ system_call_fastpath:
+ #if __SYSCALL_MASK == ~0
+ cmpq $__NR_syscall_max,%rax
+ #else
+- andl $__SYSCALL_MASK,%eax
+- cmpl $__NR_syscall_max,%eax
++ .globl system_call_fast_compare
++ .globl system_call_fast_compare_end
++system_call_fast_compare:
++ cmpq $511,%rax /* x32 syscalls start at 512 */
++ .byte P6_NOP4
++system_call_fast_compare_end:
+ #endif
+ ja badsys
+ movq %r10,%rcx
+@@ -740,8 +744,12 @@ tracesys:
+ #if __SYSCALL_MASK == ~0
+ cmpq $__NR_syscall_max,%rax
+ #else
+- andl $__SYSCALL_MASK,%eax
+- cmpl $__NR_syscall_max,%eax
++ .globl system_call_trace_compare
++ .globl system_call_trace_compare_end
++system_call_trace_compare:
++ cmpq $511,%rax /* x32 syscalls start at 512 */
++ .byte P6_NOP4
++system_call_trace_compare_end:
+ #endif
+ ja int_ret_from_sys_call /* RAX(%rsp) set to -ENOSYS above */
+ movq %r10,%rcx /* fixup for C */
+@@ -813,6 +821,16 @@ int_restore_rest:
+ CFI_ENDPROC
+ END(system_call)
+
++#if __SYSCALL_MASK != ~0
++ /* This replaces the usual comparisons if syscall.x32 is set */
++ .globl system_call_mask_compare
++ .globl system_call_mask_compare_end
++system_call_mask_compare:
++ andl $__SYSCALL_MASK,%eax
++ cmpl $__NR_syscall_max,%eax
++system_call_mask_compare_end:
++#endif
++
+ .macro FORK_LIKE func
+ ENTRY(stub_\func)
+ CFI_STARTPROC
+--- a/arch/x86/kernel/syscall_64.c
++++ b/arch/x86/kernel/syscall_64.c
+@@ -3,8 +3,14 @@
+ #include <linux/linkage.h>
+ #include <linux/sys.h>
+ #include <linux/cache.h>
++#include <linux/moduleparam.h>
++#undef MODULE_PARAM_PREFIX
++#define MODULE_PARAM_PREFIX "syscall."
++#include <linux/bug.h>
++#include <linux/init.h>
+ #include <asm/asm-offsets.h>
+ #include <asm/syscall.h>
++#include <asm/alternative.h>
+
+ #define __SYSCALL_COMMON(nr, sym, compat) __SYSCALL_64(nr, sym, compat)
+
+@@ -30,3 +36,40 @@ asmlinkage const sys_call_ptr_t sys_call
+ [0 ... __NR_syscall_max] = &sys_ni_syscall,
+ #include <asm/syscalls_64.h>
+ };
++
++#ifdef CONFIG_X86_X32_ABI
++
++/* Maybe enable x32 syscalls */
++
++bool x32_enabled = !IS_ENABLED(CONFIG_X86_X32_DISABLED);
++module_param_named(x32, x32_enabled, bool, 0444);
++
++extern char system_call_fast_compare_end[], system_call_fast_compare[],
++ system_call_trace_compare_end[], system_call_trace_compare[],
++ system_call_mask_compare_end[], system_call_mask_compare[];
++
++static int __init x32_enable(void)
++{
++ BUG_ON(system_call_fast_compare_end - system_call_fast_compare != 10);
++ BUG_ON(system_call_trace_compare_end - system_call_trace_compare != 10);
++ BUG_ON(system_call_mask_compare_end - system_call_mask_compare != 10);
++
++ if (x32_enabled) {
++ text_poke_early(system_call_fast_compare,
++ system_call_mask_compare, 10);
++ text_poke_early(system_call_trace_compare,
++ system_call_mask_compare, 10);
++#ifdef CONFIG_X86_X32_DISABLED
++ pr_info("Enabled x32 syscalls\n");
++#endif
++ }
++#ifndef CONFIG_X86_X32_DISABLED
++ else
++ pr_info("Disabled x32 syscalls\n");
++#endif
++
++ return 0;
++}
++late_initcall(x32_enable);
++
++#endif
Modified: dists/wheezy-backports/linux/debian/patches/series
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/series Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/patches/series Thu Aug 21 22:20:32 2014 (r21734)
@@ -63,6 +63,12 @@
bugfix/powerpc/ppc64el-powernv-calls-to-support-little-endian.patch
bugfix/mips/MIPS-SB1-Fix-excessive-kernel-warnings.patch
bugfix/mips/MIPS-ZBOOT-add-missing-linux-string.h-include.patch
+bugfix/mips/MIPS-Fix-branch-emulation-of-branch-likely-instructi.patch
+bugfix/mips/MIPS-ptrace-Avoid-smp_processor_id-in-preemptible-co.patch
+bugfix/mips/MIPS-OCTEON-make-get_system_type-thread-safe.patch
+bugfix/mips/MIPS-O32-32-bit-Fix-bug-which-can-cause-incorrect-sy.patch
+bugfix/mips/MIPS-tlbex-fix-a-missing-statement-for-HUGETLB.patch
+bugfix/mips/MIPS-prevent-user-from-setting-FCSR-cause-bits.patch
debian/btrfs-work-around-compiler-bug-on-arm.patch
# Miscellaneous bug fixes
@@ -70,7 +76,6 @@
bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
bugfix/all/disable-some-marvell-phys.patch
bugfix/all/bluetooth-allocate-static-minor-for-vhci.patch
-bugfix/s390/s390-ptrace-fix-PSW-mask-check.patch
# Miscellaneous features
features/all/x86-memtest-WARN-if-bad-RAM-found.patch
@@ -86,8 +91,6 @@
features/arm/PHY-sunxi-Add-driver-for-sunxi-usb-phy.patch
features/arm/ARM-sun4i-dt-Add-bindings-for-USB-clocks.patch
features/arm/ARM-sun4i-dt-Add-USB-host-bindings.patch
-bugfix/mips/MIPS-Fix-branch-emulation-of-branch-likely-instructi.patch
-bugfix/all/shmem-fix-faulting-into-a-hole-while-it-s-punched.patch
bugfix/all/net-l2tp-don-t-fall-back-on-UDP-get-set-sockopt.patch
features/mips/0001-MIPS-Loongson-Rename-PRID_IMP_LOONGSON1-and-PRID_IMP.patch
features/mips/0002-MIPS-Loongson-Add-basic-Loongson-3-definition.patch
@@ -111,3 +114,9 @@
features/mips/MIPS-Malta-hang-on-halt.patch
features/mips/MIPS-Malta-support-powering-down.patch
features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch
+bugfix/x86/x86-reject-x32-executables-if-x32-abi-not-supported.patch
+features/x86/x86-make-x32-syscall-support-conditional.patch
+bugfix/s390/s390-3215-fix-hanging-console-issue.patch
+debian/libata-avoid-abi-change-in-3.14.15.patch
+debian/mutex-avoid-abi-change-in-3.14.14.patch
+bugfix/all/net-sctp-inherit-auth_capable-on-INIT-collisions.patch
Modified: dists/wheezy-backports/linux/debian/templates/image.plain.postinst.in
==============================================================================
--- dists/wheezy-backports/linux/debian/templates/image.plain.postinst.in Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/templates/image.plain.postinst.in Thu Aug 21 22:20:32 2014 (r21734)
@@ -5,7 +5,6 @@
use Cwd 'abs_path';
use Debconf::Client::ConfModule qw(:all);
use POSIX ();
-use File::stat;
version('2.0');
my $capb = capb('backup', 'escape');
@@ -552,9 +551,9 @@
# of / are the same as that of /sbin/init. This may fail if not running as
# root or if /proc is not mounted, in which case 2 is returned.
sub detect_chroot {
- my $st1 = stat("/") or return 2;
- my $st2 = stat("/proc/1/root") or return 2;
- return ($st1->dev != $st2->dev) || ($st1->ino != $st2->ino);
+ my ($dev1, $ino1) = stat("/") or return 2;
+ my ($dev2, $ino2) = stat("/proc/1/root") or return 2;
+ return ($dev1 != $dev2) || ($ino1 != $ino2);
}
sub is_package_installed {
Modified: dists/wheezy-backports/linux/debian/templates/po/de.po
==============================================================================
--- dists/wheezy-backports/linux/debian/templates/po/de.po Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/templates/po/de.po Thu Aug 21 22:20:32 2014 (r21734)
@@ -1,20 +1,21 @@
# Translation of linux templates to german.
-# Copyright (C) 2010 Holger Wansing.
+# Copyright (C) 2010-2014 Holger Wansing.
# This file is distributed under the same license as the linux package.
-# Holger Wansing <linux at wansing-online.de>, 2010, 2011.
-#
+# Holger Wansing <hwansing at mailbox.org>, 2010, 2011, 2014.
msgid ""
msgstr ""
-"Project-Id-Version: linux-2.6 3.0.0-3\n"
+"Project-Id-Version: linux 3.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-20 22:37+0200\n"
-"PO-Revision-Date: 2011-09-13 20:41+0200\n"
-"Last-Translator: Holger Wansing <linux at wansing-online.de>\n"
-"Language-Team: Debian German <debian-l10n-german at lists.debian.org>\n"
+"PO-Revision-Date: 2014-07-25 23:06+0200\n"
+"Last-Translator: Holger Wansing <hwansing at mailbox.org>\n"
+"Language-Team: debian-l10n-german at lists.debian.org\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.7.1\n"
#. Type: boolean
#. Description
@@ -39,7 +40,7 @@
"Since this image uses initrd, the ${modules_base}/@abiname@@localversion@/"
"modules.dep file will not be deleted, even though it may be invalid."
msgstr ""
-"Da dieses Image eine initrd verwendet, wird die Datei ${modules_base}/"
+"Da dieses Image eine Initrd verwendet, wird die Datei ${modules_base}/"
"@abiname@@localversion@/modules.dep nicht gelöscht, obwohl sie ungültig sein "
"könnte."
@@ -52,9 +53,9 @@
"abort the installation, there is a danger that the system will fail to boot."
msgstr ""
"Sie sollten die Installation abbrechen und die Fehler bezüglich depmod "
-"beheben, oder erstellen Sie das initrd-Image neu mit einer bekanntermaßen "
+"beheben, oder erstellen Sie das Initrd-Image neu mit einer bekanntermaßen "
"korrekten modules.dep-Datei. Falls Sie die Installation nicht abbrechen, "
-"besteht die Gefahr, dass das System nicht mehr neu starten kann."
+"besteht die Gefahr, dass das System nicht mehr neu gestartet werden kann."
#. Type: boolean
#. Description
@@ -84,7 +85,7 @@
"Das kann dazu führen, dass das System nicht mehr startfähig ist, da dadurch /"
"boot/vmlinuz-${running} und alle Module unterhalb des Verzeichnisses /lib/"
"modules/${running} entfernt werden. Dies kann nur mit einer Kopie des Kernel-"
-"Images und der dazugehörigen Module behoben werden."
+"Images und den dazugehörigen Modulen behoben werden."
#. Type: boolean
#. Description
@@ -93,15 +94,16 @@
"It is highly recommended to abort the kernel removal unless you are prepared "
"to fix the system after removal."
msgstr ""
-"Es wird dringend empfohlen, das Entfernen des Kernels abzubrechen, "
-"ausgenommen Sie sind darauf vorbereitet, das System nach der Entfernung "
-"wieder instandzusetzen."
+"Es wird dringend empfohlen, das Entfernen des Kernels abzubrechen, außer Sie "
+"sind darauf vorbereitet, das System nach der Entfernung wieder "
+"instandzusetzen."
#. Type: note
#. Description
#: ../image.plain.templates.in:4001
msgid "Boot loader configuration must be updated to load initramfs"
msgstr ""
+"Bootloader-Konfiguration muss aktualisiert werden, um initramfs zu laden"
#. Type: note
#. Description
@@ -113,6 +115,12 @@
"flexible boot process, and future kernel versions may require a "
"corresponding initrd.img to boot."
msgstr ""
+"Dieses Kernel-Paket wird eine »initramfs«-Datei (/boot/initrd.img-"
+"@abiname@@localversion@) erstellen, die vom Bootloader des Systems "
+"zusätzlich zum Kernel selbst verwendet wird. Diese Methode, früher auf MIPS "
+"nicht unterstützt, ermöglicht einen viel flexibleren Boot-Prozess und "
+"spätere Kernel-Versionen könnten eine passende initrd.img zum Booten "
+"voraussetzen."
#. Type: note
#. Description
@@ -124,3 +132,8 @@
"accomplished by using the initrd.img symbolic link maintained by the kernel "
"package."
msgstr ""
+"Der aktuell laufende Kernel wurde ohne eine initramfs gebootet. Sie sollten "
+"den Bootloader neu konfigurieren, so dass er die initramfs für Linux Version "
+"@abiname@ und jede spätere Version laden kann. Dies ist über die Verwendung "
+"des symbolischen Links für initrd.img aus dem Kernel-Paket unter Umständen "
+"am einfachsten möglich."
Modified: dists/wheezy-backports/linux/debian/templates/po/fr.po
==============================================================================
--- dists/wheezy-backports/linux/debian/templates/po/fr.po Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/templates/po/fr.po Thu Aug 21 22:20:32 2014 (r21734)
@@ -1,21 +1,21 @@
# Translation of linux debconf templates to French
-# Copyright (C) 2010, 2011 Debian French l10n team <debian-l10n-french at lists.debian.org>
+# Copyright (C) 2010, 2011, 2014 Debian French l10n team <debian-l10n-french at lists.debian.org>
# This file is distributed under the same license as the linux package.
#
-# David Prévot <david at tilapin.org>, 2010, 2011.
+# David Prévot <david at tilapin.org>, 2010, 2011, 2014.
msgid ""
msgstr ""
-"Project-Id-Version: linux-2.6 2.6.39-1\n"
+"Project-Id-Version: linux 3.14.13-2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-20 22:37+0200\n"
-"PO-Revision-Date: 2011-05-22 08:48-0400\n"
+"PO-Revision-Date: 2014-07-27 13:57+0200\n"
"Last-Translator: David Prévot <david at tilapin.org>\n"
"Language-Team: French <debian-l10n-french at lists.debian.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.0\n"
+"X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. Type: boolean
@@ -31,7 +31,7 @@
"The 'depmod' command exited with the exit code ${exit_value} "
"(${SIGNAL}${CORE})."
msgstr ""
-"La commande depmod s'est terminée avec le code de retour ${exit_value} "
+"La commande depmod s’est terminée avec le code de retour ${exit_value} "
"(${SIGNAL} ${CORE})."
#. Type: boolean
@@ -53,9 +53,9 @@
"regenerate the initrd image with a known good modules.dep file. If you don't "
"abort the installation, there is a danger that the system will fail to boot."
msgstr ""
-"Vous devriez abandonner l'installation et corriger les erreurs de dépendance "
+"Vous devriez abandonner l’installation et corriger les erreurs de dépendance "
"entre les modules du noyau (depmod), ou créer une nouvelle image initrd avec "
-"un fichier modules.dep valable. Si vous n'annulez pas l'installation, le "
+"un fichier modules.dep valable. Si vous n’annulez pas l’installation, le "
"système risque de ne pas redémarrer correctement."
#. Type: boolean
@@ -95,14 +95,16 @@
"It is highly recommended to abort the kernel removal unless you are prepared "
"to fix the system after removal."
msgstr ""
-"Il est fortement recommandé d'interrompre la suppression du noyau à moins "
-"d'être ensuite prêt à réparer le système."
+"Interrompre la suppression du noyau est fortement recommandé à moins d’être "
+"ensuite capable de réparer le système."
#. Type: note
#. Description
#: ../image.plain.templates.in:4001
msgid "Boot loader configuration must be updated to load initramfs"
msgstr ""
+"La configuration du chargeur de démarrage doit être mise à jour pour charger "
+"le système de fichiers initial en mémoire"
#. Type: note
#. Description
@@ -114,6 +116,12 @@
"flexible boot process, and future kernel versions may require a "
"corresponding initrd.img to boot."
msgstr ""
+"Ce paquet de noyau construira un système de fichiers initial en mémoire "
+"(fichier « initramfs » : /boot/initrd.img- at abiname@@localversion@) pour que "
+"le chargeur de démarrage du système puisse l’utiliser en plus du noyau lui-"
+"même. Cette méthode, jusqu’alors non prise en charge sous MIPS, active un "
+"processus de démarrage plus flexible et les prochaines versions de noyau "
+"pourraient nécessiter un initrd.img pour démarrer."
#. Type: note
#. Description
@@ -125,3 +133,8 @@
"accomplished by using the initrd.img symbolic link maintained by the kernel "
"package."
msgstr ""
+"Le noyau actuel a été démarré sans système de fichiers initial en mémoire. "
+"Vous devriez reconfigurer le système de démarrage pour charger le système de "
+"fichiers initial en mémoire pour la version @abiname@ de Linux et toutes les "
+"versions suivantes. Le plus simple est probablement d’utiliser le lien "
+"symbolique initrd.img maintenu par le paquet du noyau."
Modified: dists/wheezy-backports/linux/debian/templates/po/ja.po
==============================================================================
--- dists/wheezy-backports/linux/debian/templates/po/ja.po Thu Aug 21 22:05:41 2014 (r21733)
+++ dists/wheezy-backports/linux/debian/templates/po/ja.po Thu Aug 21 22:20:32 2014 (r21734)
@@ -8,8 +8,8 @@
"Project-Id-Version: linux\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-20 22:37+0200\n"
-"PO-Revision-Date: 2013-08-15 13:21+0200\n"
-"Last-Translator: Nobuhiro Iwamatsu <iwamatsu at debian.org>\n"
+"PO-Revision-Date: 2014-08-03 17:18+0200\n"
+"Last-Translator: Victory <victory.deb at gmail.com>\n"
"Language-Team: Japanese <debian-japanese at lists.debian.org>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
@@ -101,7 +101,7 @@
#. Description
#: ../image.plain.templates.in:4001
msgid "Boot loader configuration must be updated to load initramfs"
-msgstr ""
+msgstr "initramfs をロードするためにはブートローダ設定を更新する必要があります"
#. Type: note
#. Description
@@ -113,6 +113,11 @@
"flexible boot process, and future kernel versions may require a "
"corresponding initrd.img to boot."
msgstr ""
+"このカーネルパッケージはカーネル自体に加え、システムのブートローダで利用する"
+"「initramfs」ファイル (/boot/initrd.img- at abiname@@localversion@) をビルドしま"
+"す。MIPS では以前サポートされていなかったこの方法によってブートプロセスをより"
+"柔軟にできるようになり、将来のバージョンのカーネルではブートするために対応す"
+"る initrd.img が必要となるかもしれません。"
#. Type: note
#. Description
@@ -124,3 +129,8 @@
"accomplished by using the initrd.img symbolic link maintained by the kernel "
"package."
msgstr ""
+"現在実行中のカーネルは initramfs を使わずにブートされています。Linux バー"
+"ジョン @abiname@ 及び以後の各バージョンで専用の initramfs をロードするために"
+"ブートローダを再設定する必要があります。恐らくこれを最も簡単に実現できるのは"
+"カーネルパッケージにより保守される initrd.img シンボリックリンクを利用する方"
+"法です。"
More information about the Kernel-svn-changes
mailing list