The 5.6.14 merge replaced one incorrect locking with another: it added the 1. exit, which actually is the correct one. Thus, before 5.6.14, it was a potential debug build crash in buf_buddy_free_low() called from buf_LRU_block_free_non_file_page() in ut_ad(!mutex_own(&buf_pool->zip_mutex)). That must have been introduced by the buffer pool mutex split patch 5.6 port.
The 5.6.14 merge replaced one incorrect locking with another: it added the 1. exit, which actually is the correct one. Thus, before 5.6.14, it was a potential debug build crash in buf_buddy_ free_low( ) called from buf_LRU_ block_free_ non_file_ page() in ut_ad(! mutex_own( &buf_pool- >zip_mutex) ). That must have been introduced by the buffer pool mutex split patch 5.6 port.