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 3F8024661E for ; Thu, 24 Apr 2025 19:08:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 22139402AF; Thu, 24 Apr 2025 19:08:25 +0200 (CEST) Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) by mails.dpdk.org (Postfix) with ESMTP id C68C2400D7 for ; Thu, 24 Apr 2025 19:08:22 +0200 (CEST) Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5f4d0da2d2cso2606749a12.3 for ; Thu, 24 Apr 2025 10:08:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=interfacemasters.com; s=google; t=1745514502; x=1746119302; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Tfv/KXF1j/z9mmU7AV6AcIk091WzulksWwel2BW2dws=; b=IBTNkYbl7yetXM8/IFpEq5/PqIMjTFIbn95S3GBIu3G8V4q3KvaWVK4V3/VKJSemnH kazLf0jqp3w+jtF1mxdU6ZhkfE9H3m9KcWyqo2Q/DtzmP3cCJVDpRGWJs8QRW6NscuHN jxulMZ4rl6/ZQSgHL+KOFF1A9OZG9PIX2sLo0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745514502; x=1746119302; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Tfv/KXF1j/z9mmU7AV6AcIk091WzulksWwel2BW2dws=; b=BmtooYeFBz4HgWVpIvhngZpKNkqaGNwYB6XkgN9S4jmO5bqc6nFtabi6dGi36awghz +ioggXW5AHe0kSbcOQjJg6GR4hBm4OPMsZB3oPK3Qu0xBeZIpDfUIQr15IOWjQ9dufwo 1IO7VuGkKO3zc/fItwJOol2YkG7kun327PCp8GDC/Ze1bPjeChrUvPeVK0kutnr92F03 2yK+XFeTxUqRfKKyPxbdvvm5ZRVBcdH1D7M9NhIIMdkkQy84vvhLgWtYviQOhJHMuiFb BSaAlGAm0/n/OPw3BI64xKMZcOVadfN7r8m3oLdcts4ekK3wRe8oLzV10BhCNNN1bRrf WQYg== X-Forwarded-Encrypted: i=1; AJvYcCUF4Cmth+l3zxJHhyKqaPCj8ABISrVnjmjm4wYxp1sacxN6l90fBbc1MWkJAyidXa4ZaU/RF2w=@dpdk.org X-Gm-Message-State: AOJu0YwOnA85ZByB8mlKxe6D/tlprkMSDQHX2Ycimyck6exFl5As9TOO D7ccbv6N/4iQVDkEZHOVdLg5oP2iUVjONkV83467IxG/5BXSul4Fj5ZWVne/6L8= X-Gm-Gg: ASbGnctjItX7je7xt5DDsxU+vQ8DLV2gnvNrtF49m9rzLszk5fo8XtkPsIjsV53EneX yYoEDFwXjlIKGBX+i5DZPnWyb7crqK6QiRAa3EyTt1VRnPyGifc9pY2FSXkt3TBSgYQoATPXGtJ USpoZmMLTjqSC4mjeZxXDEZxCbJUccWTqLWZXBCZxr8UBos5MDT7bqw6rOKgzsM9mEgVSGIEVZq 5mrvQmjd0kxZTRoOT6YPceEvSNtPaTDKQzAxGWfzqo1BAjyX6GGJbVeYN6RQlQ/5O8gsBIGEbS5 PQqsKyshLzGUrFQrPGEfThLDFfEV/cMuguuRMWTLGB+uTY6KJqephtU6U3SM2+g= X-Google-Smtp-Source: AGHT+IE+2I/8SXQCOdC64DaP0/walrpr3nzcT+fbOmJYSdkN0MoTkASIqhAGDl/nRmFP5I/wU2BZzQ== X-Received: by 2002:a17:906:4fca:b0:aca:c864:369a with SMTP id a640c23a62f3a-ace6b3a03e9mr34505966b.18.1745514502143; Thu, 24 Apr 2025 10:08:22 -0700 (PDT) Received: from fedora.. ([194.44.103.175]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace598f6823sm136355266b.79.2025.04.24.10.08.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Apr 2025 10:08:21 -0700 (PDT) From: Oleksandr Nahnybida To: Jerin Jacob , Sunil Kumar Kori , Tyler Retzlaff , David Marchand Cc: dev@dpdk.org, stable@dpdk.org, Oleksandr Nahnybida Subject: [PATCH v2] trace: fix out of bounds write in __rte_trace_mem_get Date: Thu, 24 Apr 2025 20:08:18 +0300 Message-ID: <20250424170818.23970-1-oleksandrn@interfacemasters.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250402093309.10394-1-oleksandrn@interfacemasters.com> References: <20250402093309.10394-1-oleksandrn@interfacemasters.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Offset should be aligned first before checking if there is free space for another write. Bugzilla ID: 1665 Fixes: 032a7e5499a0 ("trace: implement provider payload") Signed-off-by: Oleksandr Nahnybida --- Specified correct "Fixes" commit. lib/eal/include/rte_trace_point.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/eal/include/rte_trace_point.h b/lib/eal/include/rte_trace_point.h index 8a317d31d2..343e0271b3 100644 --- a/lib/eal/include/rte_trace_point.h +++ b/lib/eal/include/rte_trace_point.h @@ -328,7 +328,7 @@ __rte_trace_mem_get(uint64_t in) return NULL; } /* Check the wrap around case */ - uint32_t offset = trace->offset; + uint32_t offset = RTE_ALIGN_CEIL(trace->offset, __RTE_TRACE_EVENT_HEADER_SZ); if (unlikely((offset + sz) >= trace->len)) { /* Disable the trace event if it in DISCARD mode */ if (unlikely(in & __RTE_TRACE_FIELD_ENABLE_DISCARD)) @@ -336,8 +336,6 @@ __rte_trace_mem_get(uint64_t in) offset = 0; } - /* Align to event header size */ - offset = RTE_ALIGN_CEIL(offset, __RTE_TRACE_EVENT_HEADER_SZ); void *mem = RTE_PTR_ADD(&trace->mem[0], offset); offset += sz; trace->offset = offset; -- 2.49.0