diff options
Diffstat (limited to 'libre')
-rwxr-xr-x | libre/linux-libre/PKGBUILD | 13 | ||||
-rw-r--r-- | libre/linux-libre/irq_cfg_pointer-3.6.6.patch | 16 | ||||
-rwxr-xr-x | libre/linux-libre/linux-libre.install | 2 |
3 files changed, 26 insertions, 5 deletions
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 65086e3e8..7f9cb69cb 100755 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -10,10 +10,10 @@ pkgbase=linux-libre # Build stock -LIBRE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.6 -_sublevel=6 +_sublevel=7 pkgver=${_basekernel}.${_sublevel} 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') @@ -31,9 +31,10 @@ 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' + 'a4e642180c7d757a642175fe32e4a264' 'e4a3a4677e1fac6ecf0e0fb44c41ca08' '68fc36a4efb6ade0eca409b9444fef0c' 'e49ac236dfeef709f91a3d993ea7b62c' @@ -43,7 +44,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] @@ -73,6 +75,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|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ diff --git a/libre/linux-libre/irq_cfg_pointer-3.6.6.patch b/libre/linux-libre/irq_cfg_pointer-3.6.6.patch new file mode 100644 index 000000000..32583c0ac --- /dev/null +++ b/libre/linux-libre/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/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install index 8a3791240..f5c51e08f 100755 --- a/libre/linux-libre/linux-libre.install +++ b/libre/linux-libre/linux-libre.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.6.6-1-LIBRE +KERNEL_VERSION=3.6.7-1-LIBRE # 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' |