lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202412120620.ZY2X03AR-lkp@intel.com>
Date: Thu, 12 Dec 2024 07:12:27 +0800
From: kernel test robot <lkp@...el.com>
To: Hamza Mahfooz <hamzamahfooz@...ux.microsoft.com>,
	linux-efi@...r.kernel.org
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
	Hamza Mahfooz <hamzamahfooz@...ux.microsoft.com>,
	stable@...r.kernel.org, Tyler Hicks <code@...icks.com>,
	Brian Nguyen <nguyenbrian@...rosoft.com>,
	Jacob Pan <panj@...rosoft.com>, Allen Pais <apais@...rosoft.com>,
	Ard Biesheuvel <ardb@...nel.org>,
	Jonathan Marek <jonathan@...ek.ca>,
	Ilias Apalodimas <ilias.apalodimas@...aro.org>,
	Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@...ux.intel.com>,
	Jeremy Linton <jeremy.linton@....com>,
	"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
	KONDO KAZUMA(近藤 和真) <kazuma-kondo@....com>,
	Kees Cook <kees@...nel.org>, "Borislav Petkov (AMD)" <bp@...en8.de>,
	Yuntao Wang <ytcoode@...il.com>,
	Aditya Garg <gargaditya08@...e.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] efi: make the min and max mmap slack slots configurable

Hi Hamza,

kernel test robot noticed the following build warnings:

[auto build test WARNING on efi/next]
[also build test WARNING on linus/master v6.13-rc2 next-20241211]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Hamza-Mahfooz/efi-make-the-min-and-max-mmap-slack-slots-configurable/20241210-002724
base:   https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
patch link:    https://lore.kernel.org/r/20241209162449.48390-1-hamzamahfooz%40linux.microsoft.com
patch subject: [PATCH] efi: make the min and max mmap slack slots configurable
config: x86_64-buildonly-randconfig-002-20241210 (https://download.01.org/0day-ci/archive/20241212/202412120620.ZY2X03AR-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241212/202412120620.ZY2X03AR-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 <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412120620.ZY2X03AR-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/firmware/efi/libstub/mem.c:23: warning: Function parameter or struct member 'n' not described in 'efi_get_memory_map'


vim +23 drivers/firmware/efi/libstub/mem.c

f57db62c67c1c9d Ard Biesheuvel      2020-02-10   7  
1d9b17683547348 Heinrich Schuchardt 2020-02-18   8  /**
1d9b17683547348 Heinrich Schuchardt 2020-02-18   9   * efi_get_memory_map() - get memory map
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  10   * @map:		pointer to memory map pointer to which to assign the
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  11   *			newly allocated memory map
171539f5a90e3fd Ard Biesheuvel      2022-09-15  12   * @install_cfg_tbl:	whether or not to install the boot memory map as a
171539f5a90e3fd Ard Biesheuvel      2022-09-15  13   *			configuration table
1d9b17683547348 Heinrich Schuchardt 2020-02-18  14   *
1d9b17683547348 Heinrich Schuchardt 2020-02-18  15   * Retrieve the UEFI memory map. The allocated memory leaves room for
8e602989bc52479 Hamza Mahfooz       2024-12-09  16   * up to CONFIG_EFI_MAX_NR_MMAP_SLACK_SLOTS additional memory map entries.
1d9b17683547348 Heinrich Schuchardt 2020-02-18  17   *
1d9b17683547348 Heinrich Schuchardt 2020-02-18  18   * Return:	status code
1d9b17683547348 Heinrich Schuchardt 2020-02-18  19   */
171539f5a90e3fd Ard Biesheuvel      2022-09-15  20  efi_status_t efi_get_memory_map(struct efi_boot_memmap **map,
8e602989bc52479 Hamza Mahfooz       2024-12-09  21  				bool install_cfg_tbl,
8e602989bc52479 Hamza Mahfooz       2024-12-09  22  				unsigned int *n)
f57db62c67c1c9d Ard Biesheuvel      2020-02-10 @23  {
171539f5a90e3fd Ard Biesheuvel      2022-09-15  24  	int memtype = install_cfg_tbl ? EFI_ACPI_RECLAIM_MEMORY
171539f5a90e3fd Ard Biesheuvel      2022-09-15  25  				      : EFI_LOADER_DATA;
171539f5a90e3fd Ard Biesheuvel      2022-09-15  26  	efi_guid_t tbl_guid = LINUX_EFI_BOOT_MEMMAP_GUID;
8e602989bc52479 Hamza Mahfooz       2024-12-09  27  	unsigned int nr = CONFIG_EFI_MIN_NR_MMAP_SLACK_SLOTS;
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  28  	struct efi_boot_memmap *m, tmp;
f57db62c67c1c9d Ard Biesheuvel      2020-02-10  29  	efi_status_t status;
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  30  	unsigned long size;
f57db62c67c1c9d Ard Biesheuvel      2020-02-10  31  
8e602989bc52479 Hamza Mahfooz       2024-12-09  32  	BUILD_BUG_ON(!is_power_of_2(CONFIG_EFI_MIN_NR_MMAP_SLACK_SLOTS) ||
8e602989bc52479 Hamza Mahfooz       2024-12-09  33  		     !is_power_of_2(CONFIG_EFI_MAX_NR_MMAP_SLACK_SLOTS) ||
8e602989bc52479 Hamza Mahfooz       2024-12-09  34  		     CONFIG_EFI_MIN_NR_MMAP_SLACK_SLOTS >=
8e602989bc52479 Hamza Mahfooz       2024-12-09  35  		     CONFIG_EFI_MAX_NR_MMAP_SLACK_SLOTS);
8e602989bc52479 Hamza Mahfooz       2024-12-09  36  
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  37  	tmp.map_size = 0;
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  38  	status = efi_bs_call(get_memory_map, &tmp.map_size, NULL, &tmp.map_key,
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  39  			     &tmp.desc_size, &tmp.desc_ver);
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  40  	if (status != EFI_BUFFER_TOO_SMALL)
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  41  		return EFI_LOAD_ERROR;
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  42  
8e602989bc52479 Hamza Mahfooz       2024-12-09  43  	do {
8e602989bc52479 Hamza Mahfooz       2024-12-09  44  		size = tmp.map_size + tmp.desc_size * nr;
171539f5a90e3fd Ard Biesheuvel      2022-09-15  45  		status = efi_bs_call(allocate_pool, memtype, sizeof(*m) + size,
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  46  				     (void **)&m);
8e602989bc52479 Hamza Mahfooz       2024-12-09  47  		nr <<= 1;
8e602989bc52479 Hamza Mahfooz       2024-12-09  48  	} while (status == EFI_BUFFER_TOO_SMALL &&
8e602989bc52479 Hamza Mahfooz       2024-12-09  49  		 nr <= CONFIG_EFI_MAX_NR_MMAP_SLACK_SLOTS);
8e602989bc52479 Hamza Mahfooz       2024-12-09  50  
f57db62c67c1c9d Ard Biesheuvel      2020-02-10  51  	if (status != EFI_SUCCESS)
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  52  		return status;
f57db62c67c1c9d Ard Biesheuvel      2020-02-10  53  
8e602989bc52479 Hamza Mahfooz       2024-12-09  54  	if (n)
8e602989bc52479 Hamza Mahfooz       2024-12-09  55  		*n = nr;
8e602989bc52479 Hamza Mahfooz       2024-12-09  56  
171539f5a90e3fd Ard Biesheuvel      2022-09-15  57  	if (install_cfg_tbl) {
171539f5a90e3fd Ard Biesheuvel      2022-09-15  58  		/*
171539f5a90e3fd Ard Biesheuvel      2022-09-15  59  		 * Installing a configuration table might allocate memory, and
171539f5a90e3fd Ard Biesheuvel      2022-09-15  60  		 * this may modify the memory map. This means we should install
171539f5a90e3fd Ard Biesheuvel      2022-09-15  61  		 * the configuration table first, and re-install or delete it
171539f5a90e3fd Ard Biesheuvel      2022-09-15  62  		 * as needed.
171539f5a90e3fd Ard Biesheuvel      2022-09-15  63  		 */
171539f5a90e3fd Ard Biesheuvel      2022-09-15  64  		status = efi_bs_call(install_configuration_table, &tbl_guid, m);
171539f5a90e3fd Ard Biesheuvel      2022-09-15  65  		if (status != EFI_SUCCESS)
171539f5a90e3fd Ard Biesheuvel      2022-09-15  66  			goto free_map;
171539f5a90e3fd Ard Biesheuvel      2022-09-15  67  	}
171539f5a90e3fd Ard Biesheuvel      2022-09-15  68  
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  69  	m->buff_size = m->map_size = size;
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  70  	status = efi_bs_call(get_memory_map, &m->map_size, m->map, &m->map_key,
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  71  			     &m->desc_size, &m->desc_ver);
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  72  	if (status != EFI_SUCCESS)
171539f5a90e3fd Ard Biesheuvel      2022-09-15  73  		goto uninstall_table;
f57db62c67c1c9d Ard Biesheuvel      2020-02-10  74  
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  75  	*map = m;
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  76  	return EFI_SUCCESS;
f57db62c67c1c9d Ard Biesheuvel      2020-02-10  77  
171539f5a90e3fd Ard Biesheuvel      2022-09-15  78  uninstall_table:
171539f5a90e3fd Ard Biesheuvel      2022-09-15  79  	if (install_cfg_tbl)
171539f5a90e3fd Ard Biesheuvel      2022-09-15  80  		efi_bs_call(install_configuration_table, &tbl_guid, NULL);
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  81  free_map:
eab3126571ed1e3 Ard Biesheuvel      2022-06-03  82  	efi_bs_call(free_pool, m);
f57db62c67c1c9d Ard Biesheuvel      2020-02-10  83  	return status;
f57db62c67c1c9d Ard Biesheuvel      2020-02-10  84  }
f57db62c67c1c9d Ard Biesheuvel      2020-02-10  85  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ