Re: [PATCH 1/2] proc: fix to check name length in proc_lookup_de()

From: Chao Yu
Date: Fri Feb 10 2023 - 20:22:55 EST


On 2023/2/5 20:21, Alexey Dobriyan wrote:
Nothing! /proc lived without this check for 30 years:

Oh, I'm trying make error handling logic of proc's lookup() to be the
same as other generic filesystem, it looks you don't think it's worth or
necessary to do that, anyway, the change is not critial, let's ignore it,
thank you for reviewing this patch.

Thanks,


int proc_match(int len,const char * name,struct proc_dir_entry * de)
{
register int same __asm__("ax");

if (!de || !de->low_ino)
return 0;
/* "" means "." ---> so paths like "/usr/lib//libc.a" work */
if (!len && (de->name[0]=='.') && (de->name[1]=='\0'))
return 1;
if (de->namelen != len)
return 0;
__asm__("cld\n\t"
"repe ; cmpsb\n\t"
"setz %%al"
:"=a" (same)
:"0" (0),"S" ((long) name),"D" ((long) de->name),"c" (len)
:"cx","di","si");
return same;
}