From: Rafael J. Wysocki Date: Mon, 4 Mar 2019 10:16:35 +0000 (+0100) Subject: Merge branch 'acpi-apei' X-Git-Tag: v5.1-rc1~150^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dcaed592b2fc9ca7e8df2a2e6f4887dba4561415;p=thirdparty%2Fkernel%2Flinux.git Merge branch 'acpi-apei' * acpi-apei: (29 commits) efi: cper: Fix possible out-of-bounds access ACPI: APEI: Fix possible out-of-bounds access to BERT region MAINTAINERS: Add James Morse to the list of APEI reviewers ACPI / APEI: Add support for the SDEI GHES Notification type firmware: arm_sdei: Add ACPI GHES registration helper ACPI / APEI: Use separate fixmap pages for arm64 NMI-like notifications ACPI / APEI: Only use queued estatus entry during in_nmi_queue_one_entry() ACPI / APEI: Split ghes_read_estatus() to allow a peek at the CPER length ACPI / APEI: Make GHES estatus header validation more user friendly ACPI / APEI: Pass ghes and estatus separately to avoid a later copy ACPI / APEI: Let the notification helper specify the fixmap slot ACPI / APEI: Move locking to the notification helper arm64: KVM/mm: Move SEA handling behind a single 'claim' interface KVM: arm/arm64: Add kvm_ras.h to collect kvm specific RAS plumbing ACPI / APEI: Switch NOTIFY_SEA to use the estatus queue ACPI / APEI: Move NOTIFY_SEA between the estatus-queue and NOTIFY_NMI ACPI / APEI: Don't allow ghes_ack_error() to mask earlier errors ACPI / APEI: Generalise the estatus queue's notify code ACPI / APEI: Don't update struct ghes' flags in read/clear estatus ACPI / APEI: Remove spurious GHES_TO_CLEAR check ... --- dcaed592b2fc9ca7e8df2a2e6f4887dba4561415 diff --cc drivers/acpi/apei/einj.c index c42299e048e42,6119da1aea4e9..2d4be94f8c003 --- a/drivers/acpi/apei/einj.c +++ b/drivers/acpi/apei/einj.c @@@ -706,13 -706,27 +705,13 @@@ static int __init einj_init(void rc = -ENOMEM; einj_debug_dir = debugfs_create_dir("einj", apei_get_debugfs_dir()); - if (!einj_debug_dir) { - pr_err("Error creating debugfs node.\n"); - goto err_cleanup; - } - fentry = debugfs_create_file("available_error_type", S_IRUSR, - einj_debug_dir, NULL, - &available_error_type_fops); - if (!fentry) - goto err_cleanup; - - fentry = debugfs_create_file_unsafe("error_type", 0600, - einj_debug_dir, NULL, - &error_type_fops); - if (!fentry) - goto err_cleanup; - fentry = debugfs_create_file_unsafe("error_inject", 0200, - einj_debug_dir, NULL, - &error_inject_fops); - if (!fentry) - goto err_cleanup; + debugfs_create_file("available_error_type", S_IRUSR, einj_debug_dir, + NULL, &available_error_type_fops); - debugfs_create_file("error_type", S_IRUSR | S_IWUSR, einj_debug_dir, - NULL, &error_type_fops); - debugfs_create_file("error_inject", S_IWUSR, einj_debug_dir, - NULL, &error_inject_fops); ++ debugfs_create_file_unsafe("error_type", 0600, einj_debug_dir, ++ NULL, &error_type_fops); ++ debugfs_create_file_unsafe("error_inject", 0200, einj_debug_dir, ++ NULL, &error_inject_fops); apei_resources_init(&einj_resources); einj_exec_ctx_init(&ctx);