At Wed, 20 Feb 2013 14:43:09 +0100, Alexandre SIMON wrote: > > [Satoru Takeuchi] wrote the following on [20/02/2013 14:02]: > [...] > > > > I reviewed this patch and it seems to be good for me. Since I'm not good at > > printk code, I want to confirm whether what I think is correct or not. > > Is the following my understanding correct? > > No problem, it's nice to talk about this patch ! ... > > In this case, only LOG_BUF(cur_index) is safe to access and > > > > - "LOG_BUF(cur_index) + 1" as p[1], > > - "LOG_BUF(cur_index) + 2" as p[2], and > > - "LOG_BUF(cur_index) + 1 or more" as simple_strtoul(&p[1], &endp, 10) > > > > in log_prefix() are not to do so. Hence touching them would cause the > > system hang as you > > said as follows. > > Yes, your analyze is totally right. Your figure is clear and shows exactly > when the problem occurs in the "borderline case". > The initial code does not check that the "cur_index" can be at the end of > "log_buf" whereas "log_prefix" function may access to one, two or more > indexes after.
Alex, thank you for quick response and the detailed explanation. Greg, then I can say this patch looks correct and 3.0.66-rc1 version is too. Thanks, Satoru -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/