|
From: | preeti soni |
Subject: | [Qemu-devel] Want to discuss about Outreach Program for Women |
Date: | Wed, 19 Mar 2014 20:34:08 +0530 |
Send Qemu-devel mailing list submissions to
address@hidden
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.nongnu.org/mailman/listinfo/qemu-devel
or, via email, send a message with subject or body 'help' to
address@hidden
You can reach the person managing the list at
address@hidden
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Qemu-devel digest..."
Today's Topics:
1. Re: [PATCH 1/4] block: qemu-iotests - add common.qemu, for
bash-controlled qemu tests (Eric Blake)
2. Re: [PATCH] target-ppc: Fix h_enter to loop correctly
(Aneesh Kumar K.V)
3. Re: [PATCH 1/4] block: qemu-iotests - add common.qemu, for
bash-controlled qemu tests (Eric Blake)
4. Re: [PULL for-2.0 0/7] linux-user patches (Peter Maydell)
5. Re: [PATCH 1/4] block: qemu-iotests - add common.qemu, for
bash-controlled qemu tests (Jeff Cody)
6. Re: [PATCH 1/4] block: qemu-iotests - add common.qemu, for
bash-controlled qemu tests (Eric Blake)
7. Re: [PATCH] scripts: add sample model file for Coverity Scan
(Paolo Bonzini)
----------------------------------------------------------------------
Message: 1
Date: Wed, 19 Mar 2014 08:28:07 -0600
From: Eric Blake <address@hidden>
To: Jeff Cody <address@hidden>, Beno?t Canet
<address@hidden>
Cc: address@hidden, address@hidden, address@hidden
Subject: Re: [Qemu-devel] [PATCH 1/4] block: qemu-iotests - add
common.qemu, for bash-controlled qemu tests
Message-ID: <address@hidden>
Content-Type: text/plain; charset="utf-8"
On 03/19/2014 08:19 AM, Jeff Cody wrote:
>>> + then
>>> + _timed_wait_for ${h} "${@: -1}"
>>
>> You have done shift before this. Aren't ${*} the remaining strings to wait for ?
>>
>
> I could probably get rid of the 2nd shift, although I would have to
> adjust the conditional below.
>
> I do ${@: -1} because I want the very last whole string to be the item
> to wait for - this is only needed to accommodate pathnames with spaces
> inside the QMP string.
${@: -1} is not portable:
$ bash -c 'set 1 2 3; echo ${@: -1}'
3
$ dash -c 'set 1 2 3; echo ${@: -1}'
dash: 1: Bad substitution
If you want the last argument, you'll have to do something hideous like:
eval \${$#}
Short of using eval, there is no portable way to get at the last
positional argument in dash.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://lists.nongnu.org/archive/html/qemu-devel/attachments/20140319/279b0fb9/attachment.pgp>
------------------------------
Message: 2
Date: Wed, 19 Mar 2014 20:01:33 +0530
From: "Aneesh Kumar K.V" <address@hidden>
To: address@hidden, address@hidden, Paolo Bonzini
<address@hidden>, Peter Maydell <address@hidden>
Cc: address@hidden, address@hidden
Subject: Re: [Qemu-devel] [PATCH] target-ppc: Fix h_enter to loop
correctly
Message-ID: <address@hidden>
Content-Type: text/plain
Hi,
I guess this should get into 2.0 ?
"Aneesh Kumar K.V" <address@hidden> writes:
> From: "Aneesh Kumar K.V" <address@hidden>
>
> We wanted to loop till index is 8. On 8 we return with H_PTEG_FULL. If we are
> successful in loading hpte with any other index, we continue with that
> index value.
>
> Reported-by: Paolo Bonzini <address@hidden>
> Signed-off-by: Aneesh Kumar K.V <address@hidden>
> ---
> hw/ppc/spapr_hcall.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
> index e999bbaea062..2ab55d568bf4 100644
> --- a/hw/ppc/spapr_hcall.c
> +++ b/hw/ppc/spapr_hcall.c
> @@ -110,16 +110,15 @@ static target_ulong h_enter(PowerPCCPU *cpu, sPAPREnvironment *spapr,
> if (likely((flags & H_EXACT) == 0)) {
> pte_index &= ~7ULL;
> token = ppc_hash64_start_access(cpu, pte_index);
> - do {
> - if (index == 8) {
> - ppc_hash64_stop_access(token);
> - return H_PTEG_FULL;
> - }
> + for (; index < 8; index++) {
> if ((ppc_hash64_load_hpte0(env, token, index) & HPTE64_V_VALID) == 0) {
> break;
> }
> - } while (index++);
> + }
> ppc_hash64_stop_access(token);
> + if (index == 8) {
> + return H_PTEG_FULL;
> + }
> } else {
> token = ppc_hash64_start_access(cpu, pte_index);
> if (ppc_hash64_load_hpte0(env, token, 0) & HPTE64_V_VALID) {
> --
> 1.8.3.2
-aneesh
------------------------------
Message: 3
Date: Wed, 19 Mar 2014 08:32:36 -0600
From: Eric Blake <address@hidden>
To: Jeff Cody <address@hidden>, Beno?t Canet
<address@hidden>
Cc: address@hidden, address@hidden, address@hidden
Subject: Re: [Qemu-devel] [PATCH 1/4] block: qemu-iotests - add
common.qemu, for bash-controlled qemu tests
Message-ID: <address@hidden>
Content-Type: text/plain; charset="utf-8"
On 03/19/2014 08:28 AM, Eric Blake wrote:
> $ dash -c 'set 1 2 3; echo ${@: -1}'
> dash: 1: Bad substitution
>
> If you want the last argument, you'll have to do something hideous like:
>
> eval \${$#}
>
> Short of using eval, there is no portable way to get at the last
> positional argument in dash.
If you are sure you don't need the other positional arguments, you could
avoid eval with:
shift $(($# - 1)); echo $1
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://lists.nongnu.org/archive/html/qemu-devel/attachments/20140319/d93b3a5f/attachment.pgp>
------------------------------
Message: 4
Date: Wed, 19 Mar 2014 14:43:27 +0000
From: Peter Maydell <address@hidden>
To: Riku Voipio <address@hidden>
Cc: QEMU Developers <address@hidden>, Anthony Liguori
<address@hidden>
Subject: Re: [Qemu-devel] [PULL for-2.0 0/7] linux-user patches
Message-ID:
<CAFEAcA84ibrSGynkp=address@hidden>
Content-Type: text/plain; charset=UTF-8
On 19 March 2014 14:02, <address@hidden> wrote:
> From: Riku Voipio <address@hidden>
>
> The following changes since commit 6fffa26244737f8fd8641a21fee29bd6aa9fdff5:
>
> Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-2014-03-15' into staging (2014-03-15 18:22:11 +0000)
>
> are available in the git repository at:
>
> git://git.linaro.org/people/riku.voipio/qemu.git linux-user-for-upstream
>
> for you to fetch changes up to e0eb210ec0c1cd262e3f642133ee93acdaf60aa0:
>
> linux-user: Implement capget, capset (2014-03-17 15:26:58 +0200)
Applied, thanks.
-- PMM
------------------------------
Message: 5
Date: Wed, 19 Mar 2014 10:45:54 -0400
From: Jeff Cody <address@hidden>
To: Eric Blake <address@hidden>
Cc: Beno?t Canet <address@hidden>, address@hidden,
address@hidden, address@hidden
Subject: Re: [Qemu-devel] [PATCH 1/4] block: qemu-iotests - add
common.qemu, for bash-controlled qemu tests
Message-ID: <address@hidden>
Content-Type: text/plain; charset=us-ascii
On Wed, Mar 19, 2014 at 08:28:07AM -0600, Eric Blake wrote:
> On 03/19/2014 08:19 AM, Jeff Cody wrote:
>
> >>> + then
> >>> + _timed_wait_for ${h} "${@: -1}"
> >>
> >> You have done shift before this. Aren't ${*} the remaining strings to wait for ?
> >>
> >
> > I could probably get rid of the 2nd shift, although I would have to
> > adjust the conditional below.
> >
> > I do ${@: -1} because I want the very last whole string to be the item
> > to wait for - this is only needed to accommodate pathnames with spaces
> > inside the QMP string.
>
> ${@: -1} is not portable:
>
> $ bash -c 'set 1 2 3; echo ${@: -1}'
> 3
> $ dash -c 'set 1 2 3; echo ${@: -1}'
> dash: 1: Bad substitution
>
> If you want the last argument, you'll have to do something hideous like:
>
> eval \${$#}
>
> Short of using eval, there is no portable way to get at the last
> positional argument in dash.
>
Yes, and there are likely other bash-isms in some of the shell
scripts in qemu-iotests. Since #!/bin/bash is explicitly specified,
it seems reasonable that bash-isms would be allowed. If it was
#!/bin/sh specified as the interpreter, then I would understand
remaining constrained to POSIX-only.
But I think in your next message you have a nice POSIX compatible
method of doing it with shifts, and it is probably best to default to
POSIX when practical. I'll go ahead and change it to the
'shift $(($# - 1))' method.
------------------------------
Message: 6
Date: Wed, 19 Mar 2014 08:53:00 -0600
From: Eric Blake <address@hidden>
To: Jeff Cody <address@hidden>
Cc: Beno?t Canet <address@hidden>, address@hidden,
address@hidden, address@hidden
Subject: Re: [Qemu-devel] [PATCH 1/4] block: qemu-iotests - add
common.qemu, for bash-controlled qemu tests
Message-ID: <address@hidden>
Content-Type: text/plain; charset="utf-8"
On 03/19/2014 08:45 AM, Jeff Cody wrote:
>>
>> ${@: -1} is not portable:
>>
>
> Yes, and there are likely other bash-isms in some of the shell
> scripts in qemu-iotests. Since #!/bin/bash is explicitly specified,
> it seems reasonable that bash-isms would be allowed.
Ah, indeed, I missed the shebang line. Where we KNOW we are using bash,
I have no problem using the additional features that bash gives us as a
guarantee.
> But I think in your next message you have a nice POSIX compatible
> method of doing it with shifts, and it is probably best to default to
> POSIX when practical. I'll go ahead and change it to the
> 'shift $(($# - 1))' method.
Where the portable way doesn't cost any additional forks, then yes, I
agree that being portable is nice for the sake of anyone
copying-and-pasting from our explicit bash script over to a more generic
/bin/sh script.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://lists.nongnu.org/archive/html/qemu-devel/attachments/20140319/87554b84/attachment.pgp>
------------------------------
Message: 7
Date: Wed, 19 Mar 2014 15:57:55 +0100
From: Paolo Bonzini <address@hidden>
To: Markus Armbruster <address@hidden>
Cc: address@hidden, address@hidden
Subject: Re: [Qemu-devel] [PATCH] scripts: add sample model file for
Coverity Scan
Message-ID: <address@hidden>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Il 19/03/2014 14:56, Paolo Bonzini ha scritto:
> Il 19/03/2014 13:46, Paolo Bonzini ha scritto:
>> Il 19/03/2014 10:08, Markus Armbruster ha scritto:
>>>> It probably would make static analysis a bit less powerful or will
>>>> return more false positives. The NULL return for realloc (in the
>>>> "free" case) already causes some. So I'm undecided between a more
>>>> correct model and a more selective one (with a fat comment).
>>>
>>> I can't see how lying to the analyzer could make it more powerful :)
>>> It can, however, suppress false positives. Scan and find out how many?
>>
>> Full model (g_malloc returns NULL for 0 argument) => 750 defects
>>
>> Posted model (g_malloc never returns NULL) => 702 defects
>> -59 NULL_RETURNS defects
>> -1 REVERSE_INULL defects
>> +12 TAINTED_SCALAR defects
>>
>> Reduced model (g_realloc never frees) => 690 defects
>> -12 NULL_RETURNS defects
>>
>> Of course, silly me, I threw away the results of the analysis for the
>> full model. I'll now rerun it and look for false negatives caused by
>> the reduced model.
>
> For the REVERSE_INULL and TAINTED_SCALAR defects, I don't see why the
> model should make any difference. The missing REVERSE_INULL becomes a
> false-negative. The new TAINTED_SCALAR were false negatives.
>
> I checked ~10 of the NULL_RETURNS and they are all false positives.
> Either the argument really cannot be zero, or it is asserted that it is
> not zero before accessing the array, or the array access is within a for
> loop that will never roll if the size was zero.
>
> Examples:
>
> 1) gencb_alloc (and a few others have the same idiom) gets a length,
> allocates a block of the given length, and fills in the beginning of
> that block. It's arguably missing an assertion that the length is
> good-enough. No reason for this to be tied to NULL_RETURNS, but in
> practice it is.
>
>
> 2) This only gets zero if there is an overflow, since dma->memmap_size
> is initialized to zero. But Coverity flags it as a possible NULL return:
>
> 316 dma->memmap = g_realloc(dma->memmap, sizeof(*entry) *
> 317 (dma->memmap_size + 1));
>
>
> 3) vnc_dpy_cursor_define calls g_malloc0(vd->cursor_msize), which
> returns NULL if the array has size 0. Coverity complains because
> cursor_get_mono_mask calls memset on the result, but we already rely
> elsewhere on that not happening for len == 0.
>
>
> I think we're well into diminishing returns, which justifies using the
> less-precise model.
>
> I'm now adding new models for memset/memcpy/memmove/memcmp that check
> for non-zero argument, and see what that improves with respect to the
> full and reduced models.
Doing this only fixes one false positive. Given the results, okay to
use the limited model where realloc never frees and malloc(0) returns
non-NULL?
Paolo
------------------------------
_______________________________________________
Qemu-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/qemu-devel
End of Qemu-devel Digest, Vol 132, Issue 696
********************************************
[Prev in Thread] | Current Thread | [Next in Thread] |