]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
platform/x86: hp-bioscfg: Fix kobject warnings for empty attribute names
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 15 Jan 2026 20:31:10 +0000 (14:31 -0600)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Fri, 16 Jan 2026 13:26:23 +0000 (15:26 +0200)
The hp-bioscfg driver attempts to register kobjects with empty names when
the HP BIOS returns attributes with empty name strings. This causes
multiple kernel warnings:

  kobject: (00000000135fb5e6): attempted to be registered with empty name!
  WARNING: CPU: 14 PID: 3336 at lib/kobject.c:219 kobject_add_internal+0x2eb/0x310

Add validation in hp_init_bios_buffer_attribute() to check if the
attribute name is empty after parsing it from the WMI buffer. If empty,
log a debug message and skip registration of that attribute, allowing the
module to continue processing other valid attributes.

Cc: stable@vger.kernel.org
Fixes: a34fc329b189 ("platform/x86: hp-bioscfg: bioscfg")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://patch.msgid.link/20260115203725.828434-2-mario.limonciello@amd.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/hp/hp-bioscfg/bioscfg.c

index 5bfa7159f5bcd57385a20fe9ac646597b320a378..dbe096eefa75826be10ff56764026ad975d76aa3 100644 (file)
@@ -10,6 +10,8 @@
 #include <linux/fs.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
+#include <linux/printk.h>
+#include <linux/string.h>
 #include <linux/wmi.h>
 #include "bioscfg.h"
 #include "../../firmware_attributes_class.h"
@@ -781,6 +783,12 @@ static int hp_init_bios_buffer_attribute(enum hp_wmi_data_type attr_type,
        if (ret < 0)
                goto buff_attr_exit;
 
+       if (strlen(str) == 0) {
+               pr_debug("Ignoring attribute with empty name\n");
+               ret = 0;
+               goto buff_attr_exit;
+       }
+
        if (attr_type == HPWMI_PASSWORD_TYPE ||
            attr_type == HPWMI_SECURE_PLATFORM_TYPE)
                temp_kset = bioscfg_drv.authentication_dir_kset;