From owner-freebsd-fs@freebsd.org Tue May 28 11:36:41 2019 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2767115BF2A1 for ; Tue, 28 May 2019 11:36:41 +0000 (UTC) (envelope-from alexander.lochmann@tu-dortmund.de) Received: from unimail.uni-dortmund.de (mx1.hrz.uni-dortmund.de [129.217.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "unimail.tu-dortmund.de", Issuer "TU Dortmund CA - G01" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 813D37567F; Tue, 28 May 2019 11:36:40 +0000 (UTC) (envelope-from alexander.lochmann@tu-dortmund.de) Received: from [129.217.43.37] (kalamos.cs.uni-dortmund.de [129.217.43.37]) (authenticated bits=0) by unimail.uni-dortmund.de (8.16.0.41/8.16.0.41) with ESMTPSA id x4SBabSk028367 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 28 May 2019 13:36:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tu-dortmund.de; s=unimail; t=1559043398; bh=taWJ89+SNBwMwu1rNoShUnsHX8tM7gT0WP9yL4GZhcM=; h=To:Cc:References:From:Subject:Date:In-Reply-To; b=sx5J+fzjxdKcWNanFE9zJVMqawqcSH/v/pMzCzUXKnxvipZFU7NWAHUUZ1nDsyRPX 7jus0Uz7x6rxLgYuwdX0o61ZUuHEp8jsWilwFdlzEv6GMyuujmMJguUp5CUL7DsvPp az9ygYw5X9Fd7rMNjPQk8K6RT/SvNxUoISX+iopI= To: Konstantin Belousov Cc: freebsd-fs@freebsd.org, Horst Schirmeier References: <67482bf7-be1a-8f8d-ca80-2087bfc8cf99@tu-dortmund.de> <20190528105529.GH2748@kib.kiev.ua> From: Alexander Lochmann Openpgp: preference=signencrypt Autocrypt: addr=alexander.lochmann@tu-dortmund.de; prefer-encrypt=mutual; keydata= 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 spNrcZJf1pbo3EKkCwUPAltq51ramtYzOu4K Subject: Re: RFC: LockDoc - Detecting Locking Bugs in the FreeBSD Kernel Message-ID: Date: Tue, 28 May 2019 13:36:37 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190528105529.GH2748@kib.kiev.ua> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="UvUJfYpdjsYTzuinmVwFQmDAxb6ujYqdw" X-Rspamd-Queue-Id: 813D37567F X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.92 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.92)[-0.918,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 May 2019 11:36:41 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --UvUJfYpdjsYTzuinmVwFQmDAxb6ujYqdw Content-Type: multipart/mixed; boundary="upj5BSVFJBoVVn8D7Azzj03BkKop7d49I"; protected-headers="v1" From: Alexander Lochmann To: Konstantin Belousov Cc: freebsd-fs@freebsd.org, Horst Schirmeier Message-ID: Subject: Re: RFC: LockDoc - Detecting Locking Bugs in the FreeBSD Kernel References: <67482bf7-be1a-8f8d-ca80-2087bfc8cf99@tu-dortmund.de> <20190528105529.GH2748@kib.kiev.ua> In-Reply-To: <20190528105529.GH2748@kib.kiev.ua> --upj5BSVFJBoVVn8D7Azzj03BkKop7d49I Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable Thanks for your fast feedback! On 28.05.19 12:55, Konstantin Belousov wrote: >> >> It might be possible that LockDoc considers a certain access as a bug >> due to an incomplete blacklist of init and destroy functions. >> Hence, we appreciate any feedback refining our blacklist. > It is worse. I did quick look, and all the issues among 5 I looked at > where reported because the tool does not understand the vnode visibilit= y. > It is safe to access a vnode without holding any locks as far as the vn= ode > cannot be found by other threads. At which data type have you looked at? vnode? Can you please tell us which functions should be blacklisted? We have an idea in mind to overcome that issue. For now, we have to rely on the function blacklist. >=20 > For instance, while mount (VFS_MOUNT) initializes the filesystem, VFS > ensures that no thread could ever reach into it, e.g. by lookups. One > way of ensuring it is by locking the covered vnode. So a report that > devfs mount operates on some not-enough-locked vnode is false positive.= >=20 Can you please tell us to which report you are referring to? > Same for the freshly created vnode on the mounted filesystem, while the= > vnode not inserted into vfs hash or mount point vnode' list. In fact, > we typically lock the new vnode exclusively right before adding to > hash and calling insmntque(), exactly to prevent other threads to opera= te > on partially initialized vnode. Dito. - Alex >=20 > There could be valid reports, but digging in the present amount of repo= rts > with false positive is mostly equivalent to reviewing all mount/unmount= > and vnode creation/reclamation paths. It is too much to spend time use= fully, > IMO. >=20 --=20 Technische Universit=C3=A4t Dortmund Alexander Lochmann PGP key: 0xBC3EF6FD Otto-Hahn-Str. 16 phone: +49.231.7556141 D-44227 Dortmund fax: +49.231.7556116 http://ess.cs.tu-dortmund.de/Staff/al --upj5BSVFJBoVVn8D7Azzj03BkKop7d49I-- --UvUJfYpdjsYTzuinmVwFQmDAxb6ujYqdw Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEElhZsUHzVP0dbkjCRWT7tBbw+9v0FAlztHUUACgkQWT7tBbw+ 9v0nwg//XsLET6bGE7kW90igUf3oU2e6CVKDeYMDyZePTFsVc0Zl/QHLTvrF/plC L3WKQ4gwiMul4rjzSfzVhZ6eTas1imacErUNp9l+BeWKHG5EU3jWPHBuWF9A0DNb h2NRA1Up3hXZ5TJiygtl1re5uR8/lQf6AJVRzMVAdp+nlGmAU+oH31MJ4hX36HvT gq49FeYyumrVDc079MpG3kcI6bbvee04UT0kcK6D1mv1FWuAfWKkNRo49fBJN+lw SjNe/VOarNuhMM7fjEkKuUm/FXfV+qVUMQzdPdICYF9MBRK70VMPTsVaEZSQrsm7 u1LIEWFAqMwI8g61XSfJwqEPqYQOa+IWuZ4tqoiAu+9ObaMvd01lSEHVHOCFn3Iq MUCbJYPUSxztgO0u2aGt1G/n3BFD9CgS0v+l2L1l4bYUCtYY49PVAzfgPrXTeDDP 3kJYJpsGSwNp2JulKPVo1UsCDSMCecbw2PIyWcASqhLkhvrssYpDapdC716Qu6r4 n+TpZBPWlj6qcarsIt2lE3gU+jxD2hDeXKfXjGs+rClyVsqyUHOud+U5ujqh4RYe PL5YGvTORKYE8JSqnVbO4vAE4/M4v7QvmiD+8ljp9vSy9iq2SvZ2awkXWiaIWZjq G+P8grLOx+gssdiEH5bY03YfbXeMs3tIEZrVjEzO/39rP4SSkGY= =6Zy1 -----END PGP SIGNATURE----- --UvUJfYpdjsYTzuinmVwFQmDAxb6ujYqdw--