mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-04-24 10:49:54 +02:00
40850c909f
The /sys/firmware/secvar/config directory represents Power LPAR Platform KeyStore (PLPKS) configuration properties such as max_object_size, signed_ update_algorithms, supported_policies, total_size, used_space, and version. These attributes describe the PLPKS, and not the secure boot variables (secvars). Create /sys/firmware/plpks directory and move the PLPKS config inside this directory. For backwards compatibility, create a soft link from the secvar sysfs directory to this config and emit a warning stating that the older sysfs path has been deprecated. Separate out the plpks specific documentation from secvar. Signed-off-by: Srish Srinivasan <ssrish@linux.ibm.com> Tested-by: Nayna Jain <nayna@linux.ibm.com> Reviewed-by: Mimi Zohar <zohar@linux.ibm.com> Reviewed-by: Nayna Jain <nayna@linux.ibm.com> Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com> Link: https://patch.msgid.link/20260127145228.48320-3-ssrish@linux.ibm.com
40 lines
954 B
C
40 lines
954 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2019 IBM Corporation
|
|
* Author: Nayna Jain
|
|
*
|
|
* PowerPC secure variable operations.
|
|
*/
|
|
#ifndef SECVAR_OPS_H
|
|
#define SECVAR_OPS_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/errno.h>
|
|
#include <linux/sysfs.h>
|
|
|
|
extern const struct secvar_operations *secvar_ops;
|
|
|
|
struct secvar_operations {
|
|
int (*get)(const char *key, u64 key_len, u8 *data, u64 *data_size);
|
|
int (*get_next)(const char *key, u64 *key_len, u64 keybufsize);
|
|
int (*set)(const char *key, u64 key_len, u8 *data, u64 data_size);
|
|
ssize_t (*format)(char *buf, size_t bufsize);
|
|
int (*max_size)(u64 *max_size);
|
|
|
|
// NULL-terminated array of fixed variable names
|
|
// Only used if get_next() isn't provided
|
|
const char * const *var_names;
|
|
};
|
|
|
|
#ifdef CONFIG_PPC_SECURE_BOOT
|
|
|
|
int set_secvar_ops(const struct secvar_operations *ops);
|
|
|
|
#else
|
|
|
|
static inline int set_secvar_ops(const struct secvar_operations *ops) { return 0; }
|
|
|
|
#endif
|
|
|
|
#endif
|