Merge pending changes from sid

svn path=/dists/trunk/linux/; revision=21736
This commit is contained in:
Ben Hutchings 2014-08-24 00:45:55 +00:00
commit 7e180f1530
5 changed files with 89 additions and 12 deletions

View File

@ -51,8 +51,8 @@ if [ "$(base_version "$new_ver")" != "$(base_version "$cur_ver")" ]; then
fi
case "$cur_pkg_ver" in
*~experimental*)
new_pkg_ver="$new_ver-1~experimental.1"
*~exp*)
new_pkg_ver="$new_ver-1~exp1"
;;
*)
new_pkg_ver="$new_ver-1"

5
debian/changelog vendored
View File

@ -9,6 +9,11 @@ linux (3.16.1-1~exp1) UNRELEASED; urgency=medium
[ Vagrant Cascadian ]
* [armmp] Enable IMX_IPUV3_CORE (closes: #756810).
[ Aurelien Jarno ]
* [mips*] Fix FP emulation for unaligned accesses.
* Update Spanish debconf template translations (Matias A. Bellone)
(Closes: #758591).
-- Ben Hutchings <ben@decadent.org.uk> Tue, 12 Aug 2014 02:58:45 +0100
linux (3.16-1~exp1) experimental; urgency=medium

View File

@ -0,0 +1,63 @@
From: Huacai Chen <chenhc@lemote.com>
Date: Wed, 16 Jul 2014 09:19:16 +0800
Subject: MIPS: Remove BUG_ON(!is_fpu_owner()) in do_ade()
Origin: https://git.kernel.org/linus/2e5767a27337812f6850b3fa362419e2f085e5c3
In do_ade(), is_fpu_owner() isn't preempt-safe. For example, when an
unaligned ldc1 is executed, do_cpu() is called and then FPU will be
enabled (and TIF_USEDFPU will be set for the current process). Then,
do_ade() is called because the access is unaligned. If the current
process is preempted at this time, TIF_USEDFPU will be cleard. So when
the process is scheduled again, BUG_ON(!is_fpu_owner()) is triggered.
This small program can trigger this BUG in a preemptible kernel:
int main (int argc, char *argv[])
{
double u64[2];
while (1) {
asm volatile (
".set push \n\t"
".set noreorder \n\t"
"ldc1 $f3, 4(%0) \n\t"
".set pop \n\t"
::"r"(u64):
);
}
return 0;
}
V2: Remove the BUG_ON() unconditionally due to Paul's suggestion.
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Jie Chen <chenj@lemote.com>
Signed-off-by: Rui Wang <wangr@lemote.com>
Cc: <stable@vger.kernel.org>
Cc: John Crispin <john@phrozen.org>
Cc: Steven J. Hill <Steven.Hill@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
---
arch/mips/kernel/unaligned.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c
index 2b35172..e11906d 100644
--- a/arch/mips/kernel/unaligned.c
+++ b/arch/mips/kernel/unaligned.c
@@ -690,7 +690,6 @@ static void emulate_load_store_insn(struct pt_regs *regs,
case sdc1_op:
die_if_kernel("Unaligned FP access in kernel code", regs);
BUG_ON(!used_math());
- BUG_ON(!is_fpu_owner());
lose_fpu(1); /* Save FPU state for the emulator. */
res = fpu_emulator_cop1Handler(regs, &current->thread.fpu, 1,
--
1.7.10.4

View File

@ -59,6 +59,7 @@ 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
bugfix/mips/MIPS-Remove-BUG_ON-is_fpu_owner-in-do_ade.patch
# Miscellaneous bug fixes
bugfix/all/misc-bmp085-Enable-building-as-a-module.patch

View File

@ -3,10 +3,11 @@
#
# Changes:
# - Initial translation
# Omar Campagne <ocampagne@gmail.com> 2010, 2011
# Omar Campagne <ocampagne@gmail.com> 2010, 2011
#
# - Review and update
# Javier Fernandez-Sanguino, December 2010
# Javier Fernandez-Sanguino, December 2010
# Matías Bellone <matiasbellone+debian@gmail.com>, 2014
#
# Traductores, si no conocen el formato PO, merece la pena leer la
# documentación de gettext, especialmente las secciones dedicadas a este
@ -31,19 +32,14 @@ msgstr ""
"Project-Id-Version: linux-2.6 2.6.32+5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-20 22:37+0200\n"
"PO-Revision-Date: 2011-07-16 17:59+0200\n"
"Last-Translator: Omar Campagne <ocampagne@gmail.com>\n"
"PO-Revision-Date: 2014-07-24 17:59-0300\n"
"Last-Translator: Matías Bellone <matiasbellone+debian@gmail.com>\n"
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
"Language: es\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.6.1\n"
"X-POFile-SpellExtra: initrd postinsthook conf lib contrib yes IDE depmod\n"
"X-POFile-SpellExtra: runningversion img script boot Free exitvalue version\n"
"X-POFile-SpellExtra: Debian CORE free running dobootloader UUID dep SIGNAL\n"
"X-POFile-SpellExtra: Guidelines modulesbase vmlinuz postinst\n"
#. Type: boolean
#. Description
@ -113,7 +109,7 @@ msgid ""
msgstr ""
"Puede que el sistema no pueda arrancar posteriormente, ya que eliminaría «/"
"boot/vmlinuz-${running}» y todos los módulos en el directorio «/lib/modules/"
"${running}». Esto sólo se puede arreglar esto con una copia de la imagen del "
"${running}». Esto sólo se puede arreglar con una copia de la imagen del "
"núcleo y los correspondientes módulos."
#. Type: boolean
@ -131,6 +127,8 @@ msgstr ""
#: ../image.plain.templates.in:4001
msgid "Boot loader configuration must be updated to load initramfs"
msgstr ""
"Se debe actualizar la configuración del gestor de arranque para cargar "
"la imagen initramfs"
#. Type: note
#. Description
@ -142,6 +140,11 @@ msgid ""
"flexible boot process, and future kernel versions may require a "
"corresponding initrd.img to boot."
msgstr ""
"Además del núcleo en sí, este paquete generará un fichero «initramfs» "
"(«/boot/initrd.img-@abiname@@localversion@») para que utilice el gestor de "
"arranque del sistema. Este método, que no era compatible con MIPS, permite "
"un arranque más flexible y futuras versiones del núcleo podrían requerir "
"un fichero «initrd.img» correspondiente para iniciar."
#. Type: note
#. Description
@ -153,3 +156,8 @@ msgid ""
"accomplished by using the initrd.img symbolic link maintained by the kernel "
"package."
msgstr ""
"El núcleo que está ejecutando actualmente inició sin un fichero «initramfs». "
"Debería reconfigurar el gestor de arranque para cargar el fichero "
"«initramfs» de la versión de Linux @abiname@ y las versiones posteriores. "
"Probablemente, la forma más sencilla de conseguirlo es utilizar el enlace "
"simbólico «initrd.img» provisto por el paquete del núcleo."