All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] xen/arm: Enable UBSAN support
@ 2023-06-25 20:48 Julien Grall
  2023-06-25 20:48 ` [PATCH 1/9] xen/arm: Check Xen size when linking Julien Grall
                   ` (10 more replies)
  0 siblings, 11 replies; 45+ messages in thread
From: Julien Grall @ 2023-06-25 20:48 UTC (permalink / raw)
  To: xen-devel
  Cc: Luca.Fancellu, michal.orzel, Henry.Wang, Julien Grall,
	Stefano Stabellini, Julien Grall, Bertrand Marquis,
	Volodymyr Babchuk

From: Julien Grall <jgrall@amazon.com>

Hi all,

At the moment, we are not able to enable UBSAN on Arm because the
final binary will be over the maximum size of Xen we currently support
(i.e. 2MB).

This patch series aim to lift the restrictions and also
enable UBSAN. Lastly, at the end of the series, there is the first
issue found by USBAN.

There are a few of others. One will be fixed by the MISRA work
in [1] and the other is a bit tricky. One the splat is (the
others seems to be for similar reasons)

(XEN) ================================================================================
(XEN) UBSAN: Undefined behaviour in common/sched/credit2.c:2437:5
(XEN) member access within misaligned address 43feefbc for type 'struct csched2_runqueue_data'
(XEN) which requires 8 byte alignment
(XEN) Xen WARN at common/ubsan/ubsan.c:172

This is on 32-bit and UBSAN seems to complain about the check in
list_for_each_entry. I haven't yet dived into the issue yet.

Cheers,

[1] cover.1687250177.git.gianluca.luparini@bugseng.com

Julien Grall (9):
  xen/arm: Check Xen size when linking
  xen/arm64: head: Don't map too much in boot_third
  xen/arm32: head: Don't map too much in boot_third
  xen/arm32: head: Remove 'r6' from the clobber list of
    create_page_tables()
  xen/arm: Rework the code mapping Xen to avoid relying on the size of
    Xen
  xen/arm64: entry: Don't jump outside of an alternative
  xen/arm64: head: Rework PRINT() to work when the string is not withing
    +/- 1MB
  xen/arm: Allow the user to build Xen with USBAN
  xen/arm32: vfp: Add missing U for shifted constant

 xen/arch/arm/Kconfig                 |  1 +
 xen/arch/arm/arm32/head.S            | 79 +++++++++++++++++++++-------
 xen/arch/arm/arm64/entry.S           | 21 ++++++--
 xen/arch/arm/arm64/head.S            | 68 +++++++++++++++++++-----
 xen/arch/arm/include/asm/arm32/vfp.h | 18 +++----
 xen/arch/arm/include/asm/config.h    | 19 +++----
 xen/arch/arm/include/asm/lpae.h      |  8 +--
 xen/arch/arm/mm.c                    | 24 +++++----
 xen/arch/arm/xen.lds.S               |  4 ++
 9 files changed, 176 insertions(+), 66 deletions(-)

-- 
2.40.1



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

end of thread, other threads:[~2023-06-29 20:02 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-25 20:48 [PATCH 0/9] xen/arm: Enable UBSAN support Julien Grall
2023-06-25 20:48 ` [PATCH 1/9] xen/arm: Check Xen size when linking Julien Grall
2023-06-26  6:15   ` Henry Wang
2023-06-26  7:10     ` Julien Grall
2023-06-26  7:14       ` Henry Wang
2023-06-26 11:24   ` Michal Orzel
2023-06-28 18:13     ` Julien Grall
2023-06-25 20:49 ` [PATCH 2/9] xen/arm64: head: Don't map too much in boot_third Julien Grall
2023-06-26 11:28   ` Michal Orzel
2023-06-28 18:21     ` Julien Grall
2023-06-29  7:26       ` Michal Orzel
2023-06-29 12:28         ` Julien Grall
2023-06-25 20:49 ` [PATCH 3/9] xen/arm32: " Julien Grall
2023-06-26 11:30   ` Michal Orzel
2023-06-25 20:49 ` [PATCH 4/9] xen/arm32: head: Remove 'r6' from the clobber list of create_page_tables() Julien Grall
2023-06-26  6:37   ` Henry Wang
2023-06-26 11:31   ` Michal Orzel
2023-06-28 10:12   ` Bertrand Marquis
2023-06-25 20:49 ` [PATCH 5/9] xen/arm: Rework the code mapping Xen to avoid relying on the size of Xen Julien Grall
2023-06-26 11:43   ` Michal Orzel
2023-06-28 20:02     ` Julien Grall
2023-06-29  7:30       ` Michal Orzel
2023-06-25 20:49 ` [PATCH 6/9] xen/arm64: entry: Don't jump outside of an alternative Julien Grall
2023-06-27  7:52   ` Michal Orzel
2023-06-25 20:49 ` [PATCH 7/9] xen/arm64: head: Rework PRINT() to work when the string is not withing +/- 1MB Julien Grall
2023-06-26 11:50   ` Michal Orzel
2023-06-26 14:44   ` Henry Wang
2023-06-25 20:49 ` [PATCH 8/9] xen/arm: Allow the user to build Xen with USBAN Julien Grall
2023-06-26  7:29   ` Henry Wang
2023-06-26 11:57     ` Andrew Cooper
2023-06-28 20:35     ` Julien Grall
2023-06-29  1:36       ` Henry Wang
2023-06-29 20:01         ` Julien Grall
2023-06-26 11:56   ` Michal Orzel
2023-06-26 12:56     ` Julien Grall
2023-06-27  8:09       ` Michal Orzel
2023-06-28 20:39         ` Julien Grall
2023-06-28 22:16           ` Luca Fancellu
2023-06-29  7:31           ` Michal Orzel
2023-06-25 20:49 ` [PATCH 9/9] xen/arm32: vfp: Add missing U for shifted constant Julien Grall
2023-06-26  6:43   ` Henry Wang
2023-06-28 10:09   ` Bertrand Marquis
2023-06-26  5:45 ` [PATCH 0/9] xen/arm: Enable UBSAN support Jan Beulich
2023-06-26  7:18   ` Julien Grall
2023-06-26 14:38 ` Henry Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.