[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 1/2] fuzz/x86emul: avoid race in link farm rune



>>> On 20.02.17 at 13:05, <wei.liu2@xxxxxxxxxx> wrote:
> Several `ln -sf` can race with each other and cause error like:
> 
> 14:43:56 00:07:06 O: ln: cannot remove 'asm': No such file or directory
> 
> Provide dedicated targets for soft-linking directories.
> 
> Reported-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
> v3: use pattern matching rule
> ---
>  tools/fuzz/x86_instruction_emulator/Makefile | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/fuzz/x86_instruction_emulator/Makefile 
> b/tools/fuzz/x86_instruction_emulator/Makefile
> index fede7e9afd..b0ea31b2b0 100644
> --- a/tools/fuzz/x86_instruction_emulator/Makefile
> +++ b/tools/fuzz/x86_instruction_emulator/Makefile
> @@ -8,11 +8,15 @@ else
>  x86-instruction-emulator-fuzzer-all:
>  endif
>  
> -x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h:
> -     [ -L x86_emulate ] || ln -sf $(XEN_ROOT)/xen/arch/x86/x86_emulate .
> +x86_emulate:
> +     [ -L $@ ] || ln -sf $(XEN_ROOT)/xen/arch/x86/$@ .

For consistency with the ln at the very bottom (patch context) you
may want to omit the . here.

> -asm/x86-vendors.h asm/x86-defns.h asm/msr-index.h:
> -     [ -L asm ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 asm
> +x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h: x86_emulate

So why don't you use a pattern rule here?

> +asm:
> +     [ -L $@ ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 $@
> +
> +asm/%: asm ;

Is the semicolon needed here? You don't have one above ...

Jan

>  x86_emulate.c x86_emulate.h: %:
>       [ -L $* ] || ln -sf $(XEN_ROOT)/tools/tests/x86_emulator/$*



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.