upstream 5.4.28