* [Qemu-devel] [PULL for-2.5] last minute tcg fix
@ 2015-11-23 12:45 Richard Henderson
2015-11-23 12:45 ` [Qemu-devel] [PULL for-2.5] tcg: Fix highwater check Richard Henderson
2015-11-23 16:07 ` [Qemu-devel] [PULL for-2.5] last minute tcg fix Peter Maydell
0 siblings, 2 replies; 5+ messages in thread
From: Richard Henderson @ 2015-11-23 12:45 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell
Sent to me privately, for some reason, but absolutely correct
that it can occasionally cause problems.
r~
The following changes since commit 541abd10a01da56c5f16582cd32d67114ec22a5c:
Update version for v2.5.0-rc1 release (2015-11-20 17:43:46 +0000)
are available in the git repository at:
git://github.com/rth7680/qemu.git tags/pull-tcg-20151123
for you to fetch changes up to 644da9b39e477caa80bab69d2847dfcb468f0d33:
tcg: Fix highwater check (2015-11-23 13:16:05 +0100)
----------------------------------------------------------------
Last minute fix.
----------------------------------------------------------------
John Clarke (1):
tcg: Fix highwater check
tcg/tcg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] [PULL for-2.5] tcg: Fix highwater check
2015-11-23 12:45 [Qemu-devel] [PULL for-2.5] last minute tcg fix Richard Henderson
@ 2015-11-23 12:45 ` Richard Henderson
2015-11-23 13:16 ` Stefan Weil
2015-11-23 16:07 ` [Qemu-devel] [PULL for-2.5] last minute tcg fix Peter Maydell
1 sibling, 1 reply; 5+ messages in thread
From: Richard Henderson @ 2015-11-23 12:45 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, John Clarke
From: John Clarke <johnc@kirriwa.net>
A simple typo in the variable to use when comparing vs the highwater mark.
Reports are that qemu can in fact segfault occasionally due to this mistake.
Signed-off-by: John Clarke <johnc@kirriwa.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
tcg/tcg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 682af8a..b20ed19 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -2443,7 +2443,7 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
one operation beginning below the high water mark cannot overrun
the buffer completely. Thus we can test for overflow after
generating code without having to check during generation. */
- if (unlikely(s->code_gen_ptr > s->code_gen_highwater)) {
+ if (unlikely((void *)s->code_ptr > s->code_gen_highwater)) {
return -1;
}
}
--
2.4.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PULL for-2.5] tcg: Fix highwater check
2015-11-23 12:45 ` [Qemu-devel] [PULL for-2.5] tcg: Fix highwater check Richard Henderson
@ 2015-11-23 13:16 ` Stefan Weil
2015-11-23 13:49 ` Richard Henderson
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Weil @ 2015-11-23 13:16 UTC (permalink / raw)
To: Richard Henderson, qemu-devel; +Cc: peter.maydell, John Clarke
Am 23.11.2015 um 13:45 schrieb Richard Henderson:
> From: John Clarke <johnc@kirriwa.net>
>
> A simple typo in the variable to use when comparing vs the highwater mark.
> Reports are that qemu can in fact segfault occasionally due to this mistake.
>
> Signed-off-by: John Clarke <johnc@kirriwa.net>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
> tcg/tcg.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tcg/tcg.c b/tcg/tcg.c
> index 682af8a..b20ed19 100644
> --- a/tcg/tcg.c
> +++ b/tcg/tcg.c
> @@ -2443,7 +2443,7 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
> one operation beginning below the high water mark cannot overrun
> the buffer completely. Thus we can test for overflow after
> generating code without having to check during generation. */
> - if (unlikely(s->code_gen_ptr > s->code_gen_highwater)) {
> + if (unlikely((void *)s->code_ptr > s->code_gen_highwater)) {
> return -1;
> }
> }
>
Is a comparison of void pointers portable? Or would it be better
to cast both sides to uintptr_t? Or fix the declaration of
code_gen_highwater to use an uint8_t pointer and cast s->code_ptr
to that type? code_gen_highwater should be fixed anyway because
in translate-all a difference is calculated with it.
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PULL for-2.5] tcg: Fix highwater check
2015-11-23 13:16 ` Stefan Weil
@ 2015-11-23 13:49 ` Richard Henderson
0 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2015-11-23 13:49 UTC (permalink / raw)
To: Stefan Weil, qemu-devel; +Cc: peter.maydell, John Clarke
On 11/23/2015 02:16 PM, Stefan Weil wrote:
> Am 23.11.2015 um 13:45 schrieb Richard Henderson:
>> From: John Clarke <johnc@kirriwa.net>
>>
>> A simple typo in the variable to use when comparing vs the highwater mark.
>> Reports are that qemu can in fact segfault occasionally due to this mistake.
>>
>> Signed-off-by: John Clarke <johnc@kirriwa.net>
>> Signed-off-by: Richard Henderson <rth@twiddle.net>
>> ---
>> tcg/tcg.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tcg/tcg.c b/tcg/tcg.c
>> index 682af8a..b20ed19 100644
>> --- a/tcg/tcg.c
>> +++ b/tcg/tcg.c
>> @@ -2443,7 +2443,7 @@ int tcg_gen_code(TCGContext *s, tcg_insn_unit *gen_code_buf)
>> one operation beginning below the high water mark cannot overrun
>> the buffer completely. Thus we can test for overflow after
>> generating code without having to check during generation. */
>> - if (unlikely(s->code_gen_ptr > s->code_gen_highwater)) {
>> + if (unlikely((void *)s->code_ptr > s->code_gen_highwater)) {
>> return -1;
>> }
>> }
>>
>
> Is a comparison of void pointers portable?
Of course. Particularly since these really are pointers into the same
allocated object. That's 100% ANSI C.
> code_gen_highwater should be fixed anyway because
> in translate-all a difference is calculated with it.
Yes, but we freely make use of this gcc extension in many places.
r~
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PULL for-2.5] last minute tcg fix
2015-11-23 12:45 [Qemu-devel] [PULL for-2.5] last minute tcg fix Richard Henderson
2015-11-23 12:45 ` [Qemu-devel] [PULL for-2.5] tcg: Fix highwater check Richard Henderson
@ 2015-11-23 16:07 ` Peter Maydell
1 sibling, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2015-11-23 16:07 UTC (permalink / raw)
To: Richard Henderson; +Cc: QEMU Developers
On 23 November 2015 at 12:45, Richard Henderson <rth@twiddle.net> wrote:
> Sent to me privately, for some reason, but absolutely correct
> that it can occasionally cause problems.
>
>
> r~
>
>
> The following changes since commit 541abd10a01da56c5f16582cd32d67114ec22a5c:
>
> Update version for v2.5.0-rc1 release (2015-11-20 17:43:46 +0000)
>
> are available in the git repository at:
>
> git://github.com/rth7680/qemu.git tags/pull-tcg-20151123
>
> for you to fetch changes up to 644da9b39e477caa80bab69d2847dfcb468f0d33:
>
> tcg: Fix highwater check (2015-11-23 13:16:05 +0100)
>
> ----------------------------------------------------------------
> Last minute fix.
>
> ----------------------------------------------------------------
> John Clarke (1):
> tcg: Fix highwater check
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-11-23 16:07 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-23 12:45 [Qemu-devel] [PULL for-2.5] last minute tcg fix Richard Henderson
2015-11-23 12:45 ` [Qemu-devel] [PULL for-2.5] tcg: Fix highwater check Richard Henderson
2015-11-23 13:16 ` Stefan Weil
2015-11-23 13:49 ` Richard Henderson
2015-11-23 16:07 ` [Qemu-devel] [PULL for-2.5] last minute tcg fix Peter Maydell
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).