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 A90EE4594A; Mon, 9 Sep 2024 14:13:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3DAD2402BB; Mon, 9 Sep 2024 14:13:43 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by mails.dpdk.org (Postfix) with ESMTP id 7CBE340299 for ; Mon, 9 Sep 2024 14:13:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1725884021; x=1757420021; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=LGOdCSVXRTXbKq38ChE5jZy6k6K6z6LC5NnwSADB4Og=; b=LPsSxiyoxSDyFpo42w9hlTM2z/7U4SSlP9yUgkMnme5eYoj+V9QR73yQ phhhe62GOPoLyuH+gLKK0Wf4/LeTK7IGZqJOeLoNvuceJO1mxQzEk+uO2 VfyO8BDKT7OCWXVWX1LQJQfv0w86Q4ah5IZcAlbr6fIZZDSZTAEyF3b6t sLjhiGJtb/RC3TJmpDBC89F/rq3l9nOhuNj0DxXN4Q9Tcz7081Xs33sUr X7ZIt9+zmDnxY8tOchvaa5JeqwF7VTexAPxm9BJuFuQdZRleoRkk55i22 vz9Z3KeA1lMcjmNPEjsfoUezK87XTEUEINCrOmxIO6ihCwHNYEgnGPQoL A==; X-CSE-ConnectionGUID: P0kIAJToQrG3L9JujcHlmw== X-CSE-MsgGUID: RbOdliMESseCGZYT3r2B5g== X-IronPort-AV: E=McAfee;i="6700,10204,11189"; a="24769592" X-IronPort-AV: E=Sophos;i="6.10,214,1719903600"; d="scan'208";a="24769592" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Sep 2024 05:13:40 -0700 X-CSE-ConnectionGUID: A8U8iFHYQ4mbeIAkxuKVqA== X-CSE-MsgGUID: 8gw6jXXfQ3um23dzXVl+FQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,214,1719903600"; d="scan'208";a="71610612" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa004.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 09 Sep 2024 05:13:41 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 9 Sep 2024 05:13:40 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 9 Sep 2024 05:13:39 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Mon, 9 Sep 2024 05:13:39 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.177) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Mon, 9 Sep 2024 05:13:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nVhzgNavCONxfhySDjIVYGEulx1ijcvZC3NnQEjcNt63F+YO1RZVowaUyiviBPj9yIzqEgT8SJL7Q2gruI77oO4iewZQ0OuB7KtSeppqA4cjH9srv4Atq3kac3esDJ6NtvrX27Q/NGdamrGiZuUJGSPUH4NcUvToLRz0c0aZLjvycbSFvOrF5tdX7YaXiofvARX39Js7dNl4h8lYUxr5SH6FBRTUyM4HGae0Xy8PSxU02F7W2sVa6NVuYtsZA2ya3AINwmWYVvhSychQQMfGiNZeYwnITB/xonf7OhvADul13cn6VUA9UyM7ro4SP7gd/nmVfrwv8KSq1fw8FEN1Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZF7A/+rEDss2wDxlGmn7OK2HiVQWpUBwYlxctQiJN+4=; b=Q4N5jrcPe5PQQtxRTslf7DEHLII4SdO/y9Z7Bqeo/ogt5IVnvhSuxcPajaeE/9il3HTDe9fmmXkznhxNaZAEKnSPhNKuY8poSOAh50YrkLV9iw7GvO4eSDD/236Qd+wSiVerAmzf++CaOn5POLuAZip9xVGgVyoDnSZ55//8tmIN3JIWxgGIX57UgiPJAXAOu5pvw6pV2Kn8+/qZwkKX5jK15h/7SK1MwrDK9+zOgQLZHCG4OE9mqQHcFuRPl6fKyxDp4IPh+24uXOnAFHMWrFXVSO9da/IycEuqkX+dhYzoazNeepPvOC4nY4AbEYV2CqcZKBAvMptle3t2PCZh3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by DS0PR11MB7442.namprd11.prod.outlook.com (2603:10b6:8:14d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27; Mon, 9 Sep 2024 12:13:37 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b%2]) with mapi id 15.20.7918.024; Mon, 9 Sep 2024 12:13:36 +0000 Date: Mon, 9 Sep 2024 13:13:30 +0100 From: Bruce Richardson To: Zhichao Zeng CC: Subject: Re: [PATCH v2] net/ice: support customized search path for DDP package Message-ID: References: <20240828035335.1069153-1-zhichaox.zeng@intel.com> <20240829034158.1584970-1-zhichaox.zeng@intel.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20240829034158.1584970-1-zhichaox.zeng@intel.com> X-ClientProxiedBy: DUZPR01CA0063.eurprd01.prod.exchangelabs.com (2603:10a6:10:3c2::13) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|DS0PR11MB7442:EE_ X-MS-Office365-Filtering-Correlation-Id: 65fae7fe-5fcb-4580-48ed-08dcd0c8d50c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?AQUkWnBI2k61FJpNYYBcGjqVK3ypX3bLduChvp47vOctZNTY7RhgO/NGGoes?= =?us-ascii?Q?uDzKjDcyXMYfGad2eatUW5/B5OlvqwDSNclwg2G/pofu/dI95KnDLMzEgHcP?= =?us-ascii?Q?8Zgd7gQYLMU9zL3C3tLIVF7C0DvwIW7SUS05Ea9WQL+Nsv3qSneg6o6ulK7Y?= =?us-ascii?Q?1iggvE/VP412EfZZZSA5x6DIQFvWPLREe7/WluYQPb1JfB0Jzgrc3dCLJ2Jd?= =?us-ascii?Q?2ApMliqfYI/uo5rziYD+3B9JZlkc23WsGkFV+kyPoclK8WCSg/zFHlxpoH2o?= =?us-ascii?Q?SjfReXpx7oweGZwSf0F602djxX7NnYsLOMn4l5om9k4RV+T6pfhLVVceijJm?= =?us-ascii?Q?mBrQde02VoHVEuRIxrGPhHfizY3GoQ6VVZFy3sOfXYfk4xE44eNqLNUclN4m?= =?us-ascii?Q?uXwBIHG1wz937W8DCYe5UUbui6sE6Zi8R+yuo1o5OXZf+HTDQQ6Cdy7MfGQN?= =?us-ascii?Q?m09CcpTZfWgb63+pZh3hZTF4KcHrsExl9SNXxgUFbW9n0LetdXUBQiQ5yAGO?= =?us-ascii?Q?AuN7RqqmYK7gKTSWIXFwuReF08Fsiu4N07lrF/62+JdBiMJ/g9stvLAjYzQ2?= =?us-ascii?Q?gHW6WHubGr6MDsRzaYT1c2F4W2Mii042hGJ63x/jpM6X8VAhAoQCsGXesjbH?= =?us-ascii?Q?SGxUfjg7ppmLpsi859Kzvw9ZgbWCntEuNF0v/gC7HLNKtiuh6tr3bvSkrmVD?= =?us-ascii?Q?wQTcLQaTbPvq2j0qMy1zVOVh9bzolkhrYACfadm3d4YY3BAOCV0LTYEmql67?= =?us-ascii?Q?AspUSIG1VTnkbQ5SlMM1sheyB6WeCqy9MU4cCkGx/vUKIZDEjuKC0hnzrG16?= =?us-ascii?Q?FNjkfdHb2wfAqrGcx96ArGXnSDO+J9BjSG54XDSFJCE0r6CvUq7wxZqpsbKE?= =?us-ascii?Q?ltjZQUKwcbxicVDm6z+GUBE0eUqAi2nUb/VfqBZBwB0wBKm2i7yFiRap3Frd?= =?us-ascii?Q?u/LKhU77lz48r1oEAEllz0orAecIJjfLx2mFQwXDdXB/2scvr327KvbYY5OT?= =?us-ascii?Q?02jYqG2slPxemcr8EkeBEzCDx+ec/EzI83RHUwy3y/VkEGmpKWJ69ruWYALA?= =?us-ascii?Q?lJiLm8tsbX+WgSHDbkVsHy+Mz8Z3ByKKrbt17msFGbEmRZQ8XGqq9lEKgcnN?= =?us-ascii?Q?Y0wFUWQ+SBR+XaNy0O8H4Yro4ksV4PPQX4YiOht46bbmn28zv0E0ao+zNF+O?= =?us-ascii?Q?5SGUIIBAVPLwAxX8N1v9h06ZGyOm39H72wTDQpsThPj3VFjIkqudloPgo/C8?= =?us-ascii?Q?72pcLezcIYhR3r3ySWzkuoSqblIJEEp23jJMjuB6AAGD/R6JmdsM694qDlIs?= =?us-ascii?Q?5iaupZj9Vu6RkGa9glMBS0mT/BzWbMmJiEib6QRCPyDMRQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?49j+RBRa+lBYcoYGGEl23zD9z4kIhx6w4pJPsMTMh9MoD2qc3QRCEtXGxbyU?= =?us-ascii?Q?xWQ3RMR8WwMlTw6vLaDfJ9WVOtmZR57/3rfnojrRK/XGHINcy5aOB0SEnCmN?= =?us-ascii?Q?cKnbsTOOb8uSOX9B6d4odikA7TEJlEg+42bXd/tGX98t0QbKI3ioxLCOpCU6?= =?us-ascii?Q?kN3IP1L0Fj3PHOuwO0UH8SSCDUIKZd5U0goy6l4vIJCNFPvIyEaZroGDEePa?= =?us-ascii?Q?aJOtoEt8PN0sS4vmAR61bsyVK9dY0fp+CK8mfRLskFu1slmXeyR7U661wKFp?= =?us-ascii?Q?Kctn2hfTByPiQkFAJnge6T8iuD3PD7pCODBYNtIX9hjuo1e9YuR3I2Gie5/T?= =?us-ascii?Q?wgCa+12XBsq/NZdtRryFq/cuL7NKtOERuSpHTkiW6KGDzG2cBkcEyP6qZjpD?= =?us-ascii?Q?EUBSUZ4u1CXkO6L/Sn52t8Jp9z1KyzLBItNcszNe6rpIXf1pgNB0m7UhU0pe?= =?us-ascii?Q?l8IVtJCe+29f7vHPUrGJiCzwwpzYmBp4fYmFhJehNNlSv6cimcMA6z5kCyv+?= =?us-ascii?Q?HuNbPUo7RLS6XWst+Iynt7fUB636vivH+sPILQzEbs8tp/NV9tWFWSh5OCeJ?= =?us-ascii?Q?kFj45rkaqtwJQxtKkdvrzhvPuWumkz4kVRLiJM3KXgWA/bvj0rNQ1ox9LVx7?= =?us-ascii?Q?gAroxsIakSzkxLH0HyDD79FyJVlwAJfdwr1uno4+omMryq54a0mwV5VNhrh6?= =?us-ascii?Q?CThKB/3U6kBZPjzgdEB5QLx6Ig7pDb6Kn0KozIC5yRoZFTYmSsrRzhkD4h3w?= =?us-ascii?Q?OMNn2C3eaTg0yDaCt5D4nOvsMAyrj5RaeT6RGZPJrVgySZuQ6rTSSFnxTV3y?= =?us-ascii?Q?Fxj0kvSDx60uQexOlyZLk9hXmCC4mI7bpDr9jYSr2hUN0qOlgrMcYjRX2ty4?= =?us-ascii?Q?mQKtpl2zOBYezLdHPCrO9jojSc7b6+uigMXzjZqD7NeGGUr6PX+Iy/IrX3Lo?= =?us-ascii?Q?V/0iXbnF9UezSl+875He8nZLBTIyOtD4x2QdPCBeKaT4/W+e1tY5CaVIhNvA?= =?us-ascii?Q?Tmwni0r2DSQOpJFQafWn3z6bI2phxX/5/bzr/l4BGo5PW9JVFLVsJ9iL8CAE?= =?us-ascii?Q?/8jcHTJp2MGH83nDrao9nq8sU7oVzTvj1sx8TRwS2l3P1HjN4QgyHZR5VNk9?= =?us-ascii?Q?WIf84+ODCbyZWJ7kGgqYIYAghuQrEb0zlsIdoZYwbelpRc43DS2g+oDkkMxB?= =?us-ascii?Q?SvlBeeOF34/e/CLJd87BJ/mE3lQSTGK2i4WuQKicwZ5aUHcX4Jytr55p1TX0?= =?us-ascii?Q?X+i+AZWEU2nrqNOC5t7Zw3zTyXsTHaAVETBy3Nzb15f5gdp9f5gTan9a1xE9?= =?us-ascii?Q?AEqWZR4KgFHNBERahjoyepLYhfYBrkTgQwmGcf43MKkyl72ifxCdXarw4YvV?= =?us-ascii?Q?m4gz5WI8EFHH2s7pbLKfKkY1mh5Mlt2BAqXNJeIbQZHvt6UoT1hiWTbPipqH?= =?us-ascii?Q?4sKsfHa+/j/A/Khw7ATx/lWavGMZFeTKIQDJpLK7h4TwSBZp6UI6lEIVNxjP?= =?us-ascii?Q?L3v/ojg971byurdsA75HMKBunxJ2qGDp/tVCOlvegSXbUCW+GpfAK0gwjII7?= =?us-ascii?Q?UbcVr9zpYLxB47G8fmaiTxmR1uR6bMEN0DVBVZMmCWoZpgYP5WarMUCQ0sj4?= =?us-ascii?Q?nQ=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 65fae7fe-5fcb-4580-48ed-08dcd0c8d50c X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2024 12:13:36.8191 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LxP0+Xf8G/i7XqLeR6pmPjghGDeyRGDAkeCfe+YrQGkxF7sbdQeGVIQPw2+ND9EePIrBtyyXn3lXLAKvOsHON7Bvom4x7GJtmnya+/ISVIQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7442 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Thu, Aug 29, 2024 at 11:41:58AM +0800, Zhichao Zeng wrote: > This patch adds support for customizing firmware search path for > DDP package like the kernel behavior, it will read the search path > from "/sys/module/firmware_class/parameters/path", > and try to load DDP package. > > Signed-off-by: Zhichao Zeng > See review comments inline below. Thanks, /Bruce > --- > v2: separate the patch and rewrite the log > --- > doc/guides/nics/ice.rst | 5 +++++ > drivers/net/ice/ice_ethdev.c | 26 ++++++++++++++++++++++++++ > drivers/net/ice/ice_ethdev.h | 1 + > 3 files changed, 32 insertions(+) > > diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst > index ae975d19ad..741cd42cb7 100644 > --- a/doc/guides/nics/ice.rst > +++ b/doc/guides/nics/ice.rst > @@ -108,6 +108,11 @@ Runtime Configuration > > -a 80:00.0,default-mac-disable=1 > > +- ``DDP Package File`` > + > + Support for customizing the firmware search path, will read the search path > + from "/sys/module/firmware_class/parameters/path" and try to load DDP package. > + This is no longer a configuration parameter, so this section can be removed from the doc. There is a section in the ice docs for "Limitations or Known Issues" where the search paths for DDP package files are given. That could do with an update in this patch. Also, the details of DDP searching probably should go in its own section rather than having it as a limitation - move it further up the doc to be more accessible to users. > - ``Protocol extraction for per queue`` > > Configure the RX queues to do protocol extraction into mbuf for protocol > diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c > index 304f959b7e..5dfb3d9c21 100644 > --- a/drivers/net/ice/ice_ethdev.c > +++ b/drivers/net/ice/ice_ethdev.c > @@ -1873,6 +1873,22 @@ ice_load_pkg_type(struct ice_hw *hw) > return package_type; > } > > +static int ice_read_customized_path(char *pkg_file) > +{ > + char buf[ICE_MAX_PKG_FILENAME_SIZE]; > + FILE *fp = fopen(ICE_PKG_FILE_CUSTOMIZED_PATH, "r"); > + if (fp == NULL) { > + PMD_INIT_LOG(ERR, "Failed to read CUSTOMIZED_PATH"); Is this actually an error? Will older kernels not be missing this path, in which case it's not really a problem at all? I think any message should be at a much lower logging level to avoid unnecessary warnings to users. > + return -EIO; > + } > + if (fscanf(fp, "%s\n", buf) > 0) This looks unsafe to me, you are not specifying a maximum string length in the call to fscanf. For strings, just use fgets, or alternatively just use regular "open" and "read" system calls. > + strncpy(pkg_file, buf, ICE_MAX_PKG_FILENAME_SIZE); strncpy is insecure in many cases (such as here!) and should not be used. This will not null-terminate the string at all. For string copies use safe functions like "strlcpy". However, there is no need to do a copy here at all. Remove the variable "buf" and instead read the value directly into "pkg_file". Using a temporary variable has no benefit. NOTE: you also need to change the function signature to pass in the length of pkg_file variable. When passing a string field to be completed, you always need to pass in the length value too. > + else > + return -EIO; > + > + return 0; > +} > + > int ice_load_pkg(struct ice_adapter *adapter, bool use_dsn, uint64_t dsn) > { > struct ice_hw *hw = &adapter->hw; > @@ -1888,6 +1904,12 @@ int ice_load_pkg(struct ice_adapter *adapter, bool use_dsn, uint64_t dsn) > memset(opt_ddp_filename, 0, ICE_MAX_PKG_FILENAME_SIZE); > snprintf(opt_ddp_filename, ICE_MAX_PKG_FILENAME_SIZE, > "ice-%016" PRIx64 ".pkg", dsn); > + > + ice_read_customized_path(pkg_file); > + strcat(pkg_file, opt_ddp_filename); This is also at risk of buffer overflows. Use strlcat and check for errors that the paths are not too long. > + if (rte_firmware_read(pkg_file, &buf, &bufsz) == 0) > + goto load_fw; > + > strncpy(pkg_file, ICE_PKG_FILE_SEARCH_PATH_UPDATES, > ICE_MAX_PKG_FILENAME_SIZE); > strcat(pkg_file, opt_ddp_filename); > @@ -1901,6 +1923,10 @@ int ice_load_pkg(struct ice_adapter *adapter, bool use_dsn, uint64_t dsn) > goto load_fw; > > no_dsn: > + ice_read_customized_path(pkg_file); Minor nit, but why read sysfs twice using system calls. Use a local variable to save the value from the first read rather than repeating it. > + if (rte_firmware_read(pkg_file, &buf, &bufsz) == 0) > + goto load_fw; > + > strncpy(pkg_file, ICE_PKG_FILE_UPDATES, ICE_MAX_PKG_FILENAME_SIZE); > if (rte_firmware_read(pkg_file, &buf, &bufsz) == 0) > goto load_fw; > diff --git a/drivers/net/ice/ice_ethdev.h b/drivers/net/ice/ice_ethdev.h > index 3ea9f37dc8..8b644ed700 100644 > --- a/drivers/net/ice/ice_ethdev.h > +++ b/drivers/net/ice/ice_ethdev.h > @@ -51,6 +51,7 @@ > #define ICE_PKG_FILE_UPDATES "/lib/firmware/updates/intel/ice/ddp/ice.pkg" > #define ICE_PKG_FILE_SEARCH_PATH_DEFAULT "/lib/firmware/intel/ice/ddp/" > #define ICE_PKG_FILE_SEARCH_PATH_UPDATES "/lib/firmware/updates/intel/ice/ddp/" > +#define ICE_PKG_FILE_CUSTOMIZED_PATH "/sys/module/firmware_class/parameters/path" > #define ICE_MAX_PKG_FILENAME_SIZE 256 > > #define MAX_ACL_NORMAL_ENTRIES 256 > -- > 2.34.1 >