On Thu, Jun 24, 2021 at 11:26:53AM +0200, Petr Mladek wrote: > On Tue 2021-06-22 17:36:39, Andy Shevchenko wrote: > > On Tue, Jun 22, 2021 at 10:06:31PM +0800, Jia He wrote: > > > This helper is similar to d_path() except that it doesn't take any > > > seqlock/spinlock. It is typical for debugging purposes. Besides, > > > an additional return value *prenpend_len* is used to get the full > > > path length of the dentry, ingoring the tail '\0'. > > > the full path length = end - buf - prepend_length - 1 > > > > Missed period at the end of sentence. > > > > > Previously it will skip the prepend_name() loop at once in > > > __prepen_path() when the buffer length is not enough or even negative. > > > prepend_name_with_len() will get the full length of dentry name > > > together with the parent recursively regardless of the buffer length. > > > > > If someone invokes snprintf() with small but positive space, > > > prepend_name_with_len() moves and copies the string partially. > > > > > > More than that, kasprintf() will pass NULL _buf_ and _end_ as the > > > parameters. Hence return at the very beginning with false in this case. > > > > These two paragraphs are talking about printf() interface, while patch has > > nothing to do with it. Please, rephrase in a way that it doesn't refer to the > > particular callers. Better to mention them in the corresponding printf() > > patch(es). > > The two paragraphs are actually repeated in the 2nd > patch. Unfortunately, they do not make sense there either because they > comment code that is modified in this patch. > > We could describe it here a generic way. For example: > > prepend_name_with_len() moves and copies the path when the given > buffer is not big enough. It cuts off the end of the path. > It returns immediately when there is no buffer at all. Yes, that's my point, but sorry if I made it unclear. -- With Best Regards, Andy Shevchenko