xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] Fuzz/x86emul and x86emul/test fixes
@ 2017-02-20 12:05 Wei Liu
  2017-02-20 12:05 ` [PATCH v3 1/2] fuzz/x86emul: avoid race in link farm rune Wei Liu
  2017-02-20 12:05 ` [PATCH v3 2/2] x86emul/test: " Wei Liu
  0 siblings, 2 replies; 6+ messages in thread
From: Wei Liu @ 2017-02-20 12:05 UTC (permalink / raw)
  To: Xen-devel; +Cc: Andrew Cooper, Ian Jackson, Wei Liu, Jan Beulich

Wei Liu (2):
  fuzz/x86emul: avoid race in link farm rune
  x86emul/test: avoid race in link farm rune

 tools/fuzz/x86_instruction_emulator/Makefile | 12 ++++++++----
 tools/tests/x86_emulator/Makefile            | 12 ++++++++----
 2 files changed, 16 insertions(+), 8 deletions(-)

-- 
2.11.0


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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 1/2] fuzz/x86emul: avoid race in link farm rune
  2017-02-20 12:05 [PATCH v3 0/2] Fuzz/x86emul and x86emul/test fixes Wei Liu
@ 2017-02-20 12:05 ` Wei Liu
  2017-02-20 12:37   ` Jan Beulich
  2017-02-20 12:05 ` [PATCH v3 2/2] x86emul/test: " Wei Liu
  1 sibling, 1 reply; 6+ messages in thread
From: Wei Liu @ 2017-02-20 12:05 UTC (permalink / raw)
  To: Xen-devel; +Cc: Andrew Cooper, Ian Jackson, Wei Liu, Jan Beulich

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@citrix.com>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
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/$@ .
 
-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
+
+asm:
+	[ -L $@ ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 $@
+
+asm/%: asm ;
 
 x86_emulate.c x86_emulate.h: %:
 	[ -L $* ] || ln -sf $(XEN_ROOT)/tools/tests/x86_emulator/$*
-- 
2.11.0


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

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 2/2] x86emul/test: avoid race in link farm rune
  2017-02-20 12:05 [PATCH v3 0/2] Fuzz/x86emul and x86emul/test fixes Wei Liu
  2017-02-20 12:05 ` [PATCH v3 1/2] fuzz/x86emul: avoid race in link farm rune Wei Liu
@ 2017-02-20 12:05 ` Wei Liu
  1 sibling, 0 replies; 6+ messages in thread
From: Wei Liu @ 2017-02-20 12:05 UTC (permalink / raw)
  To: Xen-devel; +Cc: Andrew Cooper, Ian Jackson, Wei Liu, Jan Beulich

Several `ln -sf` can race with each other.  Provide dedicated targets
for soft-linking directories.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/tests/x86_emulator/Makefile | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 9bf36947c0..e0cd88d13d 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -40,11 +40,15 @@ distclean: clean
 .PHONY: install
 install:
 
-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/$@ .
 
-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
+
+asm:
+	[ -L $@ ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 $@
+
+asm/%: asm ;
 
 HOSTCFLAGS += $(CFLAGS_xeninclude) -I.
 
-- 
2.11.0


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

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/2] fuzz/x86emul: avoid race in link farm rune
  2017-02-20 12:05 ` [PATCH v3 1/2] fuzz/x86emul: avoid race in link farm rune Wei Liu
@ 2017-02-20 12:37   ` Jan Beulich
  2017-02-20 14:05     ` Wei Liu
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Beulich @ 2017-02-20 12:37 UTC (permalink / raw)
  To: Wei Liu; +Cc: Andrew Cooper, Ian Jackson, Xen-devel

>>> On 20.02.17 at 13:05, <wei.liu2@citrix.com> 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@citrix.com>
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> ---
> 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@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/2] fuzz/x86emul: avoid race in link farm rune
  2017-02-20 12:37   ` Jan Beulich
@ 2017-02-20 14:05     ` Wei Liu
  2017-02-20 14:28       ` Jan Beulich
  0 siblings, 1 reply; 6+ messages in thread
From: Wei Liu @ 2017-02-20 14:05 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Andrew Cooper, Wei Liu, Ian Jackson, Xen-devel

On Mon, Feb 20, 2017 at 05:37:56AM -0700, Jan Beulich wrote:
> >>> On 20.02.17 at 13:05, <wei.liu2@citrix.com> 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@citrix.com>
> > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> > ---
> > 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.
> 

Sure.

> > -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?
> 

Forgot this place. Will fix.

> > +asm:
> > +	[ -L $@ ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 $@
> > +
> > +asm/%: asm ;
> 
> Is the semicolon needed here? You don't have one above ...
> 

Yes, this is needed; otherwise make complains not knowing how to make
the target.  When I change x86_emulate.[ch] to use patter rule, I will
need to add a semicolon as well.

From Make manual for empty recipes:

Empty recipes can also be used to avoid errors for targets that will be
created as a side-effect of another recipe: if the target does not exist
the empty recipe ensures that make won’t complain that it doesn't know
how to build the target, and make will assume the target is out of date.

Wei.

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

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 1/2] fuzz/x86emul: avoid race in link farm rune
  2017-02-20 14:05     ` Wei Liu
@ 2017-02-20 14:28       ` Jan Beulich
  0 siblings, 0 replies; 6+ messages in thread
From: Jan Beulich @ 2017-02-20 14:28 UTC (permalink / raw)
  To: Wei Liu; +Cc: Andrew Cooper, Ian Jackson, Xen-devel

>>> On 20.02.17 at 15:05, <wei.liu2@citrix.com> wrote:
> On Mon, Feb 20, 2017 at 05:37:56AM -0700, Jan Beulich wrote:
>> >>> On 20.02.17 at 13:05, <wei.liu2@citrix.com> wrote:
>> > +asm:
>> > +	[ -L $@ ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 $@
>> > +
>> > +asm/%: asm ;
>> 
>> Is the semicolon needed here? You don't have one above ...
>> 
> 
> Yes, this is needed; otherwise make complains not knowing how to make
> the target.  When I change x86_emulate.[ch] to use patter rule, I will
> need to add a semicolon as well.
> 
> From Make manual for empty recipes:
> 
> Empty recipes can also be used to avoid errors for targets that will be
> created as a side-effect of another recipe: if the target does not exist
> the empty recipe ensures that make won’t complain that it doesn't know
> how to build the target, and make will assume the target is out of date.

Oh, yes, of course.

Jan

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-02-20 14:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-20 12:05 [PATCH v3 0/2] Fuzz/x86emul and x86emul/test fixes Wei Liu
2017-02-20 12:05 ` [PATCH v3 1/2] fuzz/x86emul: avoid race in link farm rune Wei Liu
2017-02-20 12:37   ` Jan Beulich
2017-02-20 14:05     ` Wei Liu
2017-02-20 14:28       ` Jan Beulich
2017-02-20 12:05 ` [PATCH v3 2/2] x86emul/test: " Wei Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).