--YKGyq5YQxDjF8U6+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Sun, Jul 06, 2014 at 11:39:00PM +0200, Mateusz Guzik wrote:
> On Sun, Jul 06, 2014 at 11:18:51PM +0200, Mateusz Guzik wrote:
> > On Tue, Jul 01, 2014 at 09:09:03PM +0300, Konstantin Belousov wrote:
> > > On Tue, Jul 01, 2014 at 02:54:10PM +0200, Mateusz Guzik wrote:
> > > > It is passed down to MAC (mac_vnode_execve_will_transition and
> > > > mac_vnode_execve_transition) and then vfs_mark_atime.
> > > And we can lock it only there.
> > >=20
> >=20
> > I don't see how this code could be reorganized to reduce vnode lock
> > coverage and not add unlock + lock pair to the common case (no hwpmc and
> > no credential change).
> >=20
> > vfs_mark_atime is only called when execve cannot return an error
> > anymore, with vnode locked and proc unlocked. Moving it before hwpmc
> > checks would require additional pair of proc unlock/lock.
> >=20
> > That said, I would prefer to just commit previously proposed fixup.
> >=20
Ok.
>=20
> hm, I only now notice that fexecve case does:
> vn_lock(binvp, LK_EXCLUSIVE | LK_RETRY)
>=20
> I guess this can be safely changed to LK_SHARED.
No, it cannot. The VV_TEXT flag must be handled under the exclusive lock.
--YKGyq5YQxDjF8U6+
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBAgAGBQJTujz9AAoJEJDCuSvBvK1B9xQQAJKAK5B6rrkQhaQfF/Aq7U26
rxlDFM9TRW2XY9M6NSAGYd9f47VfHqGKCcdfW3RANj2mJkAPBz9ZtAuQcQnhQFox
77nAiLi4XTGe8+cV9ZhSAsEpP7mG47etyqN7mi7Q9zg/spVOLUeL6hvxuV7W/QUZ
aPgZBNR8+Oe5Wvu9+SvrM4vhxxEY/Ns1mrcrZsCMGVWWKq1KvrVLSkgXlHl5S6aJ
xY1t6RVcOq3TAqqNMPD3MmBdpnc7l7Sjgx14WLbGN8ZjcZznwu0P17QYvxa+h0Pb
38HGUwGkFZaPlJIQzBtu04SRZJGpbhHrTQ0t3cNS9jII5sz0ARV/XoMS/HOtC9vy
ETnHtt+La4E0u3cAvEwRO3JvJh19cHHOSDm+B3jv+0wHDIQ/IU71ZqUaKf8365YK
HNlUBjc2GrW0U7yAYTd4WYaWNnfDyRnuNuyeh+x+f4poWcxzeN5FG1wegSb2upWP
48wpxAHPFFlxbgTqBX+DmUtxliiPHgMkvQPFKabLGbXXayPLmRzCdqn12iWBJ3Hr
wy/xMU6fpY77fwn6U5eODtjkFpKlzSo6O9bxyD6Nvv4+HrHnmq80trAxQndM2ffD
7ditGe/IvNdotTHQdUzgnsZq42Mq548EsU87gHfLqTOijmXPyWscY7QzoR3X+8Tn
2r+2+gberebDSdVVzYxB
=DL2z
-----END PGP SIGNATURE-----
--YKGyq5YQxDjF8U6+--