Index: src/wp-admin/includes/meta-boxes.php
===================================================================
--- src/wp-admin/includes/meta-boxes.php	(revision 53766)
+++ src/wp-admin/includes/meta-boxes.php	(working copy)
@@ -1459,13 +1459,13 @@
 	$publish_callback_args = array( '__back_compat_meta_box' => true );
 
 	if ( post_type_supports( $post_type, 'revisions' ) && 'auto-draft' !== $post->post_status ) {
-		$revisions = wp_get_post_revisions( $post->ID, array( 'fields' => 'ids' ) );
+		$revisions = wp_get_last_revision_id_and_total_count( $post->ID );
 
 		// We should aim to show the revisions meta box only when there are revisions.
-		if ( count( $revisions ) > 1 ) {
+		if ( ! is_wp_error( $revisions ) && $revisions['count'] > 1 ) {
 			$publish_callback_args = array(
-				'revisions_count'        => count( $revisions ),
-				'revision_id'            => reset( $revisions ),
+				'revisions_count'        => $revisions['count'],
+				'revision_id'            => $revisions['revision'],
 				'__back_compat_meta_box' => true,
 			);
 
Index: src/wp-includes/revision.php
===================================================================
--- src/wp-includes/revision.php	(revision 53769)
+++ src/wp-includes/revision.php	(working copy)
@@ -584,7 +584,7 @@
  * @since 5.9.0
  *
  * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global `$post`.
- * @return null|string The URL for editing revisions on the given post, otherwise null.
+ * @return string|null The URL for editing revisions on the given post, otherwise null.
  */
 function wp_get_post_revisions_url( $post = 0 ) {
 	$post = get_post( $post );
@@ -602,14 +602,15 @@
 		return null;
 	}
 
-	$revisions = wp_get_post_revisions( $post->ID, array( 'posts_per_page' => 1 ) );
+	$revisions = wp_get_last_revision_id_and_total_count( $post->ID );
 
-	if ( 0 === count( $revisions ) ) {
+	if ( is_wp_error( $revisions ) || 0 === $revisions['count'] ) {
 		return null;
 	}
 
-	$revision = reset( $revisions );
-	return get_edit_post_link( $revision );
+	$last_revision = $revisions['revision'];
+;
+	return get_edit_post_link( $last_revision );
 }
 
 /**
