From 53ec18fa8f590ea6ad4792a0b126013dd39a25ee Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Thu, 13 Mar 2025 12:02:50 +0100 Subject: [PATCH] xen/ubsan: expand pointer overflow message printing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add messages about operations against the NULL pointer, or that result in a NULL pointer. Signed-off-by: Roger Pau Monné Reviewed-by: Andrew Cooper --- xen/common/ubsan/ubsan.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/xen/common/ubsan/ubsan.c b/xen/common/ubsan/ubsan.c index 7ebe4bfc14..20aa0cb598 100644 --- a/xen/common/ubsan/ubsan.c +++ b/xen/common/ubsan/ubsan.c @@ -517,9 +517,18 @@ void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data, ubsan_prologue(&data->location, &flags); - pr_err("pointer operation %s %p to %p\n", - base > result ? "overflowed" : "underflowed", - _p(base), _p(result)); + if (!base && !result) + pr_err("applying zero offset to null pointer\n"); + else if (!base && result) + pr_err("applying non-zero offset %p to null pointer\n", + _p(result)); + else if (base && !result) + pr_err("applying non-zero offset to non-null pointer %p produced null pointer\n", + _p(base)); + else + pr_err("pointer operation %s %p to %p\n", + base > result ? "overflowed" : "underflowed", + _p(base), _p(result)); ubsan_epilogue(&flags); }