From patchwork Tue Jul 25 21:15:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dimitri John Ledkov X-Patchwork-Id: 1812866 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=DfhJr5vh; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4R9VDr4BHwz1ybX for ; Wed, 26 Jul 2023 07:15:40 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1qOPNW-0001Xt-GA; Tue, 25 Jul 2023 21:15:34 +0000 Received: from smtp-relay-internal-0.internal ([10.131.114.225] helo=smtp-relay-internal-0.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1qOPNK-0001P4-G8 for kernel-team@lists.ubuntu.com; Tue, 25 Jul 2023 21:15:22 +0000 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.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-internal-0.canonical.com (Postfix) with ESMTPS id 430823F15D for ; Tue, 25 Jul 2023 21:15:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1690319722; bh=dy9BBX4CgIgjMr13cXyYGEsWPhud17Cmff+UvqEvaIM=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DfhJr5vhfs1trNkkj+8DaQKW+Wdfr3Qsfhgz9ljpOXoqfHLvATeu1LnzsBR0ntDR6 6vrs3nWasSzj7QIr1FDZ3mJ+Vh7Gkb74h+WfW82hTQ9RsPr2U3OlzdG5XZLXqmxF/g 5GyrVgQz8sQRJa+MKPEFftxlfmCVPK32+CXEiRPivEqazXXyA6jdydMMmyefGqOIfu BApCClMcditPwebpHRjOrTiWfUdgBlGxDvKQKFMLGz4uejlZzCwID0W8K19hHj7Frb FEUoW4AFXSQKsjFnFH/Bw8+QdGIWTej+UrOggjz2WxIftMMAHqHBfWuEub1u6afbd7 yk+/pNbEgCEfA== Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-314394a798dso162451f8f.0 for ; Tue, 25 Jul 2023 14:15:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690319721; x=1690924521; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dy9BBX4CgIgjMr13cXyYGEsWPhud17Cmff+UvqEvaIM=; b=WDzzpoBOqhzXAYJAOq6XfyPl8FXXODnppttavlMums939WaHL+P+YEHryLFGUWb2mx ouMWcThqHmElbpJTKokfOXZAbF5QO9Rw+UCDRF571PWgPJACuVhUYs3rbuT1DwvyLb9U H/M2CThQilgJRrhjujkpOEGyy6h8QtFswLiTlgfB3/fl50a2aXA9/oXfh83phDVTQ9X/ D3djmz26djJSVL0oan466Hgh6WoTTDzNoN7qWYiar5u1x0z8tFo6eUFziaFWRnyUAVm7 xmZ1CNGGIoYQSi5y/dwgM8LOWS2lBrI/aUdOCSptX18+u7Adb4sEXrgejZ8w7o8i1shU m/+A== X-Gm-Message-State: ABy/qLZ+znDpd0f5k8W3Z8aTzognWDENVTYJkhJVrfRhHRdZdSKGq8N7 nNNwLQB3VFeGoZP+ICCTTWjmM668i3FIoE8tuwgz464zOkkN6GmGbybh+hbzGJWF2B76p7UmA1Q 7oR+jCLanuorodYDGzKbPq2Ig4ACEC2QNFHM+3EdVsJuVSsZITQ== X-Received: by 2002:adf:e84a:0:b0:313:f75b:c552 with SMTP id d10-20020adfe84a000000b00313f75bc552mr221569wrn.15.1690319721822; Tue, 25 Jul 2023 14:15:21 -0700 (PDT) X-Google-Smtp-Source: APBJJlEbiDq4J9b62P4oCVkHOJjT5hrGQWEYYmafIUlgYarafy5lvXTeak/4IpD4+Ew2qkQfKCn18Q== X-Received: by 2002:adf:e84a:0:b0:313:f75b:c552 with SMTP id d10-20020adfe84a000000b00313f75bc552mr221563wrn.15.1690319721598; Tue, 25 Jul 2023 14:15:21 -0700 (PDT) Received: from localhost ([137.220.91.195]) by smtp.gmail.com with ESMTPSA id c1-20020adfe701000000b00311299df211sm17605330wrm.77.2023.07.25.14.15.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Jul 2023 14:15:20 -0700 (PDT) From: Dimitri John Ledkov To: kernel-team@lists.ubuntu.com Subject: [JAMMY][SRU][PATCH 3/4] UBUNTU: SAUCE: Backport ZSTD-compressed firmware files to old ZSTD API Date: Tue, 25 Jul 2023 22:15:06 +0100 Message-Id: <20230725211507.47385-4-dimitri.ledkov@canonical.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230725211507.47385-1-dimitri.ledkov@canonical.com> References: <20230725211507.47385-1-dimitri.ledkov@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" This fixes "firmware: Add the support for ZSTD-compressed firmware files" cherry-pick to use the old ZSTD APIs as present in the v5.15 kernel, instead of v5.19+ in-kernel API.. The zstd in-kernel API was introduced in v5.19 kernels by commit cf30f6a5f0 ("lib: zstd: Add kernel-specific API"). BugLink: https://bugs.launchpad.net/bugs/2028550 Signed-off-by: Dimitri John Ledkov --- drivers/base/firmware_loader/main.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c index 227f6b3dff..701b7ee469 100644 --- a/drivers/base/firmware_loader/main.c +++ b/drivers/base/firmware_loader/main.c @@ -374,16 +374,16 @@ static int fw_decompress_zstd(struct device *dev, struct fw_priv *fw_priv, { size_t len, out_size, workspace_size; void *workspace, *out_buf; - zstd_dctx *ctx; + ZSTD_DCtx *ctx; int err; if (fw_priv->allocated_size) { out_size = fw_priv->allocated_size; out_buf = fw_priv->data; } else { - zstd_frame_header params; + ZSTD_frameParams params; - if (zstd_get_frame_header(¶ms, in_buffer, in_size) || + if (ZSTD_getFrameParams(¶ms, in_buffer, in_size) || params.frameContentSize == ZSTD_CONTENTSIZE_UNKNOWN) { dev_dbg(dev, "%s: invalid zstd header\n", __func__); return -EINVAL; @@ -394,24 +394,24 @@ static int fw_decompress_zstd(struct device *dev, struct fw_priv *fw_priv, return -ENOMEM; } - workspace_size = zstd_dctx_workspace_bound(); + workspace_size = ZSTD_DCtxWorkspaceBound(); workspace = kvzalloc(workspace_size, GFP_KERNEL); if (!workspace) { err = -ENOMEM; goto error; } - ctx = zstd_init_dctx(workspace, workspace_size); + ctx = ZSTD_initDCtx(workspace, workspace_size); if (!ctx) { dev_dbg(dev, "%s: failed to initialize context\n", __func__); err = -EINVAL; goto error; } - len = zstd_decompress_dctx(ctx, out_buf, out_size, in_buffer, in_size); - if (zstd_is_error(len)) { + len = ZSTD_decompressDCtx(ctx, out_buf, out_size, in_buffer, in_size); + if (ZSTD_isError(len)) { dev_dbg(dev, "%s: failed to decompress: %d\n", __func__, - zstd_get_error_code(len)); + ZSTD_getErrorCode(len)); err = -EINVAL; goto error; }