lkml.org 
[lkml]   [2013]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/3] firmware loader: allow distribution to choose default search paths
At Wed, 5 Jun 2013 20:36:19 +0800,
Ming Lei wrote:
>
> On Wed, Jun 5, 2013 at 7:57 PM, Takashi Iwai <tiwai@suse.de> wrote:
> >
> > Hmm, separating with semicolons isn't so common, but we can live with
>
> Looks there are seldom such usage patterns in kernel, so could you let me
> know which separator is more common?

$PATH uses colon, but I don't know of many others.

> > it. I thought the previous loop can be kept but just pass each member
> > to fw_get_file_firmware() unconditionally. This will reduce the
> > changes, I guess. But it's just a matter of taste, here is no
> > critically hot path, after all.
>
> Yes, aother way is to move 'fw_path_para' out of fw_path[], and only
> let fw_get_fw_file_from_paths() deal with 'fw_path_para' and
> CONFIG_FW_CUSTOMIZED_PATH. Looks it is still clean.

Why not just pass all strings to fw_get_fw_file_from_paths(), no
matter whether it's a single or multiple path strings?

static const char * const fw_path[] = {
fw_path_para,
#ifdef CONFIG_FW_CUSTOMIZED_PATH
CONFIG_FW_CUSTOMIZED_PATH,
#endif
"/lib/firmware/updates/" UTS_RELEASE,
"/lib/firmware/updates",
"/lib/firmware/" UTS_RELEASE,
};

....

for (i = 0; i < ARRAY_SIZE(fw_path); i++) {
/* skip the unset customized path */
if (!fw_path[i][0])
continue;
success = fw_get_fw_file_from_paths(fw_path[i], path, buf);
if (success)
break;
}

>
>
> >> + if (strstr(path, ".."))
> >> + continue;
> >
> > I expect you'll prepare this path sanity check part in a separate
> > patch, right? It's basically independent from the new kconfig.
>
> Yes, it will be submitted as another patch, also I plan to add
> the check on firmware_name in _request_firmware_prepare()
> so that the similar problem can be found earlier.

Sounds good.


Takashi


\
 
 \ /
  Last update: 2013-06-05 15:21    [W:0.102 / U:25.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site