summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-rt
diff options
context:
space:
mode:
Diffstat (limited to 'kernels/linux-libre-rt')
-rwxr-xr-xkernels/linux-libre-rt/PKGBUILD17
-rw-r--r--kernels/linux-libre-rt/irq_cfg_pointer-3.6.6.patch16
-rwxr-xr-xkernels/linux-libre-rt/linux-libre-rt.install2
3 files changed, 28 insertions, 7 deletions
diff --git a/kernels/linux-libre-rt/PKGBUILD b/kernels/linux-libre-rt/PKGBUILD
index 30361d313..32a69fba2 100755
--- a/kernels/linux-libre-rt/PKGBUILD
+++ b/kernels/linux-libre-rt/PKGBUILD
@@ -11,12 +11,12 @@
pkgbase=linux-libre-rt # Build stock -LIBRE-RT kernel
#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.6
-_releasever=6
-_rtpatchver=rt17
+_releasever=7
+_rtpatchver=rt18
_pkgver=${_basekernel}.${_releasever}
pkgver=${_basekernel}.${_releasever}_${_rtpatchver}
pkgrel=1
-_lxopkgver=${_basekernel}.6 # nearly always the same as pkgver
+_lxopkgver=${_basekernel}.7 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -35,10 +35,11 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'change-default-console-loglevel.patch'
'module-symbol-waiting-3.6.patch'
'module-init-wait-3.6.patch'
+ 'irq_cfg_pointer-3.6.6.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
md5sums=('a2312edd0265b5b07bd4b50afae2b380'
- '887e4a0fd0fb10da9410f5d1a75466b8'
- '20cd3b6ed53047a633d1e2b1ba32973e'
+ 'a4e642180c7d757a642175fe32e4a264'
+ '01f97c0630de43763699d580f48e1c74'
'11161582d9050710ccfecbe077fc5a63'
'ac8f20b0cd83acb9525b5557e1fafeaf'
'82496e68851d1960543a07ba51cdb44a'
@@ -48,7 +49,8 @@ md5sums=('a2312edd0265b5b07bd4b50afae2b380'
'9d3c56a4b999c8bfbd4018089a62f662'
'670931649c60fcb3ef2e0119ed532bd4'
'8a71abc4224f575008f974a099b5cf6f'
- 'a281ee5d89a016d72840bddb2d742635')
+ '4909a0271af4e5f373136b382826717f'
+ '1dd80f353c705fef988346a8ef05d13f')
if [ "$CARCH" != "mips64el" ]; then
# Don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
@@ -81,6 +83,9 @@ build() {
patch -Np1 -i "${srcdir}/module-symbol-waiting-3.6.patch"
patch -Np1 -i "${srcdir}/module-init-wait-3.6.patch"
+ # fix FS#32615 - Check for valid irq_cfg pointer in smp_irq_move_cleanup_interrupt
+ patch -Np1 -i "${srcdir}/irq_cfg_pointer-3.6.6.patch"
+
if [ "$CARCH" == "mips64el" ]; then
sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-rt|" Makefile
sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \
diff --git a/kernels/linux-libre-rt/irq_cfg_pointer-3.6.6.patch b/kernels/linux-libre-rt/irq_cfg_pointer-3.6.6.patch
new file mode 100644
index 000000000..32583c0ac
--- /dev/null
+++ b/kernels/linux-libre-rt/irq_cfg_pointer-3.6.6.patch
@@ -0,0 +1,16 @@
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git;a=blobdiff_plain;f=arch%2Fx86%2Fkernel%2Fapic%2Fio_apic.c;h=1817fa911024f07151d3edf91bd350722c9f79f8;hp=c265593ec2cdc3df35fda1586aaf91514fab62fa;hb=94777fc51b3ad85ff9f705ddf7cdd0eb3bbad5a6;hpb=3e8fa263a97079c74880675c451587bb6899e661
+
+diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
+index c265593..1817fa9 100644
+--- a/arch/x86/kernel/apic/io_apic.c
++++ b/arch/x86/kernel/apic/io_apic.c
+@@ -2257,6 +2257,9 @@ asmlinkage void smp_irq_move_cleanup_interrupt(void)
+ continue;
+
+ cfg = irq_cfg(irq);
++ if (!cfg)
++ continue;
++
+ raw_spin_lock(&desc->lock);
+
+ /*
diff --git a/kernels/linux-libre-rt/linux-libre-rt.install b/kernels/linux-libre-rt/linux-libre-rt.install
index c7a44aeee..7925ec89c 100755
--- a/kernels/linux-libre-rt/linux-libre-rt.install
+++ b/kernels/linux-libre-rt/linux-libre-rt.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-rt
-KERNEL_VERSION=3.6.6-1-rt17-LIBRE-RT
+KERNEL_VERSION=3.6.7-1-rt18-LIBRE-RT
# set a sane PATH to ensure that critical utils like depmod will be found
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'