summaryrefslogtreecommitdiff
tag namepull-work.dcache (0fa21f02eaa5bbf2710e71b18d39dad11692bbd1)
tag date2022-08-03 14:37:39 -0400
tagged byAl Viro <viro@zeniv.linux.org.uk>
tagged objectcommit 50417d22d0...
Main part here is making parallel lookups safe for RT - making
sure preemption is disabled in start_dir_add()/ end_dir_add() sections (on non-RT it's automatic, on RT it needs to to be done explicitly) and moving wakeups from __d_lookup_done() inside of such to the end of those sections. Wakeups can be safely delayed for as long as ->d_lock on in-lookup dentry is held; proving that has caught a bug in d_add_ci() that allows memory corruption when sufficiently bogus ntfs (or case-insensitive xfs) image is mounted. Easily fixed, fortunately. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQQqUNBr3gm4hGXdBJlZ7Krx/gZQ6wUCYurAlAAKCRBZ7Krx/gZQ 6x0mAP9JI80PC/lkYLda+AJ7NmweorBDwrOxzB34biXtyhYDDQEAvdrV07LUkETM FDN0+jgSpUikcs/kz5NxVBPRRN+RRAY= =qpTA -----END PGP SIGNATURE-----