}
 
                if (console_seq < log_first_seq) {
+                       len = sprintf(text, "** %u printk messages dropped ** ",
+                                     (unsigned)(log_first_seq - console_seq));
+
                        /* messages are gone, move to first one */
                        console_seq = log_first_seq;
                        console_idx = log_first_idx;
                        console_prev = 0;
+               } else {
+                       len = 0;
                }
 skip:
                if (console_seq == log_next_seq)
                }
 
                level = msg->level;
-               len = msg_print_text(msg, console_prev, false,
-                                    text, sizeof(text));
+               len += msg_print_text(msg, console_prev, false,
+                                     text + len, sizeof(text) - len);
                console_idx = log_next(console_idx);
                console_seq++;
                console_prev = msg->flags;