From owner-freebsd-hackers@freebsd.org Tue Nov 3 16:42:38 2020 Return-Path: Delivered-To: freebsd-hackers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DC60645D883 for ; Tue, 3 Nov 2020 16:42:38 +0000 (UTC) (envelope-from google@oprs.eu) Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CQbDY6K4Qz476R for ; Tue, 3 Nov 2020 16:42:37 +0000 (UTC) (envelope-from google@oprs.eu) Received: by mail-ot1-f45.google.com with SMTP id i18so11825202ots.0 for ; Tue, 03 Nov 2020 08:42:37 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ovejuvWU1Xyj0QM9Z2xJjaVsmSqGDJEpxlY2K0/Broc=; b=Zm7VIWhFtZgua2JsdYDnk99+3hnk7/wgESRFq7PSsAK9BeY7FrsiMQ0v1p0DM/4j/P QstzJfaXkmv2paT5nqZeBI1elvErUbqtWV1yrXJ6Uk9Lvg/RmSDM+y2RsoxflS40LgZ3 pI1kvcbYdHAozPJJ5bNmQqbFYYV30dNvM8usRfAygcK2aDnSdq41QUE8s6QYozfoFOOS 9MZbh6R4DXRacK96VFsYK8EbSqtW+eB7vc1hTtRzWUhpx1XTCikZnli2RlKBps+EZEp4 Zk2PcZsV5Ifl1OLYU1QxcSHdQUCGVvUGRqWRFWN6tNb4PpuYEC0ml45X1T0uRs/SAzV2 ftEg== X-Gm-Message-State: AOAM531/4JWwQvF+OoLbvVSKKok/hYEQiuxN+v5sCLxOiaPJDVlxej4b //SzIcvJ7zV4h1KuJkw1pfr/aOuWy2boDj2O/RoXsDccPwbPwHo3 X-Google-Smtp-Source: ABdhPJw/f8gx6PUBOVQulaHBIlhIzti1cjBHZj0fPuOLmTtHF3uFtA5LsQ/mv/ZcdSHs5Xgg4BADMZti9zeN0AuPz2g= X-Received: by 2002:a9d:61:: with SMTP id 88mr15152272ota.109.1604421755946; Tue, 03 Nov 2020 08:42:35 -0800 (PST) MIME-Version: 1.0 From: Olivier Piras Date: Tue, 3 Nov 2020 17:42:24 +0100 Message-ID: Subject: page fault in ifunit() To: freebsd-hackers@freebsd.org Content-Type: multipart/mixed; boundary="000000000000d5a6f205b3368c41" X-Rspamd-Queue-Id: 4CQbDY6K4Qz476R X-Spamd-Bar: +++++ Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of google@oprs.eu has no SPF policy when checking 209.85.210.45) smtp.mailfrom=google@oprs.eu X-Spamd-Result: default: False [5.28 / 15.00]; RWL_MAILSPIKE_GOOD(0.00)[209.85.210.45:from]; HAS_ATTACHMENT(0.00)[]; TO_DN_NONE(0.00)[]; MIME_BASE64_TEXT_BOGUS(1.00)[]; NEURAL_HAM_SHORT(-0.28)[-0.276]; MIME_BASE64_TEXT(0.10)[]; FORGED_SENDER(0.30)[freebsd@oprs.eu,google@oprs.eu]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:+,5:~,6:+]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[freebsd@oprs.eu,google@oprs.eu]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[multipart/mixed,multipart/alternative,text/plain,text/x-csrc]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; AUTH_NA(1.00)[]; MIME_BAD_ATTACHMENT(1.60)[c]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_SPAM_MEDIUM(0.83)[0.831]; DMARC_NA(0.00)[oprs.eu]; NEURAL_SPAM_LONG(0.83)[0.829]; RCVD_IN_DNSWL_NONE(0.00)[209.85.210.45:from]; R_SPF_NA(0.00)[no SPF record]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-hackers] X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Nov 2020 16:42:38 -0000 --000000000000d5a6f205b3368c41 Content-Type: text/plain; charset="UTF-8" Hi, I'm getting page fault errors on CURRENT while trying to get a pointer to an ifnet instance with ifunit(). My code is running as a KLD, I've attached a stripped down version that reproduces the issue (just load the module, brace yourself, and open /dev/test). The weird thing is that the page fault only seems to occur on DEVFS operations (test_dev_open() in that instance). The very same call to ifunit() works as expected in the init part of the module. Apparently someone ran into the same problem a couple of years ago [1]. Unfortunately they didn't follow up on the issue. [2] leads me to believe that it has something to do with VNET, so I tried to play with CURVNET_SET() / CURVNET_RESTORE() in an effort to set a context for the current VNET instance, to no avail (I have to admit it was mostly a shot in the dark though, as VNET isn't something I'm particularly familiar with). I'm having a hard time figuring out why the problem only occurs in the context of DEVFS operations; I'm currently reading up on VNET. Any pointers would be greatly appreciated. Regards, -Olivier. [1] http://freebsd.1045724.x6.nabble.com/Page-fault-inside-ifunit-ref-FreeBSD12-0-CURRENT-td6254170.html [2] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=176992 --000000000000d5a6f205b3368c41 Content-Type: text/plain; charset="US-ASCII"; name="trap12.txt" Content-Disposition: attachment; filename="trap12.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kh26v6202 RmF0YWwgdHJhcCAxMjogcGFnZSBmYXVsdCB3aGlsZSBpbiBrZXJuZWwgbW9kZQpjcHVpZCA9IDI7 IGFwaWMgaWQgPSAwMgpmYXVsdCB2aXJ0dWFsIGFkZHJlc3MgICA9IDB4MjgKZmF1bHQgY29kZSAg ICAgICAgICAgICAgPSBzdXBlcnZpc29yIHJlYWQgZGF0YSwgcGFnZSBub3QgcHJlc2VudAppbnN0 cnVjdGlvbiBwb2ludGVyICAgICA9IDB4MjA6MHhmZmZmZmZmZjgwY2JiZWVlCnN0YWNrIHBvaW50 ZXIgICAgICAgICAgID0gMHgyODoweGZmZmZmZTAwMjQ4YjY2MzAKZnJhbWUgcG9pbnRlciAgICAg ICAgICAgPSAweDI4OjB4ZmZmZmZlMDAyNDhiNjY2MApjb2RlIHNlZ21lbnQgICAgICAgICAgICA9 IGJhc2UgMHgwLCBsaW1pdCAweGZmZmZmLCB0eXBlIDB4MWIKICAgICAgICAgICAgICAgICAgICAg ICAgPSBEUEwgMCwgcHJlcyAxLCBsb25nIDEsIGRlZjMyIDAsIGdyYW4gMQpwcm9jZXNzb3IgZWZs YWdzICAgICAgICA9IGludGVycnVwdCBlbmFibGVkLCByZXN1bWUsIElPUEwgPSAwCmN1cnJlbnQg cHJvY2VzcyAgICAgICAgID0gMjEyMyAoY2F0KQp0cmFwIG51bWJlciAgICAgICAgICAgICA9IDEy CnBhbmljOiBwYWdlIGZhdWx0CmNwdWlkID0gMgp0aW1lID0gMTYwNDQxNTA0MgpLREI6IHN0YWNr IGJhY2t0cmFjZToKIzAgMHhmZmZmZmZmZjgwYzBiMGM1IGF0IGtkYl9iYWNrdHJhY2UrMHg2NQoj MSAweGZmZmZmZmZmODBiYmYxYmIgYXQgdnBhbmljKzB4MTdiCiMyIDB4ZmZmZmZmZmY4MGJiZjAz MyBhdCBwYW5pYysweDQzCiMzIDB4ZmZmZmZmZmY4MTA5MDkxMSBhdCB0cmFwX2ZhdGFsKzB4Mzkx CiM0IDB4ZmZmZmZmZmY4MTA5MDk2ZiBhdCB0cmFwX3BmYXVsdCsweDRmCiM1IDB4ZmZmZmZmZmY4 MTA4ZmZiNiBhdCB0cmFwKzB4Mjg2CiM2IDB4ZmZmZmZmZmY4MTA2N2I0OCBhdCBjYWxsdHJhcCsw eDgKIzcgMHhmZmZmZmZmZjgyODNlMmMyIGF0IHRlc3RfZGV2X29wZW4rMHgyMgojOCAweGZmZmZm ZmZmODBhNzhiNTAgYXQgZGV2ZnNfb3BlbisweDEyMAojOSAweGZmZmZmZmZmODEyNDc2OTUgYXQg Vk9QX09QRU5fQVBWKzB4NzUKIzEwIDB4ZmZmZmZmZmY4MGM5ZGUxNyBhdCB2bl9vcGVuX3Zub2Rl KzB4MWI3CiMxMSAweGZmZmZmZmZmODBjOWRhNjMgYXQgdm5fb3Blbl9jcmVkKzB4M2EzCiMxMiAw eGZmZmZmZmZmODBjOTVlMTMgYXQga2Vybl9vcGVuYXQrMHgyMTMKIzEzIDB4ZmZmZmZmZmY4MTA5 MTRjNyBhdCBhbWQ2NF9zeXNjYWxsKzB4Mzg3CiMxNCAweGZmZmZmZmZmODEwNjg0NmUgYXQgZmFz dF9zeXNjYWxsX2NvbW1vbisweGY4ClVwdGltZTogMjBtMjZzCkR1bXBpbmcgMjg0IG91dCBvZiAz ODc4IE1COi4uNiUuLjEyJS4uMjMlLi4zNCUuLjQ1JS4uNTElLi42MiUuLjc0JS4uODUlLi45NiUK Cl9fY3VydGhyZWFkICgpIGF0IC91c3IvaG9tZS9vcHJzL2dpdC9mcmVlYnNkL3N0YWJsZS8xMi9z eXMvYW1kNjQvaW5jbHVkZS9wY3B1X2F1eC5oOjU1CjU1ICAgICAgL3Vzci9ob21lL29wcnMvZ2l0 L2ZyZWVic2Qvc3RhYmxlLzEyL3N5cy9hbWQ2NC9pbmNsdWRlL3BjcHVfYXV4Lmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkuCihrZ2RiKSBidAojMCAgX19jdXJ0aHJlYWQgKCkgYXQgL3Vzci9o b21lL29wcnMvZ2l0L2ZyZWVic2Qvc3RhYmxlLzEyL3N5cy9hbWQ2NC9pbmNsdWRlL3BjcHVfYXV4 Lmg6NTUKIzEgIGRvYWR1bXAgKHRleHRkdW1wPTxvcHRpbWl6ZWQgb3V0PikgYXQgL3Vzci9ob21l L29wcnMvZ2l0L2ZyZWVic2Qvc3RhYmxlLzEyL3N5cy9rZXJuL2tlcm5fc2h1dGRvd24uYzozNzEK IzIgIDB4ZmZmZmZmZmY4MGJiZWRkNSBpbiBrZXJuX3JlYm9vdCAoaG93dG89MjYwKSBhdCAvdXNy L2hvbWUvb3Bycy9naXQvZnJlZWJzZC9zdGFibGUvMTIvc3lzL2tlcm4va2Vybl9zaHV0ZG93bi5j OjQ1MQojMyAgMHhmZmZmZmZmZjgwYmJmMjEzIGluIHZwYW5pYyAoZm10PTxvcHRpbWl6ZWQgb3V0 PiwgYXA9PG9wdGltaXplZCBvdXQ+KSBhdCAvdXNyL2hvbWUvb3Bycy9naXQvZnJlZWJzZC9zdGFi bGUvMTIvc3lzL2tlcm4va2Vybl9zaHV0ZG93bi5jOjg4MAojNCAgMHhmZmZmZmZmZjgwYmJmMDMz IGluIHBhbmljIChmbXQ9PHVuYXZhaWxhYmxlPikgYXQgL3Vzci9ob21lL29wcnMvZ2l0L2ZyZWVi c2Qvc3RhYmxlLzEyL3N5cy9rZXJuL2tlcm5fc2h1dGRvd24uYzo4MDcKIzUgIDB4ZmZmZmZmZmY4 MTA5MDkxMSBpbiB0cmFwX2ZhdGFsIChmcmFtZT0weGZmZmZmZTAwMjQ4YjY1NzAsIGV2YT00MCkg YXQgL3Vzci9ob21lL29wcnMvZ2l0L2ZyZWVic2Qvc3RhYmxlLzEyL3N5cy9hbWQ2NC9hbWQ2NC90 cmFwLmM6OTIxCiM2ICAweGZmZmZmZmZmODEwOTA5NmYgaW4gdHJhcF9wZmF1bHQgKGZyYW1lPTB4 ZmZmZmZlMDAyNDhiNjU3MCwgdXNlcm1vZGU9PG9wdGltaXplZCBvdXQ+LCBzaWdubz08b3B0aW1p emVkIG91dD4sIHVjb2RlPTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IC91c3IvaG9tZS9vcHJzL2dp dC9mcmVlYnNkL3N0YWJsZS8xMi9zeXMvYW1kNjQvYW1kNjQvdHJhcC5jOjczOQojNyAgMHhmZmZm ZmZmZjgxMDhmZmI2IGluIHRyYXAgKGZyYW1lPTB4ZmZmZmZlMDAyNDhiNjU3MCkgYXQgL3Vzci9o b21lL29wcnMvZ2l0L2ZyZWVic2Qvc3RhYmxlLzEyL3N5cy9hbWQ2NC9hbWQ2NC90cmFwLmM6NDA1 CiM4ICA8c2lnbmFsIGhhbmRsZXIgY2FsbGVkPgojOSAgMHhmZmZmZmZmZjgwY2JiZWVlIGluIGlm dW5pdCAobmFtZT0weGZmZmZmZmZmODI4M2U0YmYgImVtMCIpIGF0IC91c3IvaG9tZS9vcHJzL2dp dC9mcmVlYnNkL3N0YWJsZS8xMi9zeXMvbmV0L2lmLmM6MjQ4MgojMTAgMHhmZmZmZmZmZjgyODNl MmMyIGluIHRlc3RfZGV2X29wZW4gKCkgZnJvbSAuL3Rlc3RfZGV2LmtvCiMxMSAweGZmZmZmZmZm ODBhNzhiNTAgaW4gZGV2ZnNfb3BlbiAoYXA9MHhmZmZmZmUwMDI0OGI2NzgwKSBhdCAvdXNyL2hv bWUvb3Bycy9naXQvZnJlZWJzZC9zdGFibGUvMTIvc3lzL2ZzL2RldmZzL2RldmZzX3Zub3BzLmM6 MTE0MQojMTIgMHhmZmZmZmZmZjgxMjQ3Njk1IGluIFZPUF9PUEVOX0FQViAodm9wPTB4ZmZmZmZm ZmY4MWFmNWYxMCA8ZGV2ZnNfc3BlY29wcz4sIGE9MHhmZmZmZmUwMDI0OGI2NzgwKSBhdCB2bm9k ZV9pZi5jOjQ2NwojMTMgMHhmZmZmZmZmZjgwYzlkZTE3IGluIFZPUF9PUEVOICh2cD0weGZmZmZm ODAwMmVhYjk1YTAsIG1vZGU9MSwgY3JlZD0weGZmZmZmODAwMDQ0Mjc3MDAsIHRkPTxvcHRpbWl6 ZWQgb3V0PiwgZnA9MHhmZmZmZjgwMDA0NDdlZGMwKSBhdCAuL3Zub2RlX2lmLmg6MTk2CiMxNCB2 bl9vcGVuX3Zub2RlICh2cD0weGZmZmZmODAwMmVhYjk1YTAsIGZtb2RlPTEsIGNyZWQ9MHhmZmZm ZjgwMDA0NDI3NzAwLCB0ZD08b3B0aW1pemVkIG91dD4sIGZwPTB4ZmZmZmY4MDAwNDQ3ZWRjMCkK ICAgIGF0IC91c3IvaG9tZS9vcHJzL2dpdC9mcmVlYnNkL3N0YWJsZS8xMi9zeXMva2Vybi92ZnNf dm5vcHMuYzozOTQKIzE1IDB4ZmZmZmZmZmY4MGM5ZGE2MyBpbiB2bl9vcGVuX2NyZWQgKG5kcD0w eGZmZmZmZTAwMjQ4YjY5NTgsIGZsYWdwPTB4ZmZmZmZlMDAyNDhiNmE5NCwgY21vZGU9MCwgdm5f b3Blbl9mbGFncz08b3B0aW1pemVkIG91dD4sIGNyZWQ9MHhmZmZmZjgwMDA0NDI3NzAwLAogICAg ZnA9MHhmZmZmZjgwMDA0NDdlZGMwKSBhdCAvdXNyL2hvbWUvb3Bycy9naXQvZnJlZWJzZC9zdGFi bGUvMTIvc3lzL2tlcm4vdmZzX3Zub3BzLmM6MzAxCiMxNiAweGZmZmZmZmZmODBjOTVlMTMgaW4g a2Vybl9vcGVuYXQgKHRkPTB4ZmZmZmY4MDAwNDU4NjAwMCwgZmQ9LTEwMCwgcGF0aD0weDdmZmZm ZmZmZWU2YyA8ZXJyb3I6IENhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFkZHJlc3MgMHg3ZmZmZmZm ZmVlNmM+LAogICAgcGF0aHNlZz1VSU9fVVNFUlNQQUNFLCBmbGFncz0xLCBtb2RlPTxvcHRpbWl6 ZWQgb3V0PikgYXQgL3Vzci9ob21lL29wcnMvZ2l0L2ZyZWVic2Qvc3RhYmxlLzEyL3N5cy9rZXJu L3Zmc19zeXNjYWxscy5jOjExMTQKIzE3IDB4ZmZmZmZmZmY4MTA5MTRjNyBpbiBzeXNjYWxsZW50 ZXIgKHRkPTB4ZmZmZmY4MDAwNDU4NjAwMCkKICAgIGF0IC91c3IvaG9tZS9vcHJzL2dpdC9mcmVl YnNkL3N0YWJsZS8xMi9zeXMvYW1kNjQvYW1kNjQvLi4vLi4va2Vybi9zdWJyX3N5c2NhbGwuYzox NDQKIzE4IGFtZDY0X3N5c2NhbGwgKHRkPTB4ZmZmZmY4MDAwNDU4NjAwMCwgdHJhY2VkPTApIGF0 IC91c3IvaG9tZS9vcHJzL2dpdC9mcmVlYnNkL3N0YWJsZS8xMi9zeXMvYW1kNjQvYW1kNjQvdHJh cC5jOjExNjMKIzE5IDxzaWduYWwgaGFuZGxlciBjYWxsZWQ+CiMyMCAweDAwMDAwMDA4MDAzOTc5 MWEgaW4gPz8gKCkKQmFja3RyYWNlIHN0b3BwZWQ6IENhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFk ZHJlc3MgMHg3ZmZmZmZmZmU2MDgKKGtnZGIpCg== --000000000000d5a6f205b3368c41 Content-Type: application/octet-stream; name=Makefile Content-Disposition: attachment; filename=Makefile Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kh23qcqc0 U1JDUz10ZXN0X2Rldi5jCktNT0Q9dGVzdF9kZXYKQ0ZMQUdTPS1nCgouaW5jbHVkZSA8YnNkLmtt b2QubWs+Cg== --000000000000d5a6f205b3368c41--