static int syslog_print(char __user *buf, int size)
{
- char *text;
+ char text[LOG_LINE_MAX + PREFIX_MAX];
struct printk_log *msg;
int len = 0;
- text = kmalloc(LOG_LINE_MAX + PREFIX_MAX, GFP_KERNEL);
- if (!text)
- return -ENOMEM;
+ memset(&text, 0, LOG_LINE_MAX + PREFIX_MAX);
while (size > 0) {
size_t n;
buf += n;
}
- kfree(text);
return len;
}
static int syslog_print_all(char __user *buf, int size, bool clear)
{
- char *text;
+ char text[LOG_LINE_MAX + PREFIX_MAX];
int len = 0;
- text = kmalloc(LOG_LINE_MAX + PREFIX_MAX, GFP_KERNEL);
- if (!text)
- return -ENOMEM;
+ memset(&text, 0, LOG_LINE_MAX + PREFIX_MAX);
raw_spin_lock_irq(&logbuf_lock);
if (buf) {
}
raw_spin_unlock_irq(&logbuf_lock);
- kfree(text);
return len;
}