diff --git a/0001-fix-bridge-regression.patch b/0001-fix-bridge-regression.patch new file mode 100644 index 0000000..250dfcb --- /dev/null +++ b/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/PKGBUILD b/PKGBUILD index 8296d49..d739bb0 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,7 +5,7 @@ pkgbase=linux # Build stock -ARCH kernel #pkgbase=linux-custom # Build kernel with a different name _srcname=linux-4.2 pkgver=4.2 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') url="http://www.kernel.org/" license=('GPL2') @@ -22,7 +22,8 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz" 'change-default-console-loglevel.patch' '0001-make_flush_workqueue_non_gpl.patch' '0001-e1000e-Fix-tight-loop-implementation-of-systime-read.patch' - '0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch') + '0001-netfilter-conntrack-use-nf_ct_tmpl_free-in-CT-synpro.patch' + '0001-fix-bridge-regression.patch') sha256sums=('cf20e044f17588d2a42c8f2a450b0fd84dfdbd579b489d93e9ab7d0e8b45dbeb' 'SKIP' 'e6f6f804f98ad321ce3e4395924993b51decb89699fde369391ccbb4bae928b2' @@ -31,7 +32,8 @@ sha256sums=('cf20e044f17588d2a42c8f2a450b0fd84dfdbd579b489d93e9ab7d0e8b45dbeb' '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99' '4e776734e2c2185910a6fbb6f333d967b04f4a72b3196310af286c6a779bd97d' '0b1e41ba59ae45f5929963aa22fdc53bc8ffb4534e976cec046269d1a462197b' - '6ed9e31ae5614c289c4884620e45698e764c03670ebc45bab9319d741238cbd3') + '6ed9e31ae5614c289c4884620e45698e764c03670ebc45bab9319d741238cbd3' + '0a8fe4434e930d393c7983e335842f6cb77ee263af5592a0ca7e14bae7296183') validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman @@ -61,6 +63,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) diff --git a/linux.install b/linux.install index ef42413..dd2fa5c 100644 --- a/linux.install +++ b/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${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${KERNEL_NAME} if [ $(vercmp $2 3.13) -lt 0 ]; then