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 C956CA0C47 for ; Tue, 10 Aug 2021 17:41:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C1D634014F; Tue, 10 Aug 2021 17:41:22 +0200 (CEST) Received: from smtp-relay-canonical-1.canonical.com (smtp-relay-canonical-1.canonical.com [185.125.188.121]) by mails.dpdk.org (Postfix) with ESMTP id 5609D4014F for ; Tue, 10 Aug 2021 17:41:21 +0200 (CEST) Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-1.canonical.com (Postfix) with ESMTPS id 3E5953F0B8 for ; Tue, 10 Aug 2021 15:41:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1628610081; bh=qJ+rgKDO5CxK2+xQo5PtsQjiCvAZtF3J6Gt6ngQUrdc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=aaXp+i2Jy+UQEuLakCjEjw+6Mj2+4O9VEbxUvMepzXWArbdEH+/f4ByXBcPERj7OX fRXnxFhJB3lYXub3aWd5F/OVCd66AIEBNUJ0jpvRPpfjDcqiiLdIeA8fcuZZ2xluB7 tpdBzoc5RiTJ46J2Xt72Vqp+e6w3BRseOWV2qSNGa+rXOvRbEu9YWdBScN13ldFRCr JTbtoCu/YiObHklK48RZAKLrr3KWSzirDdFTvukb4FOXuc0JiU9nXgVNPuu+dA7jHV 2u/Qi/JP+xSAw3o4VR0jqo+dmNQI5dE3k9IeNlVy0PzHytpYl/N7+bAZAN2cCPGHHE fCj570b5PS2PA== Received: by mail-ej1-f71.google.com with SMTP id e8-20020a1709060808b02904f7606bd58fso5765137ejd.11 for ; Tue, 10 Aug 2021 08:41:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qJ+rgKDO5CxK2+xQo5PtsQjiCvAZtF3J6Gt6ngQUrdc=; b=BZOYAIGmVCO8IPIjSu+asUlEV1w86EhJ+f3YhRijLHSeNV2w/DIDz9cLi7I4Pflhwr FTxTe6XCP7KF9UHNJHpwsYG9rhD3p73inDSYB3fmKJYGlhYWH+g2yHXedZLHUGLRa7lO aXZL2V29HB4LfAq4Huq5Ds2Kk3DzrrUzHKR4R0FputBBHpOpctCiNXrbkP12UbNh3tx1 tO6JcaqvqEjIrLDV7ylmtVcfxVz/wmWWRGi3zfYqH0dNlJNgWk080tG7YcyaF+QnkH8i CxhC9x/TfC2bdBR8OFW8nEC4qCNG+hq9GjfjCWnrCT9VdaCuxJtiV/OJKsxO+T9DskZM j6MA== X-Gm-Message-State: AOAM530HrjE866XZQ0RPdmrWI6MlwDc47hRexDdKyKzDxtUbrD2cotKN dr6fmgHnriQw9OdwXniXDu8HKKUUcHBKJAFwOo4FaJLr9hGrtEkOzH05KUIob1qfejcnytByJzu 4Go9A6WNqTivMnjVAD0XuUCxz X-Received: by 2002:a17:906:a2c4:: with SMTP id by4mr28440864ejb.521.1628610080997; Tue, 10 Aug 2021 08:41:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwCM73gdY/cKvHAMov8/tFzZDkBTYIZC91Ck0EnEP2b/fXiGOHji2FgfkpVsqofvW2NnKt14w== X-Received: by 2002:a17:906:a2c4:: with SMTP id by4mr28440852ejb.521.1628610080838; Tue, 10 Aug 2021 08:41:20 -0700 (PDT) Received: from Keschdeichel.fritz.box ([2001:67c:1560:8007::aac:c4ad]) by smtp.gmail.com with ESMTPSA id dt2sm2452535ejc.51.2021.08.10.08.41.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Aug 2021 08:41:20 -0700 (PDT) From: christian.ehrhardt@canonical.com To: Ferruh Yigit Cc: Ajit Khaparde , dpdk stable Date: Tue, 10 Aug 2021 17:38:56 +0200 Message-Id: <20210810154022.749358-16-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210810154022.749358-1-christian.ehrhardt@canonical.com> References: <20210810154022.749358-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'kni: fix crash on userspace VA for segmented packets' has been queued to stable release 19.11.10 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 Sender: "stable" Hi, FYI, your patch has been queued to stable release 19.11.10 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/d4cd1ffd337c746eecca578abb93dfcde5dcada0 Thanks. Christian Ehrhardt --- >From d4cd1ffd337c746eecca578abb93dfcde5dcada0 Mon Sep 17 00:00:00 2001 From: Ferruh Yigit Date: Tue, 22 Jun 2021 13:29:56 +0100 Subject: [PATCH] kni: fix crash on userspace VA for segmented packets [ upstream commit 9b83a7ed2ac160aca64eed4d45102aadf26bc053 ] When IOVA=VA, address translation for segmented packets is wrong, it assumes the address in the mbuf->next is physical address, not VA address. Fixing the address translation to work both PA & VA mode. Fixes: e73831dc6c26 ("kni: support userspace VA") Signed-off-by: Ferruh Yigit Acked-by: Ajit Khaparde --- kernel/linux/kni/kni_net.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/linux/kni/kni_net.c b/kernel/linux/kni/kni_net.c index c82c881a2c..c8bad5f197 100644 --- a/kernel/linux/kni/kni_net.c +++ b/kernel/linux/kni/kni_net.c @@ -223,7 +223,7 @@ kni_fifo_trans_pa2va(struct kni_dev *kni, break; prev_kva = kva; - kva = pa2kva(kva->next); + kva = get_kva(kni, kva->next); /* Convert physical address to virtual address */ prev_kva->next = pa2va(prev_kva->next, kva); } @@ -400,7 +400,7 @@ kni_net_rx_normal(struct kni_dev *kni) break; prev_kva = kva; - kva = pa2kva(kva->next); + kva = get_kva(kni, kva->next); data_kva = kva2data_kva(kva); /* Convert physical address to virtual address */ prev_kva->next = pa2va(prev_kva->next, kva); @@ -479,7 +479,7 @@ kni_net_rx_lo_fifo(struct kni_dev *kni) kni->va[i] = pa2va(kni->pa[i], kva); while (kva->next) { - next_kva = pa2kva(kva->next); + next_kva = get_kva(kni, kva->next); /* Convert physical address to virtual address */ kva->next = pa2va(kva->next, next_kva); kva = next_kva; -- 2.32.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-08-10 15:11:13.710515565 +0200 +++ 0016-kni-fix-crash-on-userspace-VA-for-segmented-packets.patch 2021-08-10 15:11:12.918637378 +0200 @@ -1 +1 @@ -From 9b83a7ed2ac160aca64eed4d45102aadf26bc053 Mon Sep 17 00:00:00 2001 +From d4cd1ffd337c746eecca578abb93dfcde5dcada0 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 9b83a7ed2ac160aca64eed4d45102aadf26bc053 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index f259327954..611719b5ee 100644 +index c82c881a2c..c8bad5f197 100644 @@ -25 +26 @@ -@@ -245,7 +245,7 @@ kni_fifo_trans_pa2va(struct kni_dev *kni, +@@ -223,7 +223,7 @@ kni_fifo_trans_pa2va(struct kni_dev *kni, @@ -34 +35 @@ -@@ -422,7 +422,7 @@ kni_net_rx_normal(struct kni_dev *kni) +@@ -400,7 +400,7 @@ kni_net_rx_normal(struct kni_dev *kni) @@ -43 +44 @@ -@@ -501,7 +501,7 @@ kni_net_rx_lo_fifo(struct kni_dev *kni) +@@ -479,7 +479,7 @@ kni_net_rx_lo_fifo(struct kni_dev *kni)