On Thu, Nov 16, 2023 at 11:47 PM Avadhut Naik <avadhut.naik@xxxxxxx> wrote: > > This patchset adds support for Vendor Defined Error types in the einj > module by exporting a binary blob file in module's debugfs directory. > Userspace tools can write OEM Defined Structures into the blob file as > part of injecting Vendor defined errors. Similarly, the very tools can > also read from the blob file for information, if any, provided by the > firmware after error injection. > > The first patch refactors available_error_type_show() function to ensure > all errors supported by the platform are output through einj module's > available_error_type file in debugfs. > > The second patch adds a write callback for binary blobs created through > debugfs_create_blob() API. > > The third patch fixes the permissions of panicinfo file in debugfs to > ensure it remains read-only > > The fourth patch adds the required support i.e. establishing the memory > mapping and exporting it through debugfs blob file for Vendor-defined > Error types. > > Changes in v2: > - Split the v1 patch, as was recommended, to have a separate patch for > changes in debugfs. > - Refactored available_error_type_show() function into a separate patch. > - Changed file permissions to octal format to remove checkpatch warnings. > > Changes in v3: > - Use BIT macro for generating error masks instead of hex values since > ACPI spec uses bit numbers. > - Handle the corner case of acpi_os_map_iomem() returning NULL through > a local variable to a store the size of OEM defined data structure. > > Changes in v4: > - Fix permissions for panicinfo file in debugfs. > - Replace acpi_os_map_iomem() and acpi_os_unmap_iomem() calls with > acpi_os_map_memory() and acpi_os_unmap_memory() respectively to avert > sparse warnings as suggested by Alexey. > > Changes in v5: > - Change permissions of the "oem_error" file, being created in einj > module's debugfs directory, from "w" to "rw" since system firmware > in some cases might provide some information through OEM-defined > structure for tools to consume. > - Remove Reviewed-by: Alexey Kardashevskiy <aik@xxxxxxx> from the > fourth patch since permissions of the oem_error file have changed. > - Add Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> for > second and third patch. > - Rebase on top of tip master. > > Changes in v6: > - Minor formatting undertaken in the first and fourth patch per v5 > feedback by Boris. > - Added check in the second patch to ensure that only owners can write > into the binary blob files. Mentioned the same in commit description. > - Modified commit description of the third patch per recommendations > provided by Tony. > - Add Reviewed-by: Borislav Petkov (AMD) <bp@xxxxxxxxx> for first and > fourth patch. > - Add Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx> for second, third and > fourth patch. > > > [NOTE: > > - The second patch already had the below tags for v5: > Reviewed-by: Alexey Kardashevskiy <aik@xxxxxxx> > Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > Since the changes to the patch for v6 are very minimal i.e. addition of > a check to ensure that only owners write into the blobs, have retained > the tags for v6 as well. > > - Similarly, the third patch already had the below tag for v5: > Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > Since only the commit description was slightly changed for this patch > in v6, have retained the tag for v6 too. > > Having said so, if advised, will attempt to reacquire the tags.] > > > Avadhut Naik (4): > ACPI: APEI: EINJ: Refactor available_error_type_show() > fs: debugfs: Add write functionality to debugfs blobs > platform/chrome: cros_ec_debugfs: Fix permissions for panicinfo > ACPI: APEI: EINJ: Add support for vendor defined error types > > drivers/acpi/apei/einj.c | 71 +++++++++++++++-------- > drivers/platform/chrome/cros_ec_debugfs.c | 2 +- > fs/debugfs/file.c | 28 +++++++-- > 3 files changed, 72 insertions(+), 29 deletions(-) > > > base-commit: a1cc6ec03d1e56b795607fce8442222b37d1dd99 > -- All patches in the series applied as 6.8 material, thanks!