Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Sep 2013 00:21:27 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Patrick Lamaiziere <patfbsd@davenulle.org>, freebsd-stable@freebsd.org
Subject:   Re: Possible kqueue related issue on STABLE/RC.
Message-ID:  <20130924212127.GQ41229@kib.kiev.ua>
In-Reply-To: <20130924174517.GB14220@funkthat.com>
References:  <alpine.BSF.2.00.1309112316160.2547@olgeni.olgeni> <20130912073643.GM41229@kib.kiev.ua> <20130920151705.33aae120@mr129166> <20130923153708.45c3be3d@mr129166> <20130923203141.GV41229@kib.kiev.ua> <20130924094427.0f4b902a@mr129166> <20130924082909.GH41229@kib.kiev.ua> <20130924114738.60c700c9@mr129166> <20130924121434.GI41229@kib.kiev.ua> <20130924174517.GB14220@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--PgVg6bJejIHNFqRl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Sep 24, 2013 at 10:45:17AM -0700, John-Mark Gurney wrote:
> I'd like to understand why you think protecting these functions w/
> the _DETACHED check is correct...  In kern_event.c, all calls to
> f_detach are followed by knote_drop which will ensure that the knote
> is removed and free, so no more f_event calls will be called on that
> knote..

My current belief is that what happens is a glitch in the
kqueue_register(). After a new knote is created and attached, the kq
lock is dropped and then f_event() is called. If the vnode is reclaimed
or possible freed meantime, f_event() seems to dereference freed memory,
since kn_hook points to freed vnode.

The issue as I see it is that vnode lifecycle is detached from the knote
lifecycle.  Might be, only the second patch, which acquires a hold reference
on the vnode for each knote, is really needed.  But before going into any
conclusions, I want to see the testing results.

--PgVg6bJejIHNFqRl
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.21 (FreeBSD)

iQIcBAEBAgAGBQJSQgJWAAoJEJDCuSvBvK1BW5UP/RKHmw7vio4PnCbXcBfjfWWX
CKClfIeVOvMGmouOWzUUZzsVnb5ne9LMWOkpCyIwFMAxXrD5m9OKVmfWV5LTb5DF
CXLGeK/DIAYUd1bJVhgTE/NCVCK2FpvYTLDW257+S+oGvwYaYK/n5QfOtwATf21l
gAXn41A8mrfSLgvX05bNr+We05AJ5bB4NwIIDc3IkatbqNgPFnX+ffmiUut9yHOZ
fjN15LhfHaIUz7f781x8Chyv6F89aQDZZFswl6dvzecU4cHSuiBu5YrSQMOEN9rs
pYVS/fCQjEG0T9i0tvf0W2Tfhhxg8noU7wi5QSihhImg+3vyLdTyLPtMVE2r0C99
V4NqVSc3Tf1okAIUsZv1weKlMF9VdZ17yTOiDZ/wm5mzNu1u5zeZKhZBqEpfucCV
hlnXA4qG34+crBVIeTn/PvxbBJIrHweddMZG1nE7P8+v7gZI7uIJbDSs7lWDGfbt
K5VI3XhAMgr9hshG4XARNKhsIhcB7MaBStE2JkNM+Wckuo5jqaVtCEDJPh7mIHph
9bng0YRZtPn18zUfIIIj/yM2spwixMKkO4NI5JXF2+k+4pB9oSS+vv5qDKNvY0cH
1mJ89vHfQhEz8vOsvQp9rNHqPGzbuDjkcYxc451KdQFft8QcCThEf2i4pKdzZ44U
053gy6wKf3oaguNuS+kE
=13Cg
-----END PGP SIGNATURE-----

--PgVg6bJejIHNFqRl--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130924212127.GQ41229>