Date: Tue, 18 Jul 2017 14:43:37 -0300 From: Luiz Otavio O Souza <lists.br@gmail.com> To: Vincenzo Maffione <v.maffione@gmail.com>, Marius Strobl <marius@freebsd.org>, hps@freebsd.org, ae@freebsd.org Cc: FreeBSD Net <freebsd-net@freebsd.org>, "Eggert, Lars" <lars@netapp.com> Subject: Re: NULL pointer dereference bug triggered by netmap Message-ID: <CAB=2f8zaFmF_mW3wq_zgp9R47_X4Q%2B=1c53qStUFm=vM8rRwXA@mail.gmail.com> In-Reply-To: <CA%2B_eA9jC6WFDk-96XDzCEZqea2_E3N8eL9_fHvevtVLXU40dHg@mail.gmail.com> References: <CA%2B_eA9goJ6j=q6UO-%2BfOt-aHVgFmujQfH8WfYEHf9=PQobdwHg@mail.gmail.com> <20170705110512.GA28058@alchemy.franken.de> <CA%2B_eA9h138BhHaeyEojzM3UFc__GWxV72uVSHCWVWw-6CbnGsw@mail.gmail.com> <20170711200510.GB60651@alchemy.franken.de> <CA%2B_eA9jC6WFDk-96XDzCEZqea2_E3N8eL9_fHvevtVLXU40dHg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--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 <marius@freebsd.org>: > >> 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" <marius@freebsd.org> 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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAB=2f8zaFmF_mW3wq_zgp9R47_X4Q%2B=1c53qStUFm=vM8rRwXA>