Hi, On Mon, 3 Feb 2020 11:51:32 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > Hi all, > > On Wed, 15 Jan 2020 16:47:08 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > > Hi all, > > > > Today's linux-next merge of the akpm-current tree got a conflict in: > > > > init/main.c > > > > between commit: > > > > 0068c92a9270 ("init/main.c: Alloc initcall_command_line in do_initcall() and free it") > > > > from the ftrace tree and commit: > > > > 21cc5aef9811 ("init/main.c: remove unnecessary repair_env_string in do_initcall_level") > > > > from the akpm-current tree. > > > > I fixed it up (see below) and can carry the fix as necessary. This > > is now fixed as far as linux-next is concerned, but any non trivial > > conflicts should be mentioned to your upstream maintainer when your tree > > is submitted for merging. You may also want to consider cooperating > > with the maintainer of the conflicting tree to minimise any particularly > > complex conflicts. > > Thanks for noticing the conflict and fixing! > > @@@ -1162,15 -990,22 +1161,21 @@@ static const char *initcall_level_names > > "late", > > }; > > > > + static int __init ignore_unknown_bootoption(char *param, char *val, > > + const char *unused, void *arg) > > + { > > + return 0; > > + } > > + > > -static void __init do_initcall_level(int level) > > +static void __init do_initcall_level(int level, char *command_line) > > { > > initcall_entry_t *fn; > > > > - strcpy(initcall_command_line, saved_command_line); > > parse_args(initcall_level_names[level], > > - initcall_command_line, __start___param, > > + command_line, __start___param, > > __stop___param - __start___param, > > level, level, > > - NULL, &repair_env_string); > > + NULL, ignore_unknown_bootoption); > > > > trace_initcall_level(initcall_level_names[level]); > > for (fn = initcall_levels[level]; fn < initcall_levels[level+1]; fn++) > > This is now a conflict between the ftrace tree and Linus' tree. Yeah, this fix looks good to me. As far as I can see, the issue is below 2 lines. > > -static void __init do_initcall_level(int level) > > +static void __init do_initcall_level(int level, char *command_line) Basically, the command_line is copied from saved_command_line each time when do_initcall_level() is invoked, so the precondition of the commit 21cc5aef9811 ("init/main.c: remove unnecessary repair_env_string in do_initcall_level") remains the same. Thank you, -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>