From owner-freebsd-net@freebsd.org Tue Jul 18 17:43:43 2017 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 53C26D9B19A for ; Tue, 18 Jul 2017 17:43:43 +0000 (UTC) (envelope-from lists.br@gmail.com) Received: from mail-wr0-x233.google.com (mail-wr0-x233.google.com [IPv6:2a00:1450:400c:c0c::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D88ED76EB8; Tue, 18 Jul 2017 17:43:39 +0000 (UTC) (envelope-from lists.br@gmail.com) Received: by mail-wr0-x233.google.com with SMTP id y43so39333537wrd.3; Tue, 18 Jul 2017 10:43:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=RT1uoWlvNS1zK3xycGTAxzj6KWF4x9qGfkfQ10XTIvc=; b=lMz1jRZqVAwqGyxOj+bwixSpX1fdi37Oaq3yKY0bd4q4/ToWGb9/onxqu4qLd2ADl4 PLEGNPMuPI9iJYdn9jnuM8hX/TfDhVsQvPC5KxQD5h8vbHIbLjy+utCOQAdbLZcRdeU/ xFz5A32TVwK47NWkiHyWUPdhCPUJKE2/yl3mg64TJ6pHf6zaOMkcGYsUUb2ErgK52RPY X6BNa/1DC+vyuuH/ZE0xNx7NYxe1APSabpPnXk3XGUZHX8AhAWN7zesVCDUlHR6/xGwI jzTjX7KxGuXkF19Kco1X3qwJnjASr1wk72zbUHomprqo49e04KREy2XDVWslMUW0aWhm 1ZmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=RT1uoWlvNS1zK3xycGTAxzj6KWF4x9qGfkfQ10XTIvc=; b=kcPmLbVB81Tk4AdPRNZLqsL7NlptZuUvd6bggaDTmYEEbOLHc5dRDJ30exKu/2INcb O8d9hTZ8H/dBRyu/OkOY55+tsEA70RE3n61Q403N7Vyeo40XOYg//NQ+vuBzr7tZcWje 9e7S0z+OIpEKy5r4G+76G8YqhATKggu/TB2BknqX/Cpj57sZsunavB83GkJjUDG6pemh ERowLATSNojquJkAV4pYDEHoLt6dJg3IZmzjNkFvJxthWqzEXAOGCAGqx2HVJ1sMjgEA 58oATLEr/J6iYYC7zpBWEpeJFqgob3PD5tdtY9XNs5PPdPoz2vrJAY8yWec8DcmLFdWW ycEw== X-Gm-Message-State: AIVw113jVD0SYZOh37bt/gM7PctyMxzHFqM8qo5L0WlEFigkH3t3H0tT jlSFtlwPLW9E9MM7MJDFs5kw6V0s/fVu X-Received: by 10.80.173.198 with SMTP id b6mr2851253edd.81.1500399818405; Tue, 18 Jul 2017 10:43:38 -0700 (PDT) MIME-Version: 1.0 Received: by 10.80.186.125 with HTTP; Tue, 18 Jul 2017 10:43:37 -0700 (PDT) In-Reply-To: References: <20170705110512.GA28058@alchemy.franken.de> <20170711200510.GB60651@alchemy.franken.de> From: Luiz Otavio O Souza Date: Tue, 18 Jul 2017 14:43:37 -0300 Message-ID: Subject: Re: NULL pointer dereference bug triggered by netmap To: Vincenzo Maffione , Marius Strobl , hps@freebsd.org, ae@freebsd.org Cc: FreeBSD Net , "Eggert, Lars" Content-Type: multipart/mixed; boundary="94eb2c0ddb0a32921105549b0ec4" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jul 2017 17:43:43 -0000 --94eb2c0ddb0a32921105549b0ec4 Content-Type: text/plain; charset="UTF-8" On 12 July 2017 at 02:19, Vincenzo Maffione wrote: > Yes. > > Actually, we would also need one beteween the following two options: > 1) Implementing a dummy if_start() for if_loop.c > 2) Prevent netmap from using if_loop. Hi, Please, check the attached patches. Luiz > > 2017-07-11 22:05 GMT+02:00 Marius Strobl : > >> On Thu, Jul 06, 2017 at 02:19:42PM -0700, Vincenzo Maffione wrote: >> > Sure, can anyone commit this? >> >> The addition of KASSERTs like the below one to if_handoff() and >> if_start()? Sure. >> >> Marius >> >> > >> > Il 5 lug 2017 4:05 AM, "Marius Strobl" ha scritto: >> > >> > > On Mon, Jul 03, 2017 at 05:08:09PM +0200, Vincenzo Maffione wrote: >> > > > Details here: >> > > > >> > > > https://github.com/luigirizzo/netmap/issues/322 >> > > > >> > > > Is it acceptable to commit the proposed patch? >> > > >> > > As suggested by hselasky@, the outliner problem at hand is better >> solved >> > > by a dummy if_start method in order to not hurt the fast-path. Thus, if >> > > anything at all, a KASSERT(ifp->if_start != NULL, "no if_start method") >> > > should be added to if_handoff() and if_start(). --94eb2c0ddb0a32921105549b0ec4 Content-Type: text/plain; charset="US-ASCII"; name="if_loop.diff" Content-Disposition: attachment; filename="if_loop.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j59v9lh80 SW5kZXg6IHN5cy9uZXQvaWZfbG9vcC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9uZXQvaWZfbG9vcC5j CShyZXZpc2lvbiAzMjA2NzQpCisrKyBzeXMvbmV0L2lmX2xvb3AuYwkod29ya2luZyBjb3B5KQpA QCAtMTA0LDYgKzEwNCwxNyBAQAogc3RhdGljIHN0cnVjdCBpZl9jbG9uZSAqbG9fY2xvbmVyOwog c3RhdGljIGNvbnN0IGNoYXIgbG9uYW1lW10gPSAibG8iOwogCisvKiBpZl9sb29wIGRvIG5vdCBz dXBwb3J0IHBhY2tldHMgY29tbWluZyBmcm9tIGlmX3RyYW5zbWl0KCkvaWZfc3RhcnQoKS4gKi8K K3N0YXRpYyBpbnQKK2xvX2lmX3RyYW5zbWl0KHN0cnVjdCBpZm5ldCAqaWZwLCBzdHJ1Y3QgbWJ1 ZiAqbSkKK3sKKworCUtBU1NFUlQobSA9PSBOVUxMLCAoIiVzOiBpZl90cmFuc21pdCgpIG5vdCBz dXBwb3J0ZWQuIiwgX19mdW5jX18pKTsKKwltX2ZyZWVtKG0pOworCisJcmV0dXJuIChFTk9CVUZT KTsKK30KKwogc3RhdGljIHZvaWQKIGxvX2Nsb25lX2Rlc3Ryb3koc3RydWN0IGlmbmV0ICppZnAp CiB7CkBAIC0xMzcsNiArMTQ4LDcgQEAKIAkgICAgSUZDQVBfSFdDU1VNIHwgSUZDQVBfSFdDU1VN X0lQVjY7CiAJaWZwLT5pZl9od2Fzc2lzdCA9IExPX0NTVU1fRkVBVFVSRVMgfCBMT19DU1VNX0ZF QVRVUkVTNjsKIAlpZl9hdHRhY2goaWZwKTsKKwlpZl9zZXR0cmFuc21pdGZuKGlmcCwgbG9faWZf dHJhbnNtaXQpOwogCWJwZmF0dGFjaChpZnAsIERMVF9OVUxMLCBzaXplb2YodV9pbnQzMl90KSk7 CiAJaWYgKFZfbG9pZiA9PSBOVUxMKQogCQlWX2xvaWYgPSBpZnA7Cg== --94eb2c0ddb0a32921105549b0ec4 Content-Type: text/plain; charset="US-ASCII"; name="netmap_generic.diff" Content-Disposition: attachment; filename="netmap_generic.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j59v9uax1 SW5kZXg6IHN5cy9kZXYvbmV0bWFwL25ldG1hcF9nZW5lcmljLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lz L2Rldi9uZXRtYXAvbmV0bWFwX2dlbmVyaWMuYwkocmV2aXNpb24gMzIwNjc0KQorKysgc3lzL2Rl di9uZXRtYXAvbmV0bWFwX2dlbmVyaWMuYwkod29ya2luZyBjb3B5KQpAQCAtNzUsNiArNzUsNyBA QAogI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4gLyogc29ja2FkZHJzICovCiAjaW5jbHVkZSA8c3lz L3NlbGluZm8uaD4KICNpbmNsdWRlIDxuZXQvaWYuaD4KKyNpbmNsdWRlIDxuZXQvaWZfdHlwZXMu aD4KICNpbmNsdWRlIDxuZXQvaWZfdmFyLmg+CiAjaW5jbHVkZSA8bWFjaGluZS9idXMuaD4gICAg ICAgIC8qIGJ1c19kbWFtYXBfKiBpbiBuZXRtYXBfa2Vybi5oICovCiAKQEAgLTExOTgsNiArMTE5 OSwxMyBAQAogCWludCByZXR2YWw7CiAJdV9pbnQgbnVtX3R4X2Rlc2MsIG51bV9yeF9kZXNjOwog CisjaWZkZWYgX19GcmVlQlNEX18KKwlpZiAoaWZwLT5pZl90eXBlID09IElGVF9MT09QKSB7CisJ CUQoImlmX2xvb3AgaXMgbm90IHN1cHBvcnRlZCBieSAlcyIsIF9fZnVuY19fKTsKKwkJcmV0dXJu IEVJTlZBTDsKKwl9CisjZW5kaWYKKwogCW51bV90eF9kZXNjID0gbnVtX3J4X2Rlc2MgPSBuZXRt YXBfZ2VuZXJpY19yaW5nc2l6ZTsgLyogc3RhcnRpbmcgcG9pbnQgKi8KIAogCW5tX29zX2dlbmVy aWNfZmluZF9udW1fZGVzYyhpZnAsICZudW1fdHhfZGVzYywgJm51bV9yeF9kZXNjKTsgLyogaWdu b3JlIGVycm9ycyAqLwo= --94eb2c0ddb0a32921105549b0ec4--