Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752286AbbKQC5b (ORCPT ); Mon, 16 Nov 2015 21:57:31 -0500 Received: from frisell.zx2c4.com ([192.95.5.64]:33298 "EHLO frisell.zx2c4.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751363AbbKQC5R (ORCPT ); Mon, 16 Nov 2015 21:57:17 -0500 MIME-Version: 1.0 In-Reply-To: <1447712702.2096268.441562113.30345320@webmail.messagingengine.com> References: <1447712702.2096268.441562113.30345320@webmail.messagingengine.com> Date: Tue, 17 Nov 2015 03:57:10 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Routing loops & TTL tracking with tunnel devices From: "Jason A. Donenfeld" To: Hannes Frederic Sowa Cc: Jiri Benc , therbert@google.com, David Miller , Netdev , LKML Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1262 Lines: 28 On Mon, Nov 16, 2015 at 11:25 PM, Hannes Frederic Sowa wrote: > Have a look at __dev_queue_xmit and the per_cpu recursion limits > implemented there: > > if (__this_cpu_read(xmit_recursion) > > RECURSION_LIMIT) > goto recursion_alert; Ahh, thanks for pointing that out. So this works with virtual devices with no queue. As of some recent changes, that now applies to what I'm doing. Unfortunately, I get a complete hard crash, with the blinking keyboard. The only thing written to serial before it dies is: [ 171.347446] Dead loop on virtual device wg0, fix it urgently! This means it did hit that recursion condition, which is good. I assume the recursion limit is just too high, and this has something to do with me overflowing the stack. I'll test this hypothesis and see if I can add a similar check inside my driver to make it lower. If this works, I'm satisfied. Thanks a lot for the pointer here. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/