On Wed, Dec 12, 2012 at 8:50 AM, Fubo Chen <fubo.chen@xxxxxxxxx> wrote: > On Wed, Dec 12, 2012 at 5:12 PM, Leon Romanovsky <leon@xxxxxxx> wrote: >> On Wed, Dec 12, 2012 at 7:05 AM, Fubo Chen <fubo.chen@xxxxxxxxx> wrote: >>> >>> On Wed, Dec 12, 2012 at 3:37 PM, Namjae Jeon <linkinjeon@xxxxxxxxx> wrote: >>> > + /* dot and dotdot dentries should have zero-value hash code */ >>> > + if (!memcmp(name, ".", 1) || !memcmp(name, "..", 2)) >>> > + return 0; >>> >>> That looks suspicious. If memcmp(name, "..", 2) == 0 then always >>> memcmp(name, ".", 1) == 0. Why two tests ? >> >> It is not the case vice versa, so you still need to do two checks. >> You need to distinguish dot(.), dotdot(..) and something with dot at >> the beginning (for example - .o) > > Thanks for replying. I understand that the intention is what you > explained. But to me the code says something else: "if the first byte > of name is a dot, return 0". Did I see that correctly ? Excellent catch, I agree with you It will also return 0 for every file which starts from the dot. The right solution must take name length into account. > > Fubo. -- Leon Romanovsky | Independent Linux Consultant www.leon.nu | leon@xxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html