From c3334377eb71906d8e19d7a23743bbf3af5002d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 14 Sep 2015 23:29:55 -0300 Subject: linux-libre-4.2_gnu-4: fix bridge networking -> https://bugzilla.kernel.org/show_bug.cgi?id=104161 --- .../linux-libre/0001-fix-bridge-regression.patch | 25 ++++++++++++++++++++++ libre-testing/linux-libre/PKGBUILD | 10 +++++++-- libre-testing/linux-libre/linux.install | 4 ++-- 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 libre-testing/linux-libre/0001-fix-bridge-regression.patch (limited to 'libre-testing') diff --git a/libre-testing/linux-libre/0001-fix-bridge-regression.patch b/libre-testing/linux-libre/0001-fix-bridge-regression.patch new file mode 100644 index 000000000..250dfcbcf --- /dev/null +++ b/libre-testing/linux-libre/0001-fix-bridge-regression.patch @@ -0,0 +1,25 @@ +@@ -, +, @@ +--- + net/bridge/br_multicast.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) +--- a/net/bridge/br_multicast.c ++++ a/net/bridge/br_multicast.c +@@ -991,7 +991,7 @@ static int br_ip4_multicast_igmp3_report(struct net_bridge *br, + + ih = igmpv3_report_hdr(skb); + num = ntohs(ih->ngrec); +- len = sizeof(*ih); ++ len = skb_transport_offset(skb) + sizeof(*ih); + + for (i = 0; i < num; i++) { + len += sizeof(*grec); +@@ -1052,7 +1052,7 @@ static int br_ip6_multicast_mld2_report(struct net_bridge *br, + + icmp6h = icmp6_hdr(skb); + num = ntohs(icmp6h->icmp6_dataun.un_data16[1]); +- len = sizeof(*icmp6h); ++ len = skb_transport_offset(skb) + sizeof(*icmp6h); + + for (i = 0; i < num; i++) { + __be16 *nsrcs, _nsrcs; +-- diff --git a/libre-testing/linux-libre/PKGBUILD b/libre-testing/linux-libre/PKGBUILD index 80b1f9bd2..9978e3a24 100644 --- a/libre-testing/linux-libre/PKGBUILD +++ b/libre-testing/linux-libre/PKGBUILD @@ -19,7 +19,7 @@ _replacesoldmodules=('linux-libre%-kmod-alx') # '%' gets replaced with _kernelna _srcname=linux-${_pkgbasever%-*} _archpkgver=${_pkgver%-*} pkgver=${_pkgver//-/_} -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -42,6 +42,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/li 'change-default-console-loglevel.patch' '0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch' '0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch' + '0001-fix-bridge-regression.patch' '0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch') sha256sums=('3a8fc9da5a38f15cc4ed0c5132d05b8245dfc1007c37e7e1994b2486535ecf49' 'SKIP' @@ -57,6 +58,7 @@ sha256sums=('3a8fc9da5a38f15cc4ed0c5132d05b8245dfc1007c37e7e1994b2486535ecf49' '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99' '0b1e41ba59ae45f5929963aa22fdc53bc8ffb4534e976cec046269d1a462197b' '6ed9e31ae5614c289c4884620e45698e764c03670ebc45bab9319d741238cbd3' + '0a8fe4434e930d393c7983e335842f6cb77ee263af5592a0ca7e14bae7296183' '61370b766e0c60b407c29d2c44b3f55fc352e9049c448bc8fcddb0efc53e42fc') validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva @@ -96,6 +98,10 @@ prepare() { # many instances of this error: nf_conntrack: table full, dropping packet patch -p1 -i "${srcdir}/0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch" + # add not-yes-mainlined patch to fix bridge code + # https://bugzilla.kernel.org/show_bug.cgi?id=104161 + patch -Np1 -i "${srcdir}/0001-fix-bridge-regression.patch" + # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) @@ -103,7 +109,7 @@ prepare() { # Make the radeon driver load without the firmwares # http://www.fsfla.org/pipermail/linux-libre/2015-August/003098.html - patch -Np1 -i ../0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch + patch -p1 -i "${srcdir}/0001-drm-radeon-Make-the-driver-load-without-the-firmwares.patch" cat "${srcdir}/config.${CARCH}" > ./.config diff --git a/libre-testing/linux-libre/linux.install b/libre-testing/linux-libre/linux.install index 32514d892..70e177ef2 100644 --- a/libre-testing/linux-libre/linux.install +++ b/libre-testing/linux-libre/linux.install @@ -8,7 +8,7 @@ post_install () { # updating module dependencies echo ">>> Updating module dependencies. Please wait ..." depmod ${KERNEL_VERSION} - echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." mkinitcpio -p linux-libre${KERNEL_NAME} } @@ -20,7 +20,7 @@ post_upgrade() { # updating module dependencies echo ">>> Updating module dependencies. Please wait ..." depmod ${KERNEL_VERSION} - echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." + echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..." mkinitcpio -p linux-libre${KERNEL_NAME} if [ $(vercmp $2 3.13) -lt 0 ]; then -- cgit v1.2.3-2-g168b