diff options
Diffstat (limited to 'kernels/linux-libre-rt')
-rwxr-xr-x | kernels/linux-libre-rt/PKGBUILD | 17 | ||||
-rw-r--r-- | kernels/linux-libre-rt/irq_cfg_pointer-3.6.6.patch | 16 | ||||
-rwxr-xr-x | kernels/linux-libre-rt/linux-libre-rt.install | 2 |
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' |