| .. | .. |
|---|
| 160 | 160 | static inline void printk_nmi_direct_exit(void) { } |
|---|
| 161 | 161 | #endif /* PRINTK_NMI */ |
|---|
| 162 | 162 | |
|---|
| 163 | + |
|---|
| 163 | 164 | struct dev_printk_info; |
|---|
| 165 | + |
|---|
| 166 | +#ifdef CONFIG_RAW_PRINTK |
|---|
| 167 | +void raw_puts(const char *s, size_t len); |
|---|
| 168 | +void raw_vprintk(const char *fmt, va_list ap); |
|---|
| 169 | +asmlinkage __printf(1, 2) |
|---|
| 170 | +void raw_printk(const char *fmt, ...); |
|---|
| 171 | +#else |
|---|
| 172 | +static inline __cold |
|---|
| 173 | +void raw_puts(const char *s, size_t len) { } |
|---|
| 174 | +static inline __cold |
|---|
| 175 | +void raw_vprintk(const char *s, va_list ap) { } |
|---|
| 176 | +static inline __printf(1, 2) __cold |
|---|
| 177 | +void raw_printk(const char *s, ...) { } |
|---|
| 178 | +#endif |
|---|
| 164 | 179 | |
|---|
| 165 | 180 | #ifdef CONFIG_PRINTK |
|---|
| 166 | 181 | asmlinkage __printf(4, 0) |
|---|
| .. | .. |
|---|
| 512 | 527 | DEFAULT_RATELIMIT_INTERVAL, \ |
|---|
| 513 | 528 | DEFAULT_RATELIMIT_BURST); \ |
|---|
| 514 | 529 | \ |
|---|
| 515 | | - if (__ratelimit(&_rs)) \ |
|---|
| 530 | + if (running_oob() || __ratelimit(&_rs)) \ |
|---|
| 516 | 531 | printk(fmt, ##__VA_ARGS__); \ |
|---|
| 517 | 532 | }) |
|---|
| 518 | 533 | #else |
|---|