diff options
Diffstat (limited to 'libre/linux-libre')
-rw-r--r-- | libre/linux-libre/0011-kernfs-fix-removed-error-check.patch | 13 | ||||
-rw-r--r-- | libre/linux-libre/0012-fix-saa7134.patch | 37 | ||||
-rw-r--r-- | libre/linux-libre/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch | 13 | ||||
-rw-r--r-- | libre/linux-libre/0015-fix-xsdt-validation.patch | 42 | ||||
-rw-r--r-- | libre/linux-libre/PKGBUILD | 76 | ||||
-rw-r--r-- | libre/linux-libre/config.i686 | 9 | ||||
-rw-r--r-- | libre/linux-libre/config.x86_64 | 9 |
7 files changed, 163 insertions, 36 deletions
diff --git a/libre/linux-libre/0011-kernfs-fix-removed-error-check.patch b/libre/linux-libre/0011-kernfs-fix-removed-error-check.patch new file mode 100644 index 000000000..b597595c6 --- /dev/null +++ b/libre/linux-libre/0011-kernfs-fix-removed-error-check.patch @@ -0,0 +1,13 @@ +diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c +index 8034706..e01ea4a 100644 +--- a/fs/kernfs/file.c ++++ b/fs/kernfs/file.c +@@ -484,6 +484,8 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) + + ops = kernfs_ops(of->kn); + rc = ops->mmap(of, vma); ++ if (rc) ++ goto out_put; + + /* + * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup() diff --git a/libre/linux-libre/0012-fix-saa7134.patch b/libre/linux-libre/0012-fix-saa7134.patch new file mode 100644 index 000000000..070fbc8eb --- /dev/null +++ b/libre/linux-libre/0012-fix-saa7134.patch @@ -0,0 +1,37 @@ +--- a/drivers/media/pci/saa7134/saa7134-video.c ++++ a/drivers/media/pci/saa7134/saa7134-video.c +@@ -1243,6 +1243,7 @@ static int video_release(struct file *file) + videobuf_streamoff(&dev->cap); + res_free(dev, fh, RESOURCE_VIDEO); + videobuf_mmap_free(&dev->cap); ++ INIT_LIST_HEAD(&dev->cap.stream); + } + if (dev->cap.read_buf) { + buffer_release(&dev->cap, dev->cap.read_buf); +@@ -1254,6 +1255,7 @@ static int video_release(struct file *file) + videobuf_stop(&dev->vbi); + res_free(dev, fh, RESOURCE_VBI); + videobuf_mmap_free(&dev->vbi); ++ INIT_LIST_HEAD(&dev->vbi.stream); + } + + /* ts-capture will not work in planar mode, so turn it off Hac: 04.05*/ +@@ -1987,17 +1989,12 @@ int saa7134_streamoff(struct file *file, void *priv, + enum v4l2_buf_type type) + { + struct saa7134_dev *dev = video_drvdata(file); +- int err; + int res = saa7134_resource(file); + + if (res != RESOURCE_EMPRESS) + pm_qos_remove_request(&dev->qos_request); + +- err = videobuf_streamoff(saa7134_queue(file)); +- if (err < 0) +- return err; +- res_free(dev, priv, res); +- return 0; ++ return videobuf_streamoff(saa7134_queue(file)); + } + EXPORT_SYMBOL_GPL(saa7134_streamoff); + diff --git a/libre/linux-libre/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch b/libre/linux-libre/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch new file mode 100644 index 000000000..2840f190c --- /dev/null +++ b/libre/linux-libre/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch @@ -0,0 +1,13 @@ +diff --git a/net/core/dev.c b/net/core/dev.c +index 45fa2f1..6088927 100644 +--- a/net/core/dev.c ++++ b/net/core/dev.c +@@ -2289,7 +2289,7 @@ EXPORT_SYMBOL(skb_checksum_help); + __be16 skb_network_protocol(struct sk_buff *skb, int *depth) + { + __be16 type = skb->protocol; +- int vlan_depth = ETH_HLEN; ++ int vlan_depth = skb->mac_len; + + /* Tunnel gso handlers can set protocol to ethernet. */ + if (type == htons(ETH_P_TEB)) { diff --git a/libre/linux-libre/0015-fix-xsdt-validation.patch b/libre/linux-libre/0015-fix-xsdt-validation.patch new file mode 100644 index 000000000..82dd2be25 --- /dev/null +++ b/libre/linux-libre/0015-fix-xsdt-validation.patch @@ -0,0 +1,42 @@ +@@ -, +, @@ + acpi_tb_parse_root_table(). + Commit: 671cc68dc61f029d44b43a681356078e02d8dab8 + Subject: ACPICA: Back port and refine validation of the XSDT root table. +--- + drivers/acpi/acpica/tbutils.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) +--- a/drivers/acpi/acpica/tbutils.c ++++ a/drivers/acpi/acpica/tbutils.c +@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + u32 table_count; + struct acpi_table_header *table; + acpi_physical_address address; ++ acpi_physical_address rsdt_address; + u32 length; + u8 *table_entry; + acpi_status status; +@@ -488,11 +489,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + * as per the ACPI specification. + */ + address = (acpi_physical_address) rsdp->xsdt_physical_address; ++ rsdt_address = (acpi_physical_address) rsdp->rsdt_physical_address; + table_entry_size = ACPI_XSDT_ENTRY_SIZE; + } else { + /* Root table is an RSDT (32-bit physical addresses) */ + + address = (acpi_physical_address) rsdp->rsdt_physical_address; ++ rsdt_address = address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + +@@ -515,8 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + + /* Fall back to the RSDT */ + +- address = +- (acpi_physical_address) rsdp->rsdt_physical_address; ++ address = rsdt_address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + } + diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index bfeda0206..db1d1c223 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 210383 2014-04-14 19:13:09Z tpowa $ +# $Id: PKGBUILD 212093 2014-05-06 20:49:41Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> @@ -10,10 +10,10 @@ pkgbase=linux-libre # Build stock -LIBRE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -_sublevel=1 +_sublevel=3 pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.0 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.3 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -35,31 +35,37 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0004-fs-Don-t-return-0-from-get_anon_bdev.patch' '0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch' '0006-genksyms-fix-typeof-handling.patch' - '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' + '0011-kernfs-fix-removed-error-check.patch' + '0012-fix-saa7134.patch' + '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' + '0015-fix-xsdt-validation.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") -md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' - '2b4862b3c76011e66e536f18fbf0fb27' - '13ee684b40757b16beae1f0192fd6003' - '43355af4f467ca93a0bc5f7209fc4810' - 'e49ac236dfeef709f91a3d993ea7b62c' - '2967cecc3af9f954ccc822fd63dca6ff' - '8267264d9a8966e57fdacd1fa1fc65c4' - '44260d2cb1a8b51c119d2ce1f83e457a' - '98beb36f9b8cf16e58de2483ea9985e3' - '6839ddec74a5300beff1709a81b0e4f3' - '706549e8a05f33f7fc697f28c0ca71d2' - 'd23fc66be93ebce698bd7da844789de1' - 'b240cc8ebb4b5d74e94b4c72d033f726' - 'a89d593774ccb955eb8368d3bc87ce26' - '16a161979f846b049e90daea907c35dd' - '00727251b0d337a25d3ca392218afdf4' - '353b553d69da810ef954618aca60e1e2' - '385f03abf27baa73731d27721eafd1c1') +sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' + 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' + '71891ae6903598f4686e86fdb0d371ff9e179e8dac1d2cf60ca16c5190916745' + 'fca0060bde385e2c292489087af0aa5f48da594221a6d162fc6f8ba2159571e8' + 'dfe01c93d83cdac9ca502715ceb6ac9502d327c939fec2e3052a5a58422dc176' + 'c5451d5e1eafc4f8d28b1a2958ec3102c124433a414a86450fc32058e004156b' + '55bf07738a3286168a7929ae16dbca29defd14e77b9d24c487ae4c3d12bb9eb9' + '8303b426b1a6dce456b2350003558ae312d21cab0ae6c1f0d7b9d21395f4e177' + 'faced4eb4c47c4eb1a9ee8a5bf8a7c4b49d6b4d78efbe426e410730e6267d182' + '6d72e14552df59e6310f16c176806c408355951724cd5b48a47bf01591b8be02' + '52dec83a8805a8642d74d764494acda863e0aa23e3d249e80d4b457e20a3fd29' + '65d58f63215ee3c5f9c4fc6bce36fc5311a6c7dbdbe1ad29de40647b47ff9c0d' + '1e1ae0f31f722e80da083ecada1f1be57f9ddad133941820c4483b0240e494c1' + '3fffb01cf97a5a7ab9601cb277d2468c0fb1e1cceba4225915f3ffae3a5694ec' + 'cf2e7a2d00787f754028e7459688c2755a406e632ce48b60952fa4ff7ed6f4b7' + 'c0af4622f75c89fef62183e18b7d49998228d4eaa906c6accaf4aa4ff0134f85' + '04f44bf5c181d6dc31905937c1bdccb0f5aecaad3a579e99b302502b9cbe0f7a' + '79359454c9d8446eb55add2b1cdbf8332bd67dafb01fefb5b1ca090225f64d18' + 'f2a5e22c1ba6e9b8a32a7bd4a5327ee95538aa10edcee3cd12578f8ff49bf6be' + '384dd13fd4248fd6809da8c6ae29ced55d4a5cacc33ac2ae7522093ec0fb26d4' + '43d975e9c9c68de131005a87c3c755fadef1eaed6c551bcafd08f2746f9d71fd') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] - unset md5sums[${#md5sums[@]}-1] + unset sha256sums[${#sha256sums[@]}-1] fi _kernelname=${pkgbase#linux-libre} @@ -103,14 +109,28 @@ prepare() { # http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dc53324060f324e8af6867f57bf4891c13c6ef18 patch -p1 -i "${srcdir}/0006-genksyms-fix-typeof-handling.patch" - # Fix the use of code32_start in the EFI boot stub - # http://permalink.gmane.org/gmane.linux.kernel/1679881 - # https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=urgent&id=7e8213c1f3acc064aef37813a39f13cbfe7c3ce7 - patch -p1 -i "${srcdir}/0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch" - # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=12f853a89e29f50b17698e17e73c328a35f1498d # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" + + # fix Xorg crash with i810 chipset due to wrong removed error check + # References: http://lkml.kernel.org/g/533D01BD.1010200@googlemail.com + patch -Np1 -i "${srcdir}/0011-kernfs-fix-removed-error-check.patch" + + # fix saa7134 video + # https://bugs.archlinux.org/task/39904 + # https://bugzilla.kernel.org/show_bug.cgi?id=73361 + patch -Np1 -i "${srcdir}/0012-fix-saa7134.patch" + + # fix tun/openvpn performance + # https://bugs.archlinux.org/task/40089 + # https://bugzilla.kernel.org/show_bug.cgi?id=74051 + patch -Np1 -i "${srcdir}/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch" + + # fix xsdt validation bug + # https://bugs.archlinux.org/task/39811 + # https://bugzilla.kernel.org/show_bug.cgi?id=73911 + patch -Np1 -i "${srcdir}/0015-fix-xsdt-validation.patch" if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686 index 91c9f7b8c..184db97b8 100644 --- a/libre/linux-libre/config.i686 +++ b/libre/linux-libre/config.i686 @@ -252,8 +252,8 @@ CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y @@ -1500,7 +1500,8 @@ CONFIG_DMA_SHARED_BUFFER=y # # Bus devices # -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m @@ -1676,7 +1677,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64 index f111c0b2d..1a32c7bf7 100644 --- a/libre/linux-libre/config.x86_64 +++ b/libre/linux-libre/config.x86_64 @@ -261,8 +261,8 @@ CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -1481,7 +1481,8 @@ CONFIG_DMA_SHARED_BUFFER=y # # Bus devices # -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m @@ -1637,7 +1638,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set |