strace:
msync(0xb8052000, 32, MS_SYNC) = -1 EINVAL (Invalid argument)
PAGESIZE == 0x1000 (т.е. синхронизуемый адрес кратный странице).
man msync:
EINVAL addr is not a multiple of PAGESIZE; or any bit other than MS_ASYNC | MS_INVALIDATE | MS_SYNC is set in flags; or both MS_SYNC and MS_ASYNC are set in flags.
Если использую MS_ASYNC, то проблема исчезает.