[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] stubdom: Fix GCC 14 -Wmemset-elt-size compiler warnings in PolarSSL


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Precious <andrewprecious388@xxxxxxxxx>
  • Date: Tue, 1 Sep 2026 15:07:26 +0300
  • Arc-authentication-results: i=1; mx.google.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=xLtE8fa0CCYs8f89x0z6yjpC0T3F/CEkk97riHXdv2o=; fh=otpr6U4PuVZ9BZlj6EokwtOMbvR2IUSgfzEtVbeKrWM=; b=ArDWPs4E1bJzXJvuc6cnklrPf/d3V8Zg0nf9vWQZmzcEwHAkuxQGq+bfgtP73ZKkXA 8j5Z8quFiItOinpEc91UUQHHsgFzjPLRIDroFnmlsr0xgpWxhcVgAjk7Zb95TspuPZVk H+x3Jy7zSMtP8Tt5Wmj9NqHLEusRKAOc8UoXxFG3yUTQMuutpKi2VBy2qNpM6g1R5vCI iVcDwjZHj7RBFoIJSt1UBXTbAf6OZkmMCnbZu0d2NTE0SmpHPdNdkndkLjWmmas85U83 OT2lRda8kPX+b5VNmBAMmBP+dBO64aBMF2AEy01tJi1qnowU4mNOKzQgqjv0m6N+WY0P dSLg==; darn=lists.xenproject.org
  • Arc-seal: i=1; a=rsa-sha256; t=1788264459; cv=none; d=google.com; s=arc-20260327; b=hxEGPCqgTyRvEQu6tw/Z19mtIXGCfQNzzCbYE8TXMvTzmTEGxAhZV7LL/wkVWpCuZI KytjxTQC6QNK58ArMd5dXlbnfr40ozVc2O/tcjJfHpIQlL/Ov/Z7u3ewH0zL3mETTCay NxVILfn2MfCnc2LXLyokSG7flCt4BCCouFtKIdy9xBEi3bqAXLol/2AWKex3zRODD78h TakgPBapweCTt3DxpNY6y4ifj6V/tms7T3/kkLpHMG0Ei33I5sPuV9Wwk68cyikGZpO7 om9Yh3uDB6j4ay8w2eRf2wOcF3hNzsf5sbJBLa2Ate82z9gZ1/4JJo5JJ/4esAxcFZU/ UxQQ==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=20251104 header.d=gmail.com header.i="@gmail.com" header.h="Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version"
  • Cc: jgross@xxxxxxxx, samuel.thibault@xxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 01 Sep 2026 12:07:59 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

I was at first deliberating whether to send further patches because the current successor of PolarSSL is MbedTLS. Polarssl is now legacy & not maintained(polarssl was acquired by ARM).
Options:
1. Continual patching/maintaining a legacy library.
2. Upgrade to MbedTLS which will require alot of API changes.

On Wed, Aug 26, 2026 at 9:33 AM Jan Beulich <jbeulich@xxxxxxxx> wrote:
On 25.08.2026 20:46, Andrew Mbugua wrote:
> When compiling Xen with GCC 14, I get a compiler warning originating from the /polarssl-x86_64/library about a memset element size mismatch:
>
> ssl_tls.c: In function ‘ssl_session_reset’:
> ssl_tls.c:1778:5: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
> 1778 |     memset( ssl->ctx_enc, 0, 128 );
> |     ^~~~~~
> ssl_tls.c:1779:5: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
> 1779 |     memset( ssl->ctx_dec, 0, 128 );
> |     ^~~~~~
>
> This patch introduces a build-time patch to PolarSSL that replaces the hardcoded 128 byte length with a dynamic sizeof(), thus allowing clean compilation without warnings.

First a formal note: Commit messages want limiting to 75 characters per
line (some even say 72).

Then: You introduce a patch which isn't used anywhere. What use is such
a patch? You also ...

> Signed-off-by: Andrew Mbugua <andrewprecious388@xxxxxxxxx>
> ---
>  stubdom/patches/polarssl-gcc14-memset.patch | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>  create mode 100644 stubdom/patches/polarssl-gcc14-memset.patch

... introduce it in a new patches/ subdir, when all other patches live
right beneath stubdom/.

> --- /dev/null
> +++ b/stubdom/patches/polarssl-gcc14-memset.patch
> @@ -0,0 +1,13 @@
> +--- a/library/ssl_tls.c
> ++++ b/library/ssl_tls.c
> +@@ -1775,8 +1775,8 @@
> +     memset( ssl->iv_dec, 0, 16 );
> +     memset( ssl->mac_enc, 0, 32 );
> +     memset( ssl->mac_dec, 0, 32 );
> +-    memset( ssl->ctx_enc, 0, 128 );
> +-    memset( ssl->ctx_dec, 0, 128 );
> ++    memset( ssl->ctx_enc, 0, sizeof( *ssl->ctx_enc) );
> ++    memset( ssl->ctx_dec, 0, sizeof( *ssl->ctx_dec) );

Don't you mean sizeof(ssl->ctx_enc) and sizeof(ssl->ctx_dec) respectively?
Otherwise it looks like you're making a bad situation worse.

Judging from surrounding style, there also looks to be a blank missing each,
ahead of the new inner closing parenthesis.

Jan

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.