On 25/09/18 07:45, osstest service owner wrote:
> branch xen-unstable-smoke
> xenbranch xen-unstable-smoke
> job test-arm64-arm64-xl-xsm
> testid xen-boot
>
> Tree: linux git://xenbits.xen.org/linux-pvops.git
> Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
> Tree: qemuu git://xenbits.xen.org/qemu-xen.git
> Tree: xen git://xenbits.xen.org/xen.git
>
> *** Found and reproduced problem changeset ***
>
> Bug is in tree: xen git://xenbits.xen.org/xen.git
> Bug introduced: cd8015b634b005a3911bd6025351cd854d63a82a
> Bug not present: 17bd254a508f4174fe0d56a9f1b9892b7649b4b9
> Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/128044/
>
>
> commit cd8015b634b005a3911bd6025351cd854d63a82a
> Author: Andrew Cooper <[email protected]>
> Date: Mon Sep 24 14:00:02 2018 +0100
>
> ARM/dom0: Avoid using a variable length array in make_memory_node()
>
> The reg[] array can have a maximum size of 8 in practice, so use the
> worst
> case calculation rather than making it variable length.
>
> Signed-off-by: Andrew Cooper <[email protected]>
> Reviewed-by: Julien Grall <[email protected]>
>
>
> For bisection revision-tuple graph see:
>
> http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable-smoke/test-arm64-arm64-xl-xsm.xen-boot.html
> Revision IDs in each graph node refer, respectively, to the Trees above.
>
> ----------------------------------------
> Running cs-bisection-step
> --graph-out=/home/logs/results/bisect/xen-unstable-smoke/test-arm64-arm64-xl-xsm.xen-boot
> --summary-out=tmp/128044.bisection-summary --basis-template=127928
> --blessings=real,real-bisect xen-unstable-smoke test-arm64-arm64-xl-xsm
> xen-boot
> Searching for failure / basis pass:
> 128038 fail [host=laxton1] / 127928 ok.
> Failure / basis pass flights: 128038 / 127928
> Tree: linux git://xenbits.xen.org/linux-pvops.git
> Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
> Tree: qemuu git://xenbits.xen.org/qemu-xen.git
> Tree: xen git://xenbits.xen.org/xen.git
> Latest 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 1bd9cc34e152addeacbbf44898125c7be00e7677
> Basis pass 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 940185b2f6f343251c2b83bd96e599398cea51ec
> Generating revisions with ./adhoc-revtuple-generator
> git://xenbits.xen.org/linux-pvops.git#50484ee133c2219a26fd98b39770187221b5e0bc-50484ee133c2219a26fd98b39770187221b5e0bc
>
> git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860
>
> git://xenbits.xen.org/qemu-xen.git#de5b678ca4dcdfa83e322491d478d66df56c1986-de5b678ca4dcdfa83e322491d478d66df56c1986
>
> git://xenbits.xen.org/xen.git#940185b2f6f343251c2b83bd96e599398cea51ec-1bd9cc34e152addeacbbf44898125c7be00e7677
> Loaded 1001 nodes in revision graph
> Searching for test results:
> 127928 pass 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 940185b2f6f343251c2b83bd96e599398cea51ec
> 128013 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> cd8015b634b005a3911bd6025351cd854d63a82a
> 128019 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 1bd9cc34e152addeacbbf44898125c7be00e7677
> 128017 pass 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 940185b2f6f343251c2b83bd96e599398cea51ec
> 128020 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> cd8015b634b005a3911bd6025351cd854d63a82a
> 128023 pass 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 17bd254a508f4174fe0d56a9f1b9892b7649b4b9
> 128026 pass 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 940185b2f6f343251c2b83bd96e599398cea51ec
> 128025 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 1bd9cc34e152addeacbbf44898125c7be00e7677
> 128027 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 1bd9cc34e152addeacbbf44898125c7be00e7677
> 128029 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 1bd9cc34e152addeacbbf44898125c7be00e7677
> 128032 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> cd8015b634b005a3911bd6025351cd854d63a82a
> 128034 pass 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 17bd254a508f4174fe0d56a9f1b9892b7649b4b9
> 128039 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> cd8015b634b005a3911bd6025351cd854d63a82a
> 128038 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 1bd9cc34e152addeacbbf44898125c7be00e7677
> 128042 pass 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 17bd254a508f4174fe0d56a9f1b9892b7649b4b9
> 128044 fail 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> cd8015b634b005a3911bd6025351cd854d63a82a
> Searching for interesting versions
> Result found: flight 127928 (pass), for basis pass
> Result found: flight 128019 (fail), for basis failure
> Repro found: flight 128026 (pass), for basis pass
> Repro found: flight 128027 (fail), for basis failure
> 0 revisions at 50484ee133c2219a26fd98b39770187221b5e0bc
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> de5b678ca4dcdfa83e322491d478d66df56c1986
> 17bd254a508f4174fe0d56a9f1b9892b7649b4b9
> No revisions left to test, checking graph state.
> Result found: flight 128023 (pass), for last pass
> Result found: flight 128032 (fail), for first failure
> Repro found: flight 128034 (pass), for last pass
> Repro found: flight 128039 (fail), for first failure
> Repro found: flight 128042 (pass), for last pass
> Repro found: flight 128044 (fail), for first failure
>
> *** Found and reproduced problem changeset ***
>
> Bug is in tree: xen git://xenbits.xen.org/xen.git
> Bug introduced: cd8015b634b005a3911bd6025351cd854d63a82a
> Bug not present: 17bd254a508f4174fe0d56a9f1b9892b7649b4b9
> Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/128044/
>
>
> commit cd8015b634b005a3911bd6025351cd854d63a82a
> Author: Andrew Cooper <[email protected]>
> Date: Mon Sep 24 14:00:02 2018 +0100
>
> ARM/dom0: Avoid using a variable length array in make_memory_node()
>
> The reg[] array can have a maximum size of 8 in practice, so use the
> worst
> case calculation rather than making it variable length.
>
> Signed-off-by: Andrew Cooper <[email protected]>
> Reviewed-by: Julien Grall <[email protected]>
So obviously this change has broken something, but it is not obvious what.
The fully diff is:
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 38e0de3..ac8d479 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -539,9 +539,11 @@ static int __init make_memory_node(const struct domain *d,
int res, i;
int reg_size = addrcells + sizecells;
int nr_cells = reg_size*kinfo->mem.nr_banks;
- __be32 reg[nr_cells];
+ __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */];
__be32 *cells;
+ BUG_ON(nr_cells >= ARRAY_SIZE(reg));
+
dt_dprintk("Create memory node (reg size %d, nr cells %d)\n",
reg_size, nr_cells);
and the BUG_ON() is not tripping. Boot continues, and d0v0 appears to
be doing something but (presumably?) not making any progress.
Sadly at this point, my best guess is that there is/was some Undefined
Behaviour which is now being optimised differently.
~andrew
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel