From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 37BF146A35 for ; Mon, 23 Jun 2025 11:41:20 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2C91940041; Mon, 23 Jun 2025 11:41:20 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 68DA040041 for ; Mon, 23 Jun 2025 11:41:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1750671677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Vp0wM08Ul53Vor5Noyi/pT3/FAlIMHXbGpiGYQebzA0=; b=hZ2ACe9jFi5/yTzCURh/S+n7WvAWKI3D3G3SKj+zdnH28zP0RXddWva5nDXQ4prP/Fus+V kexo4yFKDrTAYU6+ubDsofVn0OaTSUj7/iOBDeLkK6xQBa6bpKhPPMPyonOHYwGoFYptp8 bN1lXtcmPcp5A4/R/L+pjKGgV1Kap7w= Received: from mail-lj1-f200.google.com (mail-lj1-f200.google.com [209.85.208.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-527-GGa4jvykO52umn-TaD90EA-1; Mon, 23 Jun 2025 05:41:15 -0400 X-MC-Unique: GGa4jvykO52umn-TaD90EA-1 X-Mimecast-MFC-AGG-ID: GGa4jvykO52umn-TaD90EA_1750671674 Received: by mail-lj1-f200.google.com with SMTP id 38308e7fff4ca-32b7d83142dso18147391fa.2 for ; Mon, 23 Jun 2025 02:41:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750671674; x=1751276474; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Vp0wM08Ul53Vor5Noyi/pT3/FAlIMHXbGpiGYQebzA0=; b=d9XclMiAVRhc41MO1xknKWdLXcQ12RFgZvWT6vs7zSnn5KxOBZUvqi6WOVgBbbr2kk btKsgakGsTpZKLA7TIscYvmnBFZwheJlqv+29Fkrltg1XsrpFB3yPDEf/qzcjg1h/DL4 GWeHskVzjCJEqRo3smwc8ReVlMLhmVFrjNGFU7bviFL/6GeW1Awf4PYGiaadGVTz3Pi8 pFkNpAWbM3fKEdqGw47QPhQR2V7SBZ2drfmoS9TM+uOYTMsgkQq1nZSYfA5krWnK5hjX FY0ufLfCpP4EWRNmR/MFE2x6Xem4TUOyfjxTQPkDozVzgXLxe90U7vhT+pT024/ElzoA ii+w== X-Forwarded-Encrypted: i=1; AJvYcCX0VLR13GP7sPFGik+sI2CZj7S4w4wFrQUVC7wr08pC6VIFv24bpzAILh978dK1hCzbEnDs6/A=@dpdk.org X-Gm-Message-State: AOJu0YzRkUo6aSa9HE7/m78YCooHcEN8K7IOHFd3v1n8JXvHq2ItbuF1 nCl5ykD/8JrpaqYzDiTEP7FGc1CuDtHsja9THHVOd3SDgPnPLg4+3xK387mYmJ3DpqaLNSxlmHX RIHEHVPI6cXchWDaavPbmojMw1kh/kMZmbqWWg2uBym2ZxwZFqRCTErfFyU/Ib0WJY83LKOeNDT psNreuQdfwBg7GO86Bd9mJlNo= X-Gm-Gg: ASbGncuMx461tBW/E8wTzyE0a/y2zK9d8a5gByFePX6enAEkiDa4mqBi+4t3UDsKMAN rKjKgly4uP6jm2JGV7V/60nwtR4fUlHUhg8r/Q+cAkhgwrio+f3ZVM9xLW804qy2vxT9Sg3Z5qy ObUB4rfg== X-Received: by 2002:a05:6512:398b:b0:550:d4f3:8491 with SMTP id 2adb3069b0e04-553e3c0305emr3824830e87.41.1750671674179; Mon, 23 Jun 2025 02:41:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEpp4QpgA09XReheDO5otPBJ2kwCVaz3BczbGZOMLOVkBPRXi3jIoZDe5vd1rzt26L/Zwdl4QnJJNbHJculbsE= X-Received: by 2002:a05:6512:398b:b0:550:d4f3:8491 with SMTP id 2adb3069b0e04-553e3c0305emr3824824e87.41.1750671673737; Mon, 23 Jun 2025 02:41:13 -0700 (PDT) MIME-Version: 1.0 References: <20250619071037.37325-1-david.marchand@redhat.com> <20250619071037.37325-5-david.marchand@redhat.com> In-Reply-To: From: David Marchand Date: Mon, 23 Jun 2025 11:41:02 +0200 X-Gm-Features: AX0GCFuPihb_KCfojzq9cqptALRFMuMVuavQaOJCkpEvOWQMizfAgxFcVjGiIqc Message-ID: Subject: Re: [PATCH 04/10] eal: fix plugin dir walk To: Bruce Richardson Cc: dev@dpdk.org, stable@dpdk.org, Tyler Retzlaff , Maxime Coquelin , Timothy Redaelli X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: xGZg_n8Wp3qO3-dppA90t4qG-3PY-aLqrY_USru_OJc_1750671674 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org On Fri, Jun 20, 2025 at 11:19=E2=80=AFAM Bruce Richardson wrote: > > On Thu, Jun 19, 2025 at 09:10:30AM +0200, David Marchand wrote: > > For '.' and '..' directories (or any short file name), > > a out of bound issue occurs. > > > > Caught by UBSan: > > > > EAL: Detected shared linkage of DPDK > > ../lib/eal/common/eal_common_options.c:420:15: runtime error: index -2 > > out of bounds for type 'char[256]' > > #0 0x7f867eedf206 in eal_plugindir_init > > eal_common_options.c > > #1 0x7f867eede58a in eal_plugins_init > > (build/lib/librte_eal.so.25+0xde58a) > > (BuildId: e7e4a1935e4bacb51c82ab1a84098a27decf3b4c) > > #2 0x7f867efb8587 in rte_eal_init > > (build/lib/librte_eal.so.25+0x1b8587) > > (BuildId: e7e4a1935e4bacb51c82ab1a84098a27decf3b4c) > > #3 0x55b62360861e in main > > (/home/runner/work/dpdk/dpdk/build/app/dpdk-testpmd+0x9e061e) > > (BuildId: d821ec918612c83fad8b5ccb6cc518e66bee48cd) > > #4 0x7f8667429d8f in __libc_start_call_main > > csu/../sysdeps/nptl/libc_start_call_main.h:58:16 > > #5 0x7f8667429e3f in __libc_start_main > > csu/../csu/libc-start.c:392:3 > > #6 0x55b622d9d444 in _start > > (/home/runner/work/dpdk/dpdk/build/app/dpdk-testpmd+0x175444) > > (BuildId: d821ec918612c83fad8b5ccb6cc518e66bee48cd) > > SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior > > ../lib/eal/common/eal_common_options.c:420:15 in > > ../lib/eal/common/eal_common_options.c:421:15: > > runtime error: index 18446744073709551609 out of bounds > > for type 'char[256]' > > > > Fixes: c57f6e5c604a ("eal: fix plugin loading") > > Cc: stable@dpdk.org > > > > Signed-off-by: David Marchand > > --- > Acked-by: Bruce Richardson > > One thought inline below... > > > lib/eal/common/eal_common_options.c | 15 +++++++++++---- > > 1 file changed, 11 insertions(+), 4 deletions(-) > > > > diff --git a/lib/eal/common/eal_common_options.c b/lib/eal/common/eal_c= ommon_options.c > > index 83b6fc7e89..153f807e4f 100644 > > --- a/lib/eal/common/eal_common_options.c > > +++ b/lib/eal/common/eal_common_options.c > > @@ -399,6 +399,14 @@ eal_plugins_init(void) > > } > > #else > > > > +static bool > > +ends_with(const char *str, size_t str_len, const char *tail) > > +{ > > + size_t tail_len =3D strlen(tail); > > + > > + return str_len >=3D tail_len && strncmp(&str[str_len - tail_len],= tail, tail_len) =3D=3D 0; > > +} > > + > > I wonder if that function is worth renaming to "rte_str_ends_with" and > putting in rte_string_fns.h? I'll have a look and see if we have potential users in the tree. --=20 David Marchand