Index: wp-includes/comment.php
===================================================================
--- wp-includes/comment.php	(revision 29847)
+++ wp-includes/comment.php	(working copy)
@@ -258,6 +258,7 @@
 	 *
 	 * @since 3.1.0
 	 * @since 4.1.0 Introduced 'comment__in', 'comment__not_in',
+	 * 		'post_author__in', 'post_author__not_in',
 	 *              'post__in', and 'post__not_in' to $query_vars.
 	 *
 	 * @param string|array $query_vars
@@ -278,6 +279,8 @@
 			'orderby' => '',
 			'order' => 'DESC',
 			'parent' => '',
+			'post_author__in' => '',
+			'post_author__not_in' => '',
 			'post_ID' => '',
 			'post_id' => 0,
 			'post__in' => '',
@@ -475,7 +478,21 @@
 			foreach( $post_fields as $field_name => $field_value )
 				$where .= $wpdb->prepare( " AND {$wpdb->posts}.{$field_name} = %s", $field_value );
 		}
+		
+		if ( ! empty( $this->query_vars['post_author__in'] ) ) {
+			if ( empty( $join ) ) {
+				$join = "JOIN $wpdb->posts ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID";
+			}
+			$where .= ' AND post_author IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['post_author__in'] ) ) . ' )';
+		}
 
+		if ( ! empty( $this->query_vars['post_author__not_in'] ) ) {
+			if ( empty( $join ) ) {
+				$join = "JOIN $wpdb->posts ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID";
+			}
+			$where .= ' AND post_author NOT IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['post_author__not_in'] ) ) . ' )';
+		}
+
 		if ( ! empty( $this->meta_query->queries ) ) {
 			$clauses = $this->meta_query->get_sql( 'comment', $wpdb->comments, 'comment_ID', $this );
 			$join .= $clauses['join'];
