看板 FB_svn 關於我們 聯絡資訊
--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+--