[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
** Tags added: cscc -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: Fix Released Status in linux source package in Trusty: Fix Released Status in linux source package in Vivid: Fix Released Status in linux source package in Xenial: Fix Released Status in linux source package in Yakkety: Fix Released Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco Santoro Reported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
** Changed in: linux (Ubuntu) Status: In Progress => Fix Released -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: Fix Released Status in linux source package in Trusty: Fix Released Status in linux source package in Vivid: Fix Released Status in linux source package in Xenial: Fix Released Status in linux source package in Yakkety: Fix Released Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco Santoro Reported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
This bug was fixed in the package linux - 4.4.0-57.78 --- linux (4.4.0-57.78) xenial; urgency=low * Release Tracking Bug - LP: #1648867 * Miscellaneous Ubuntu changes - SAUCE: Do not build the xr-usb-serial driver for s390 linux (4.4.0-56.77) xenial; urgency=low * Release Tracking Bug - LP: #1648867 * Release Tracking Bug - LP: #1648579 * CONFIG_NR_CPUS=256 is too low (LP: #1579205) - [Config] Increase the NR_CPUS to 512 for amd64 to support systems with a large number of cores. * NVMe drives in Amazon AWS instance fail to initialize (LP: #1648449) - SAUCE: (no-up) NVMe: only setup MSIX once linux (4.4.0-55.76) xenial; urgency=low [ Luis Henriques ] * Release Tracking Bug - LP: #1648503 * NVMe driver accidentally reverted to use GSI instead of MSIX (LP: #1647887) - (fix) NVMe: restore code to always use MSI/MSI-x interrupts linux (4.4.0-54.75) xenial; urgency=low [ Luis Henriques ] * Release Tracking Bug - LP: #1648017 * Update hio driver to 2.1.0.28 (LP: #1646643) - SAUCE: hio: update to Huawei ES3000_V2 (2.1.0.28) * linux: Enable live patching for all supported architectures (LP: #1633577) - [Config] CONFIG_LIVEPATCH=y for s390x * Botched backport breaks level triggered EOIs in QEMU guests with --machine kernel_irqchip=split (LP: #1644394) - kvm/irqchip: kvm_arch_irq_routing_update renaming split * Xenial update to v4.4.35 stable release (LP: #1645453) - x86/cpu/AMD: Fix cpu_llc_id for AMD Fam17h systems - KVM: x86: fix missed SRCU usage in kvm_lapic_set_vapic_addr - KVM: Disable irq while unregistering user notifier - fuse: fix fuse_write_end() if zero bytes were copied - mfd: intel-lpss: Do not put device in reset state on suspend - can: bcm: fix warning in bcm_connect/proc_register - i2c: mux: fix up dependencies - kbuild: add -fno-PIE - scripts/has-stack-protector: add -fno-PIE - x86/kexec: add -fno-PIE - kbuild: Steal gcc's pie from the very beginning - ext4: sanity check the block and cluster size at mount time - crypto: caam - do not register AES-XTS mode on LP units - drm/amdgpu: Attach exclusive fence to prime exported bo's. (v5) - clk: mmp: pxa910: fix return value check in pxa910_clk_init() - clk: mmp: pxa168: fix return value check in pxa168_clk_init() - clk: mmp: mmp2: fix return value check in mmp2_clk_init() - rtc: omap: Fix selecting external osc - iwlwifi: pcie: fix SPLC structure parsing - mfd: core: Fix device reference leak in mfd_clone_cell - uwb: fix device reference leaks - PM / sleep: fix device reference leak in test_suspend - PM / sleep: don't suspend parent when async child suspend_{noirq, late} fails - IB/mlx4: Check gid_index return value - IB/mlx4: Fix create CQ error flow - IB/mlx5: Use cache line size to select CQE stride - IB/mlx5: Fix fatal error dispatching - IB/core: Avoid unsigned int overflow in sg_alloc_table - IB/uverbs: Fix leak of XRC target QPs - IB/cm: Mark stale CM id's whenever the mad agent was unregistered - netfilter: nft_dynset: fix element timeout for HZ != 1000 - Linux 4.4.35 * Upstream stable 4.4.34 and 4.8.10 regression (LP: #1645278) - flow_dissect: call init_default_flow_dissectors() earlier * AD5593R configurable multi-channel converter support (LP: #1644726) - iio: dac: Add support for the AD5592R/AD5593R ADCs/DACs - iio: dac: ad5592r: Off by one bug in ad5592r_alloc_channels() - [Config] CONFIG_AD5592R/AD5593R=m * ST Micro lps22hb pressure sensor support (LP: #1642258) - iio:st_pressure:initial lps22hb sensor support - iio:st_pressure: align storagebits on power of 2 - iio:st_pressure: document sampling gains - iio:st_pressure:lps22hb: temperature support * Fix Kernel Crashing under IBM Virtual Scsi Driver (LP: #1642299) - SAUCE: ibmvscsis: Rearrange functions for future patches - SAUCE: ibmvscsis: Synchronize cmds at tpg_enable_store time - SAUCE: ibmvscsis: Synchronize cmds at remove time - SAUCE: ibmvscsis: Clean up properly if target_submit_cmd/tmr fails - SAUCE: ibmvscsis: Return correct partition name/# to client - SAUCE: ibmvscsis: Issues from Dan Carpenter/Smatch * System stalls when creating device node on booting (LP: #1643797) - sched/fair: Fix new task's load avg removed from source CPU in wake_up_new_task() * nvme: improve performance for virtual Google NVMe devices (LP: #1637565) - blk-mq: add blk_mq_alloc_request_hctx - nvme.h: add NVMe over Fabrics definitions - [Config] CONFIG_NVME_VENDOR_EXT_GOOGLE=y - SAUCE: nvme: improve performance for virtual NVMe devices * Move some kernel modules to the main kernel package (LP: #1642228) - [Config] Move some powerpc kernel modules to the main kernel package * sched: Match-all classifier is missing in xenial (LP: #1642514) -
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
This bug was fixed in the package linux - 4.8.0-32.34 --- linux (4.8.0-32.34) yakkety; urgency=low [ Thadeu Lima de Souza Cascardo ] * Release Tracking Bug - LP: #1649358 * Vulnerability picked up from 4.8.10 stable kernel (LP: #1648662) - net: handle no dst on skb in icmp6_send linux (4.8.0-31.33) yakkety; urgency=low [ Luis Henriques ] * Release Tracking Bug - LP: #1648034 * Update hio driver to 2.1.0.28 (LP: #1646643) - SAUCE: hio: update to Huawei ES3000_V2 (2.1.0.28) * Yakkety update to v4.8.11 stable release (LP: #1645421) - x86/cpu/AMD: Fix cpu_llc_id for AMD Fam17h systems - KVM: x86: fix missed SRCU usage in kvm_lapic_set_vapic_addr - KVM: Disable irq while unregistering user notifier - arm64: KVM: pmu: Fix AArch32 cycle counter access - KVM: arm64: Fix the issues when guest PMCCFILTR is configured - ftrace: Ignore FTRACE_FL_DISABLED while walking dyn_ftrace records - ftrace: Add more checks for FTRACE_FL_DISABLED in processing ip records - genirq: Use irq type from irqdata instead of irqdesc - fuse: fix fuse_write_end() if zero bytes were copied - IB/rdmavt: rdmavt can handle non aligned page maps - IB/hfi1: Fix rnr_timer addition - mfd: intel-lpss: Do not put device in reset state on suspend - mfd: stmpe: Fix RESET regression on STMPE2401 - can: bcm: fix warning in bcm_connect/proc_register - gpio: do not double-check direction on sleeping chips - ALSA: usb-audio: Fix use-after-free of usb_device at disconnect - ALSA: hda - add a new condition to check if it is thinkpad - ALSA: hda - Fix mic regression by ASRock mobo fixup - i2c: mux: fix up dependencies - i2c: i2c-mux-pca954x: fix deselect enabling for device-tree - Disable the __builtin_return_address() warning globally after all - kbuild: add -fno-PIE - scripts/has-stack-protector: add -fno-PIE - x86/kexec: add -fno-PIE - kbuild: Steal gcc's pie from the very beginning - ext4: sanity check the block and cluster size at mount time - ARM: dts: imx53-qsb: Fix regulator constraints - crypto: caam - do not register AES-XTS mode on LP units - powerpc/64: Fix setting of AIL in hypervisor mode - drm/amdgpu: Attach exclusive fence to prime exported bo's. (v5) - drm/i915: Refresh that status of MST capable connectors in ->detect() - drm/i915: Assume non-DP++ port if dvo_port is HDMI and there's no AUX ch specified in the VBT - virtio-net: drop legacy features in virtio 1 mode - clk: mmp: pxa910: fix return value check in pxa910_clk_init() - clk: mmp: pxa168: fix return value check in pxa168_clk_init() - clk: mmp: mmp2: fix return value check in mmp2_clk_init() - clk: imx: fix integer overflow in AV PLL round rate - rtc: omap: Fix selecting external osc - iwlwifi: pcie: fix SPLC structure parsing - iwlwifi: pcie: mark command queue lock with separate lockdep class - iwlwifi: mvm: fix netdetect starting/stopping for unified images - iwlwifi: mvm: fix d3_test with unified D0/D3 images - iwlwifi: mvm: wake the wait queue when the RX sync counter is zero - mfd: core: Fix device reference leak in mfd_clone_cell - sunrpc: svc_age_temp_xprts_now should not call setsockopt non-tcp transports - uwb: fix device reference leaks - PM / sleep: fix device reference leak in test_suspend - PM / sleep: don't suspend parent when async child suspend_{noirq, late} fails - perf hists: Fix column length on --hierarchy - IB/rxe: Update qp state for user query - IB/rxe: Fix kernel panic in UDP tunnel with GRO and RX checksum - IB/rxe: Fix handling of erroneous WR - IB/rxe: Clear queue buffer when modifying QP to reset - IB/mlx4: Check gid_index return value - IB/mlx4: Fix create CQ error flow - IB/mlx5: Validate requested RQT size - IB/mlx5: Use cache line size to select CQE stride - IB/mlx5: Fix memory leak in query device - IB/mlx5: Fix fatal error dispatching - IB/mlx5: Fix NULL pointer dereference on debug print - IB/core: Avoid unsigned int overflow in sg_alloc_table - IB/hfi1: Remove incorrect IS_ERR check - IB/uverbs: Fix leak of XRC target QPs - IB/cm: Mark stale CM id's whenever the mad agent was unregistered - netfilter: nft_dynset: fix element timeout for HZ != 1000 - gpio: pca953x: Move memcpy into mutex lock for set multiple - gpio: pca953x: Fix corruption of other gpios in set_multiple. - Linux 4.8.11 * Upstream stable 4.4.34 and 4.8.10 regression (LP: #1645278) - flow_dissect: call init_default_flow_dissectors() earlier * Fix Kernel Crashing under IBM Virtual Scsi Driver (LP: #1642299) - SAUCE: ibmvscsis: Rearrange functions for future patches - SAUCE: ibmvscsis: Synchronize cmds at tpg_enable_store time - SAUCE: ibmvscsis: Synchronize cmds at remove time - SAUCE: ibmvscsis: Clean up properly if
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
This bug was fixed in the package linux - 3.13.0-106.153 --- linux (3.13.0-106.153) trusty; urgency=low [ Luis Henriques ] * Release Tracking Bug - LP: #1647749 * CVE-2016-7916 - proc: prevent accessing /proc//environ until it's ready * CVE-2016-6213 - mnt: Add a per mount namespace limit on the number of mounts * aio completions are dropped (LP: #1641129) - aio: fix reqs_available handling * [Hyper-V] do not lose pending heartbeat vmbus packets (LP: #1632786) - hv: do not lose pending heartbeat vmbus packets * ipv6: connected routes are missing after a down/up cycle on the loopback (LP: #1634545) - ipv6: reallocate addrconf router for ipv6 address when lo device up - ipv6: correctly add local routes when lo goes up * audit: prevent a new auditd to stop an old auditd still alive (LP: #1633404) - audit: stop an old auditd being starved out by a new auditd * Setting net.ipv4.neigh.default.gc_thresh1/2/3 on 3.13.0-97.144 or later causes 'invalid argument' error (LP: #1634892) - neigh: fix setting of default gc_* values * move nvme driver to linux-image (LP: #1640275) - [Config] Add nvme to the generic inclusion list -- Luis HenriquesTue, 06 Dec 2016 15:00:27 + ** Changed in: linux (Ubuntu Trusty) Status: Fix Committed => Fix Released ** CVE added: http://www.cve.mitre.org/cgi- bin/cvename.cgi?name=2016-6213 ** CVE added: http://www.cve.mitre.org/cgi- bin/cvename.cgi?name=2016-7916 ** Changed in: linux (Ubuntu Vivid) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Released Status in linux source package in Vivid: Fix Released Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco Santoro Reported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
This bug was fixed in the package linux - 3.19.0-78.86 --- linux (3.19.0-78.86) vivid; urgency=low [ Luis Henriques ] * Release Tracking Bug - LP: #1647787 * CVE-2016-7916 - proc: prevent accessing /proc//environ until it's ready * CVE-2016-6213 - mnt: Add a per mount namespace limit on the number of mounts * [Hyper-V] do not lose pending heartbeat vmbus packets (LP: #1632786) - hv: do not lose pending heartbeat vmbus packets * ipv6: connected routes are missing after a down/up cycle on the loopback (LP: #1634545) - ipv6: correctly add local routes when lo goes up -- Luis HenriquesTue, 06 Dec 2016 16:25:45 + -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Released Status in linux source package in Vivid: Fix Released Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco Santoro Reported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
** Tags removed: verification-needed-xenial ** Tags added: verification-done-xenial -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Committed Status in linux source package in Vivid: Fix Committed Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed- xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed- xenial'. If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you! ** Tags added: verification-needed-xenial -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Committed Status in linux source package in Vivid: Fix Committed Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
** Tags removed: verification-needed-vivid verification-needed-yakkety ** Tags added: verification-done-vivid verification-done-yakkety -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Committed Status in linux source package in Vivid: Fix Committed Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
** Tags removed: verification-needed-trusty ** Tags added: verification-done-trusty -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Committed Status in linux source package in Vivid: Fix Committed Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed- trusty' to 'verification-done-trusty'. If the problem still exists, change the tag 'verification-needed-trusty' to 'verification-failed- trusty'. If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you! ** Tags added: verification-needed-trusty ** Tags added: verification-needed-vivid -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Committed Status in linux source package in Vivid: Fix Committed Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed- yakkety' to 'verification-done-yakkety'. If the problem still exists, change the tag 'verification-needed-yakkety' to 'verification-failed- yakkety'. If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you! -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Committed Status in linux source package in Vivid: Fix Committed Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed- vivid' to 'verification-done-vivid'. If the problem still exists, change the tag 'verification-needed-vivid' to 'verification-failed-vivid'. If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you! ** Tags added: verification-needed-yakkety -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Committed Status in linux source package in Vivid: Fix Committed Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
** Changed in: linux (Ubuntu Yakkety) Status: In Progress => Fix Committed ** Changed in: linux (Ubuntu Xenial) Status: In Progress => Fix Committed ** Changed in: linux (Ubuntu Vivid) Status: In Progress => Fix Committed ** Changed in: linux (Ubuntu Trusty) Status: In Progress => Fix Committed -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: Fix Committed Status in linux source package in Vivid: Fix Committed Status in linux source package in Xenial: Fix Committed Status in linux source package in Yakkety: Fix Committed Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
** Also affects: linux (Ubuntu Vivid) Importance: Undecided Status: New ** Changed in: linux (Ubuntu Vivid) Status: New => In Progress ** Changed in: linux (Ubuntu Vivid) Importance: Undecided => Medium ** Changed in: linux (Ubuntu Vivid) Assignee: (unassigned) => Joseph Salisbury (jsalisbury) -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: In Progress Status in linux source package in Vivid: In Progress Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
> I built a trusty test kernel with commits 33d99113b110 + a220445f9f43. It can > be downloaded from: > http://kernel.ubuntu.com/~jsalisbury/lp1634545/trusty > > Can you see if it resolves the bug for Trusty? Test is ok, thank you. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: In Progress Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
I'm off for two weeks, I will do that when I come back. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: In Progress Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
I built a trusty test kernel with commits 33d99113b110 + a220445f9f43. It can be downloaded from: http://kernel.ubuntu.com/~jsalisbury/lp1634545/trusty Can you see if it resolves the bug for Trusty? -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: In Progress Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
Thanks for testing and the update in comment #3. I'll build a Trusty test kernel with those two commits. ** Also affects: linux (Ubuntu Trusty) Importance: Undecided Status: New ** Changed in: linux (Ubuntu Trusty) Status: New => In Progress ** Changed in: linux (Ubuntu Trusty) Importance: Undecided => Medium ** Changed in: linux (Ubuntu Trusty) Assignee: (unassigned) => Joseph Salisbury (jsalisbury) -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Trusty: In Progress Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
> The test kernels can be downloaded from: > Xenial: http://kernel.ubuntu.com/~jsalisbury/lp1634545/xenial/ > Yakkety: http://kernel.ubuntu.com/~jsalisbury/lp1634545/yakkety > > Can you test this kernels and see if it resolves this bug? Tests succeeded with both kernels, thank you! -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
> I built Xenial and Yakkety test kernels with this patch. It looks like it is not needed in Trusty, since commit 33d99113b110 was introduced in 3.14-rc1. In fact, it is needed. The commit 33d99113b110 is already a fix (it fixes the same kind of problems) of the previous commits. So on trusty, we need 33d99113b110 + a220445f9f43. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
I built Xenial and Yakkety test kernels with this patch. It looks like it is not needed in Trusty, since commit 33d99113b110 was introduced in 3.14-rc1. The test kernels can be downloaded from: Xenial: http://kernel.ubuntu.com/~jsalisbury/lp1634545/xenial/ Yakkety: http://kernel.ubuntu.com/~jsalisbury/lp1634545/yakkety Can you test this kernels and see if it resolves this bug? -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
** No longer affects: linux (Ubuntu Trusty) ** Changed in: linux (Ubuntu Xenial) Status: Triaged => In Progress ** Changed in: linux (Ubuntu Yakkety) Status: Triaged => In Progress ** Changed in: linux (Ubuntu) Status: Triaged => In Progress ** Changed in: linux (Ubuntu) Assignee: (unassigned) => Joseph Salisbury (jsalisbury) ** Changed in: linux (Ubuntu Xenial) Assignee: (unassigned) => Joseph Salisbury (jsalisbury) ** Changed in: linux (Ubuntu Yakkety) Assignee: (unassigned) => Joseph Salisbury (jsalisbury) -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: In Progress Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1634545] Re: ipv6: connected routes are missing after a down/up cycle on the loopback
** Tags added: kernel-da-key ** Changed in: linux (Ubuntu) Status: Incomplete => Triaged ** Changed in: linux (Ubuntu) Importance: Undecided => Medium ** Also affects: linux (Ubuntu Yakkety) Importance: Undecided Status: New ** Also affects: linux (Ubuntu Xenial) Importance: Undecided Status: New ** Also affects: linux (Ubuntu Trusty) Importance: Undecided Status: New ** Changed in: linux (Ubuntu Trusty) Status: New => Triaged ** Changed in: linux (Ubuntu Xenial) Status: New => Triaged ** Changed in: linux (Ubuntu Yakkety) Status: New => Triaged ** Changed in: linux (Ubuntu Trusty) Importance: Undecided => Medium ** Changed in: linux (Ubuntu Yakkety) Importance: Undecided => Medium ** Changed in: linux (Ubuntu Xenial) Importance: Undecided => Medium -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1634545 Title: ipv6: connected routes are missing after a down/up cycle on the loopback Status in linux package in Ubuntu: Triaged Status in linux source package in Trusty: Triaged Status in linux source package in Xenial: Triaged Status in linux source package in Yakkety: Triaged Bug description: This upstream patch is missing: http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=a220445f9f4382c36a53d8ef3e08165fa27f7e2c ipv6: correctly add local routes when lo goes up The goal of the patch is to fix this scenario: ip link add dummy1 type dummy ip link set dummy1 up ip link set lo down ; ip link set lo up After that sequence, the local route to the link layer address of dummy1 is not there anymore. When the loopback is set down, all local routes are deleted by addrconf_ifdown()/rt6_ifdown(). At this time, the rt6_info entry still exists, because the corresponding idev has a reference on it. After the rcu grace period, dst_rcu_free() is called, and thus ___dst_free(), which will set obsolete to DST_OBSOLETE_DEAD. In this case, init_loopback() is called before dst_rcu_free(), thus obsolete is still sets to something <= 0. So, the function doesn't add the route again. To avoid that race, let's check the rt6 refcnt instead. Fixes: 25fb6ca4ed9c ("net IPv6 : Fix broken IPv6 routing table after loopback down-up") Fixes: a881ae1f625c ("ipv6: don't call addrconf_dst_alloc again when enable lo") Fixes: 33d99113b110 ("ipv6: reallocate addrconf router for ipv6 address when lo device up") Reported-by: Francesco SantoroReported-by: Samuel Gauthier CC: Balakumaran Kannan CC: Maruthi Thotad CC: Sabrina Dubroca CC: Hannes Frederic Sowa CC: Weilong Chen CC: Gao feng Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634545/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp