On Mon 2018-10-08 23:59:50, Sergey Senozhatsky wrote: > On (10/08/18 15:59), Petr Mladek wrote: > > I tried this patch with log_buf_len=5G. The kernel did not crash > > but dmesg shown some mess. There are several 32-bit variables > > to store the size, for example: > > > > static u32 log_buf_len = __LOG_BUF_LEN; > > u32 log_buf_len_get(void) > > static u32 log_first_idx; > > static u32 log_next_idx; > > > > I guess that the code somewhere does not detect an overflows > > correctly. > > > > I am not motivated enought to add support for such huge message > > buffer. Therefore I suggest to limit it to 32G for now. > > Yeah, I think we gonna have problems even with a 4G logbuf and a 32-bit > user-space doing syslog(int len). > > I agree on the "not motivated enough" part ;)
OK, I have pushed an updated patch that has the limit 2GB into printk.git, for-4.20 branch. Note that it is slightly different than the yesterday's proposal. I made a mistake in testing and still compared with UNIT_MAX. The pushed version can be seen at https://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git/commit/?h=for-4.20&id=e6fe3e5b7d16e8f146a4ae7fe481bc6e97acde1e Best Regards, Petr