From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 51F14F4F0 for ; Sat, 6 Jan 2024 20:08:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="HcqN9fXg" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704571704; x=1736107704; h=date:from:to:cc:subject:message-id:mime-version; bh=WyA8+fIubFdXj+2lHJfWh7wPu0GiDk5VZL34vnU9DxM=; b=HcqN9fXghLXY6cbHmToCP7SEYWi7OyILVBXYqd2Akvgwl7hbGfM9a2Ml ccD60O2BTlznRfJRZ5wH89cAKCTnYQ80R04XzONl2/n9ZOd8h/C3zcaOc sg3fW3/IML8jWENVMyqb3aGwMks8HQuOb7kzME6fkQ6X0fEBBv6FW7mi7 hMl+g88+Nz0bd+8aIOgbgJxMFGVBlR18+6dq8XvfyzrfFv3FyRoU18pPK rSbdy6uyL6t6hq3qlQrjrfzg0ickyulj9CiTKHEoLGsNcJrAlvQ/6EFKA dnUrgD8qEr0DPbW3JRaJ4VfnHek4FcciNVcgmv8LM1sfoxeuDF9QHdxk9 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10945"; a="396564170" X-IronPort-AV: E=Sophos;i="6.04,337,1695711600"; d="scan'208";a="396564170" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jan 2024 12:08:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,337,1695711600"; d="scan'208";a="23144271" Received: from lkp-server02.sh.intel.com (HELO b07ab15da5fe) ([10.239.97.151]) by fmviesa001.fm.intel.com with ESMTP; 06 Jan 2024 12:08:22 -0800 Received: from kbuild by b07ab15da5fe with local (Exim 4.96) (envelope-from ) id 1rMCxv-0002xG-2Q; Sat, 06 Jan 2024 20:08:19 +0000 Date: Sun, 7 Jan 2024 04:08:07 +0800 From: kernel test robot To: Mark Pearson Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, Hans de Goede Subject: drivers/platform/x86/think-lmi.c:758:14: warning: '%s' directive argument is null Message-ID: <202401070354.MZWdBoO9-lkp@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 95c8a35f1c017327eab3b6a2ff5c04255737c856 commit: b49f72e7f96d4ed147447428f2ae5b4cea598ca7 platform/x86: think-lmi: Certificate authentication support date: 1 year, 10 months ago config: x86_64-randconfig-004-20240105 (https://download.01.org/0day-ci/archive/20240107/202401070354.MZWdBoO9-lkp@intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240107/202401070354.MZWdBoO9-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202401070354.MZWdBoO9-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/platform/x86/think-lmi.c: In function 'certificate_store': >> drivers/platform/x86/think-lmi.c:758:14: warning: '%s' directive argument is null [-Wformat-overflow=] 758 | auth_str = kasprintf(GFP_KERNEL, "%s,%s", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 759 | dmi_get_system_info(DMI_PRODUCT_SERIAL), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 760 | setting->signature); | ~~~~~~~~~~~~~~~~~~~ vim +758 drivers/platform/x86/think-lmi.c 727 728 static ssize_t certificate_store(struct kobject *kobj, 729 struct kobj_attribute *attr, 730 const char *buf, size_t count) 731 { 732 struct tlmi_pwd_setting *setting = to_tlmi_pwd_setting(kobj); 733 char *auth_str, *new_cert; 734 char *guid; 735 int ret; 736 737 if (!capable(CAP_SYS_ADMIN)) 738 return -EPERM; 739 740 if (!tlmi_priv.certificate_support) 741 return -EOPNOTSUPP; 742 743 new_cert = kstrdup(buf, GFP_KERNEL); 744 if (!new_cert) 745 return -ENOMEM; 746 /* Strip out CR if one is present */ 747 strip_cr(new_cert); 748 749 /* If empty then clear installed certificate */ 750 if (new_cert[0] == '\0') { /* Clear installed certificate */ 751 kfree(new_cert); 752 753 /* Check that signature is set */ 754 if (!setting->signature || !setting->signature[0]) 755 return -EACCES; 756 757 /* Format: 'serial#, signature' */ > 758 auth_str = kasprintf(GFP_KERNEL, "%s,%s", 759 dmi_get_system_info(DMI_PRODUCT_SERIAL), 760 setting->signature); 761 if (!auth_str) 762 return -ENOMEM; 763 764 ret = tlmi_simple_call(LENOVO_CLEAR_BIOS_CERT_GUID, auth_str); 765 kfree(auth_str); 766 if (ret) 767 return ret; 768 769 kfree(setting->certificate); 770 setting->certificate = NULL; 771 return count; 772 } 773 774 if (setting->cert_installed) { 775 /* Certificate is installed so this is an update */ 776 if (!setting->signature || !setting->signature[0]) { 777 kfree(new_cert); 778 return -EACCES; 779 } 780 guid = LENOVO_UPDATE_BIOS_CERT_GUID; 781 /* Format: 'Certificate,Signature' */ 782 auth_str = kasprintf(GFP_KERNEL, "%s,%s", 783 new_cert, setting->signature); 784 } else { 785 /* This is a fresh install */ 786 if (!setting->valid || !setting->password[0]) { 787 kfree(new_cert); 788 return -EACCES; 789 } 790 guid = LENOVO_SET_BIOS_CERT_GUID; 791 /* Format: 'Certificate,Admin-password' */ 792 auth_str = kasprintf(GFP_KERNEL, "%s,%s", 793 new_cert, setting->password); 794 } 795 if (!auth_str) { 796 kfree(new_cert); 797 return -ENOMEM; 798 } 799 800 ret = tlmi_simple_call(guid, auth_str); 801 kfree(auth_str); 802 if (ret) { 803 kfree(new_cert); 804 return ret; 805 } 806 807 kfree(setting->certificate); 808 setting->certificate = new_cert; 809 return count; 810 } 811 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki