upstream 5.4.29