{"push_id":697927370,"size":3,"distinct_size":1,"ref":"refs/heads/hardened/current/master","head":"6a4393901dfa023657372224b9b62702eef87aee","before":"79745e6fad89df0c4a55e3034acf4440017159a4","commits":[{"sha":"6f06df98abde25c97a9ae45a2479ffec690e1b32","author":{"email":"6769db84adc092afdd64a08e74a3d0e78d790044@FreeBSD.org","name":"kan"},"message":"Continue ubreaking ``env LANG=ru_RU.KOI8-R ls -l''.\n\nFile names are in current locale as well.","distinct":false,"url":"https://api.github.com/repos/HardenedBSD/hardenedBSD/commits/6f06df98abde25c97a9ae45a2479ffec690e1b32"},{"sha":"becc575eec74ac5ab5b5c8e2033984ef817278cd","author":{"email":"67150a9dcf8948cde92f2ba91d8ada0d3335c521@FreeBSD.org","name":"kib"},"message":"vfs_msync(), called from syncer vnode fsync VOP, only iterates over\nthe active vnode list for the given mount point, with the assumption\nthat vnodes with dirty pages are active.  This is enforced by\nvinactive() doing vm_object_page_clean() pass over the vnode pages.\n\nThe issue is, if vinactive() cannot be called during vput() due to the\nvnode being only shared-locked, we might end up with the dirty pages\nfor the vnode on the free list.  Such vnode is invisible to syncer,\nand pages are only cleaned on the vnode reactivation.  In other words,\nthe race results in the broken guarantee that user data, written\nthrough the mmap(2), is written to the disk not later than in 30\nseconds after the write.\n\nFix this by keeping the vnode which is freed but still owing\ninactivation, on the active list.  When syncer loops find such vnode,\nit is deactivated and cleaned by the final vput() call.\n\nTested by:\tpho\nSponsored by:\tThe FreeBSD Foundation\nMFC after:\t2 weeks","distinct":false,"url":"https://api.github.com/repos/HardenedBSD/hardenedBSD/commits/becc575eec74ac5ab5b5c8e2033984ef817278cd"},{"sha":"6a4393901dfa023657372224b9b62702eef87aee","author":{"email":"b0125fa187132d47dbe983b53b8ad9c1146edd9c@hardenedbsd.org","name":"Oliver Pinter +"},"message":"Merge remote-tracking branch 'freebsd/master' into hardened/current/master","distinct":true,"url":"https://api.github.com/repos/HardenedBSD/hardenedBSD/commits/6a4393901dfa023657372224b9b62702eef87aee"}]}