lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241127134256.2254851-7-mike.leach@linaro.org>
Date: Wed, 27 Nov 2024 13:42:53 +0000
From: Mike Leach <mike.leach@...aro.org>
To: linux-arm-kernel@...ts.infradead.org,
	coresight@...ts.linaro.org,
	linux-kernel@...r.kernel.org
Cc: suzuki.poulose@....com,
	james.clark@....com,
	Mike Leach <mike.leach@...aro.org>
Subject: [PATCH v7 6/9] coresight: configfs: Add attribute to load a configuration table

Add in a binary attribute to allow load of a configuration table.
Calls API function to load and validate incoming table.

Use of binary attribute in this way is modelled on the load of
ACPI tables which also use a binary configfs attribute.

Signed-off-by: Mike Leach <mike.leach@...aro.org>
---
 .../coresight/coresight-syscfg-configfs.c        | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/hwtracing/coresight/coresight-syscfg-configfs.c b/drivers/hwtracing/coresight/coresight-syscfg-configfs.c
index d7883fe802b5..ce8eabc86701 100644
--- a/drivers/hwtracing/coresight/coresight-syscfg-configfs.c
+++ b/drivers/hwtracing/coresight/coresight-syscfg-configfs.c
@@ -791,6 +791,16 @@ static void cscfg_destroy_feature_group(struct config_group *feat_group)
 }
 
 /* Attributes in configfs that allow load and unload of configuration tables */
+static ssize_t cscfg_cfg_load_table_write(struct config_item *item, const void *buffer, size_t size)
+{
+	int err = 0;
+
+	err = cscfg_dyn_load_cfg_table(buffer, size);
+	if (err)
+		return err;
+	return size;
+}
+CONFIGFS_BIN_ATTR_WO(cscfg_cfg_, load_table, NULL, CSCFG_TABLE_MAXSIZE);
 
 static ssize_t
 cscfg_cfg_unload_last_table_store(struct config_item *item, const char *page, size_t count)
@@ -846,6 +856,11 @@ static ssize_t cscfg_cfg_show_last_load_show(struct config_item *item, char *pag
 }
 CONFIGFS_ATTR_RO(cscfg_cfg_, show_last_load);
 
+static struct configfs_bin_attribute *cscfg_config_configfs_bin_attrs[] = {
+	&cscfg_cfg_attr_load_table,
+	NULL,
+};
+
 static struct configfs_attribute *cscfg_config_configfs_attrs[] = {
 	&cscfg_cfg_attr_unload_last_table,
 	&cscfg_cfg_attr_show_last_load,
@@ -855,6 +870,7 @@ static struct configfs_attribute *cscfg_config_configfs_attrs[] = {
 static struct config_item_type cscfg_configs_load_type = {
 	.ct_owner = THIS_MODULE,
 	.ct_attrs = cscfg_config_configfs_attrs,
+	.ct_bin_attrs = cscfg_config_configfs_bin_attrs,
 };
 
 /* configurations group */
-- 
2.25.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ