My original understanding of this test was wrong although the test is still broken and there is probably also a bug in glibc. I have an open pull request for changing the test here: https://github.com/linux-test-project/ltp/pull/126 It appears the child process inherits the lock from its parent and so can't lock a file handle which was locked in the parent. When a fork happens it should delete the locks.