[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <910d9157-1168-a7b7-8a9b-56a93687170c@kernel.org>
Date: Sat, 11 Feb 2023 09:22:47 +0800
From: Chao Yu <chao@...nel.org>
To: Alexey Dobriyan <adobriyan@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: viro@...iv.linux.org.uk, linux-kernel@...r.kernel.org,
linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH 1/2] proc: fix to check name length in proc_lookup_de()
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;
> }
Powered by blists - more mailing lists