All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: kbuild-all@01.org, Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Darren Hart <dvhart@infradead.org>,
	Andy Shevchenko <andy@infradead.org>,
	Luis Chamberlain <mcgrof@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Peter Jones <pjones@redhat.com>, Dave Olsthoorn <dave@bewaar.me>,
	x86@kernel.org, platform-driver-x86@vger.kernel.org,
	linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-input@vger.kernel.org,
	Andy Shevchenko <andy.shevchenko@gmail.com>
Subject: Re: [PATCH v7 7/8] platform/x86: touchscreen_dmi: Add EFI embedded firmware info support
Date: Sat, 5 Oct 2019 15:13:43 +0800	[thread overview]
Message-ID: <201910051508.UGYJAuMc%lkp@intel.com> (raw)
In-Reply-To: <20191004145056.43267-8-hdegoede@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 6526 bytes --]

Hi Hans,

I love your patch! Yet something to improve:

[auto build test ERROR on efi/next]
[cannot apply to v5.4-rc1 next-20191004]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Hans-de-Goede/efi-firmware-platform-x86-Add-EFI-embedded-fw-support/20191005-021239
base:   https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
config: x86_64-randconfig-a004-201939 (attached as .config)
compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/firmware/efi/embedded-firmware.c: In function 'efi_check_md_for_embedded_firmware':
>> drivers/firmware/efi/embedded-firmware.c:64:3: error: implicit declaration of function 'sha256_init' [-Werror=implicit-function-declaration]
      sha256_init(&sctx);
      ^
>> drivers/firmware/efi/embedded-firmware.c:65:3: error: implicit declaration of function 'sha256_update' [-Werror=implicit-function-declaration]
      sha256_update(&sctx, map + i, desc->length);
      ^
   drivers/firmware/efi/embedded-firmware.c:66:3: error: implicit declaration of function 'sha256_final' [-Werror=implicit-function-declaration]
      sha256_final(&sctx, sha256);
      ^
   cc1: some warnings being treated as errors

vim +/sha256_init +64 drivers/firmware/efi/embedded-firmware.c

3977d46d946ae2 Hans de Goede 2019-10-04  32  
3977d46d946ae2 Hans de Goede 2019-10-04  33  /*
3977d46d946ae2 Hans de Goede 2019-10-04  34   * Note the efi_check_for_embedded_firmwares() code currently makes the
3977d46d946ae2 Hans de Goede 2019-10-04  35   * following 2 assumptions. This may needs to be revisited if embedded firmware
3977d46d946ae2 Hans de Goede 2019-10-04  36   * is found where this is not true:
3977d46d946ae2 Hans de Goede 2019-10-04  37   * 1) The firmware is only found in EFI_BOOT_SERVICES_CODE memory segments
3977d46d946ae2 Hans de Goede 2019-10-04  38   * 2) The firmware always starts at an offset which is a multiple of 8 bytes
3977d46d946ae2 Hans de Goede 2019-10-04  39   */
3977d46d946ae2 Hans de Goede 2019-10-04  40  static int __init efi_check_md_for_embedded_firmware(
3977d46d946ae2 Hans de Goede 2019-10-04  41  	efi_memory_desc_t *md, const struct efi_embedded_fw_desc *desc)
3977d46d946ae2 Hans de Goede 2019-10-04  42  {
3977d46d946ae2 Hans de Goede 2019-10-04  43  	const u64 prefix = *((u64 *)desc->prefix);
3977d46d946ae2 Hans de Goede 2019-10-04  44  	struct sha256_state sctx;
3977d46d946ae2 Hans de Goede 2019-10-04  45  	struct embedded_fw *fw;
3977d46d946ae2 Hans de Goede 2019-10-04  46  	u8 sha256[32];
3977d46d946ae2 Hans de Goede 2019-10-04  47  	u64 i, size;
3977d46d946ae2 Hans de Goede 2019-10-04  48  	void *map;
3977d46d946ae2 Hans de Goede 2019-10-04  49  
3977d46d946ae2 Hans de Goede 2019-10-04  50  	size = md->num_pages << EFI_PAGE_SHIFT;
3977d46d946ae2 Hans de Goede 2019-10-04  51  	map = memremap(md->phys_addr, size, MEMREMAP_WB);
3977d46d946ae2 Hans de Goede 2019-10-04  52  	if (!map) {
3977d46d946ae2 Hans de Goede 2019-10-04  53  		pr_err("Error mapping EFI mem at %#llx\n", md->phys_addr);
3977d46d946ae2 Hans de Goede 2019-10-04  54  		return -ENOMEM;
3977d46d946ae2 Hans de Goede 2019-10-04  55  	}
3977d46d946ae2 Hans de Goede 2019-10-04  56  
3977d46d946ae2 Hans de Goede 2019-10-04  57  	size -= desc->length;
3977d46d946ae2 Hans de Goede 2019-10-04  58  	for (i = 0; i < size; i += 8) {
3977d46d946ae2 Hans de Goede 2019-10-04  59  		u64 *mem = map + i;
3977d46d946ae2 Hans de Goede 2019-10-04  60  
3977d46d946ae2 Hans de Goede 2019-10-04  61  		if (*mem != prefix)
3977d46d946ae2 Hans de Goede 2019-10-04  62  			continue;
3977d46d946ae2 Hans de Goede 2019-10-04  63  
3977d46d946ae2 Hans de Goede 2019-10-04 @64  		sha256_init(&sctx);
3977d46d946ae2 Hans de Goede 2019-10-04 @65  		sha256_update(&sctx, map + i, desc->length);
3977d46d946ae2 Hans de Goede 2019-10-04  66  		sha256_final(&sctx, sha256);
3977d46d946ae2 Hans de Goede 2019-10-04  67  		if (memcmp(sha256, desc->sha256, 32) == 0)
3977d46d946ae2 Hans de Goede 2019-10-04  68  			break;
3977d46d946ae2 Hans de Goede 2019-10-04  69  	}
3977d46d946ae2 Hans de Goede 2019-10-04  70  	if (i >= size) {
3977d46d946ae2 Hans de Goede 2019-10-04  71  		memunmap(map);
3977d46d946ae2 Hans de Goede 2019-10-04  72  		return -ENOENT;
3977d46d946ae2 Hans de Goede 2019-10-04  73  	}
3977d46d946ae2 Hans de Goede 2019-10-04  74  
3977d46d946ae2 Hans de Goede 2019-10-04  75  	pr_info("Found EFI embedded fw '%s'\n", desc->name);
3977d46d946ae2 Hans de Goede 2019-10-04  76  
3977d46d946ae2 Hans de Goede 2019-10-04  77  	fw = kmalloc(sizeof(*fw), GFP_KERNEL);
3977d46d946ae2 Hans de Goede 2019-10-04  78  	if (!fw) {
3977d46d946ae2 Hans de Goede 2019-10-04  79  		memunmap(map);
3977d46d946ae2 Hans de Goede 2019-10-04  80  		return -ENOMEM;
3977d46d946ae2 Hans de Goede 2019-10-04  81  	}
3977d46d946ae2 Hans de Goede 2019-10-04  82  
3977d46d946ae2 Hans de Goede 2019-10-04  83  	fw->data = kmemdup(map + i, desc->length, GFP_KERNEL);
3977d46d946ae2 Hans de Goede 2019-10-04  84  	memunmap(map);
3977d46d946ae2 Hans de Goede 2019-10-04  85  	if (!fw->data) {
3977d46d946ae2 Hans de Goede 2019-10-04  86  		kfree(fw);
3977d46d946ae2 Hans de Goede 2019-10-04  87  		return -ENOMEM;
3977d46d946ae2 Hans de Goede 2019-10-04  88  	}
3977d46d946ae2 Hans de Goede 2019-10-04  89  
3977d46d946ae2 Hans de Goede 2019-10-04  90  	fw->name = desc->name;
3977d46d946ae2 Hans de Goede 2019-10-04  91  	fw->length = desc->length;
3977d46d946ae2 Hans de Goede 2019-10-04  92  	list_add(&fw->list, &found_fw_list);
3977d46d946ae2 Hans de Goede 2019-10-04  93  
3977d46d946ae2 Hans de Goede 2019-10-04  94  	return 0;
3977d46d946ae2 Hans de Goede 2019-10-04  95  }
3977d46d946ae2 Hans de Goede 2019-10-04  96  

:::::: The code at line 64 was first introduced by commit
:::::: 3977d46d946ae2699ac2c8196d52fb9b303909c9 efi: Add embedded peripheral firmware support

:::::: TO: Hans de Goede <hdegoede@redhat.com>
:::::: CC: 0day robot <lkp@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34825 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Darren Hart <dvhart@infradead.org>,
	Andy Shevchenko <andy@infradead.org>,
	Luis Chamberlain <mcgrof@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Peter Jones <pjones@redhat.com>, Dave Olsthoorn <dave@bewaar.me>,
	x86@kernel.org, platform-driver-x86@vger.kernel.org,
	linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-input@vger.kernel.orgAndy
Subject: Re: [PATCH v7 7/8] platform/x86: touchscreen_dmi: Add EFI embedded firmware info support
Date: Sat, 5 Oct 2019 15:13:43 +0800	[thread overview]
Message-ID: <201910051508.UGYJAuMc%lkp@intel.com> (raw)
In-Reply-To: <20191004145056.43267-8-hdegoede@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 6526 bytes --]

Hi Hans,

I love your patch! Yet something to improve:

[auto build test ERROR on efi/next]
[cannot apply to v5.4-rc1 next-20191004]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Hans-de-Goede/efi-firmware-platform-x86-Add-EFI-embedded-fw-support/20191005-021239
base:   https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
config: x86_64-randconfig-a004-201939 (attached as .config)
compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/firmware/efi/embedded-firmware.c: In function 'efi_check_md_for_embedded_firmware':
>> drivers/firmware/efi/embedded-firmware.c:64:3: error: implicit declaration of function 'sha256_init' [-Werror=implicit-function-declaration]
      sha256_init(&sctx);
      ^
>> drivers/firmware/efi/embedded-firmware.c:65:3: error: implicit declaration of function 'sha256_update' [-Werror=implicit-function-declaration]
      sha256_update(&sctx, map + i, desc->length);
      ^
   drivers/firmware/efi/embedded-firmware.c:66:3: error: implicit declaration of function 'sha256_final' [-Werror=implicit-function-declaration]
      sha256_final(&sctx, sha256);
      ^
   cc1: some warnings being treated as errors

vim +/sha256_init +64 drivers/firmware/efi/embedded-firmware.c

3977d46d946ae2 Hans de Goede 2019-10-04  32  
3977d46d946ae2 Hans de Goede 2019-10-04  33  /*
3977d46d946ae2 Hans de Goede 2019-10-04  34   * Note the efi_check_for_embedded_firmwares() code currently makes the
3977d46d946ae2 Hans de Goede 2019-10-04  35   * following 2 assumptions. This may needs to be revisited if embedded firmware
3977d46d946ae2 Hans de Goede 2019-10-04  36   * is found where this is not true:
3977d46d946ae2 Hans de Goede 2019-10-04  37   * 1) The firmware is only found in EFI_BOOT_SERVICES_CODE memory segments
3977d46d946ae2 Hans de Goede 2019-10-04  38   * 2) The firmware always starts at an offset which is a multiple of 8 bytes
3977d46d946ae2 Hans de Goede 2019-10-04  39   */
3977d46d946ae2 Hans de Goede 2019-10-04  40  static int __init efi_check_md_for_embedded_firmware(
3977d46d946ae2 Hans de Goede 2019-10-04  41  	efi_memory_desc_t *md, const struct efi_embedded_fw_desc *desc)
3977d46d946ae2 Hans de Goede 2019-10-04  42  {
3977d46d946ae2 Hans de Goede 2019-10-04  43  	const u64 prefix = *((u64 *)desc->prefix);
3977d46d946ae2 Hans de Goede 2019-10-04  44  	struct sha256_state sctx;
3977d46d946ae2 Hans de Goede 2019-10-04  45  	struct embedded_fw *fw;
3977d46d946ae2 Hans de Goede 2019-10-04  46  	u8 sha256[32];
3977d46d946ae2 Hans de Goede 2019-10-04  47  	u64 i, size;
3977d46d946ae2 Hans de Goede 2019-10-04  48  	void *map;
3977d46d946ae2 Hans de Goede 2019-10-04  49  
3977d46d946ae2 Hans de Goede 2019-10-04  50  	size = md->num_pages << EFI_PAGE_SHIFT;
3977d46d946ae2 Hans de Goede 2019-10-04  51  	map = memremap(md->phys_addr, size, MEMREMAP_WB);
3977d46d946ae2 Hans de Goede 2019-10-04  52  	if (!map) {
3977d46d946ae2 Hans de Goede 2019-10-04  53  		pr_err("Error mapping EFI mem at %#llx\n", md->phys_addr);
3977d46d946ae2 Hans de Goede 2019-10-04  54  		return -ENOMEM;
3977d46d946ae2 Hans de Goede 2019-10-04  55  	}
3977d46d946ae2 Hans de Goede 2019-10-04  56  
3977d46d946ae2 Hans de Goede 2019-10-04  57  	size -= desc->length;
3977d46d946ae2 Hans de Goede 2019-10-04  58  	for (i = 0; i < size; i += 8) {
3977d46d946ae2 Hans de Goede 2019-10-04  59  		u64 *mem = map + i;
3977d46d946ae2 Hans de Goede 2019-10-04  60  
3977d46d946ae2 Hans de Goede 2019-10-04  61  		if (*mem != prefix)
3977d46d946ae2 Hans de Goede 2019-10-04  62  			continue;
3977d46d946ae2 Hans de Goede 2019-10-04  63  
3977d46d946ae2 Hans de Goede 2019-10-04 @64  		sha256_init(&sctx);
3977d46d946ae2 Hans de Goede 2019-10-04 @65  		sha256_update(&sctx, map + i, desc->length);
3977d46d946ae2 Hans de Goede 2019-10-04  66  		sha256_final(&sctx, sha256);
3977d46d946ae2 Hans de Goede 2019-10-04  67  		if (memcmp(sha256, desc->sha256, 32) == 0)
3977d46d946ae2 Hans de Goede 2019-10-04  68  			break;
3977d46d946ae2 Hans de Goede 2019-10-04  69  	}
3977d46d946ae2 Hans de Goede 2019-10-04  70  	if (i >= size) {
3977d46d946ae2 Hans de Goede 2019-10-04  71  		memunmap(map);
3977d46d946ae2 Hans de Goede 2019-10-04  72  		return -ENOENT;
3977d46d946ae2 Hans de Goede 2019-10-04  73  	}
3977d46d946ae2 Hans de Goede 2019-10-04  74  
3977d46d946ae2 Hans de Goede 2019-10-04  75  	pr_info("Found EFI embedded fw '%s'\n", desc->name);
3977d46d946ae2 Hans de Goede 2019-10-04  76  
3977d46d946ae2 Hans de Goede 2019-10-04  77  	fw = kmalloc(sizeof(*fw), GFP_KERNEL);
3977d46d946ae2 Hans de Goede 2019-10-04  78  	if (!fw) {
3977d46d946ae2 Hans de Goede 2019-10-04  79  		memunmap(map);
3977d46d946ae2 Hans de Goede 2019-10-04  80  		return -ENOMEM;
3977d46d946ae2 Hans de Goede 2019-10-04  81  	}
3977d46d946ae2 Hans de Goede 2019-10-04  82  
3977d46d946ae2 Hans de Goede 2019-10-04  83  	fw->data = kmemdup(map + i, desc->length, GFP_KERNEL);
3977d46d946ae2 Hans de Goede 2019-10-04  84  	memunmap(map);
3977d46d946ae2 Hans de Goede 2019-10-04  85  	if (!fw->data) {
3977d46d946ae2 Hans de Goede 2019-10-04  86  		kfree(fw);
3977d46d946ae2 Hans de Goede 2019-10-04  87  		return -ENOMEM;
3977d46d946ae2 Hans de Goede 2019-10-04  88  	}
3977d46d946ae2 Hans de Goede 2019-10-04  89  
3977d46d946ae2 Hans de Goede 2019-10-04  90  	fw->name = desc->name;
3977d46d946ae2 Hans de Goede 2019-10-04  91  	fw->length = desc->length;
3977d46d946ae2 Hans de Goede 2019-10-04  92  	list_add(&fw->list, &found_fw_list);
3977d46d946ae2 Hans de Goede 2019-10-04  93  
3977d46d946ae2 Hans de Goede 2019-10-04  94  	return 0;
3977d46d946ae2 Hans de Goede 2019-10-04  95  }
3977d46d946ae2 Hans de Goede 2019-10-04  96  

:::::: The code at line 64 was first introduced by commit
:::::: 3977d46d946ae2699ac2c8196d52fb9b303909c9 efi: Add embedded peripheral firmware support

:::::: TO: Hans de Goede <hdegoede@redhat.com>
:::::: CC: 0day robot <lkp@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34825 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v7 7/8] platform/x86: touchscreen_dmi: Add EFI embedded firmware info support
Date: Sat, 05 Oct 2019 15:13:43 +0800	[thread overview]
Message-ID: <201910051508.UGYJAuMc%lkp@intel.com> (raw)
In-Reply-To: <20191004145056.43267-8-hdegoede@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 6638 bytes --]

Hi Hans,

I love your patch! Yet something to improve:

[auto build test ERROR on efi/next]
[cannot apply to v5.4-rc1 next-20191004]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Hans-de-Goede/efi-firmware-platform-x86-Add-EFI-embedded-fw-support/20191005-021239
base:   https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
config: x86_64-randconfig-a004-201939 (attached as .config)
compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/firmware/efi/embedded-firmware.c: In function 'efi_check_md_for_embedded_firmware':
>> drivers/firmware/efi/embedded-firmware.c:64:3: error: implicit declaration of function 'sha256_init' [-Werror=implicit-function-declaration]
      sha256_init(&sctx);
      ^
>> drivers/firmware/efi/embedded-firmware.c:65:3: error: implicit declaration of function 'sha256_update' [-Werror=implicit-function-declaration]
      sha256_update(&sctx, map + i, desc->length);
      ^
   drivers/firmware/efi/embedded-firmware.c:66:3: error: implicit declaration of function 'sha256_final' [-Werror=implicit-function-declaration]
      sha256_final(&sctx, sha256);
      ^
   cc1: some warnings being treated as errors

vim +/sha256_init +64 drivers/firmware/efi/embedded-firmware.c

3977d46d946ae2 Hans de Goede 2019-10-04  32  
3977d46d946ae2 Hans de Goede 2019-10-04  33  /*
3977d46d946ae2 Hans de Goede 2019-10-04  34   * Note the efi_check_for_embedded_firmwares() code currently makes the
3977d46d946ae2 Hans de Goede 2019-10-04  35   * following 2 assumptions. This may needs to be revisited if embedded firmware
3977d46d946ae2 Hans de Goede 2019-10-04  36   * is found where this is not true:
3977d46d946ae2 Hans de Goede 2019-10-04  37   * 1) The firmware is only found in EFI_BOOT_SERVICES_CODE memory segments
3977d46d946ae2 Hans de Goede 2019-10-04  38   * 2) The firmware always starts at an offset which is a multiple of 8 bytes
3977d46d946ae2 Hans de Goede 2019-10-04  39   */
3977d46d946ae2 Hans de Goede 2019-10-04  40  static int __init efi_check_md_for_embedded_firmware(
3977d46d946ae2 Hans de Goede 2019-10-04  41  	efi_memory_desc_t *md, const struct efi_embedded_fw_desc *desc)
3977d46d946ae2 Hans de Goede 2019-10-04  42  {
3977d46d946ae2 Hans de Goede 2019-10-04  43  	const u64 prefix = *((u64 *)desc->prefix);
3977d46d946ae2 Hans de Goede 2019-10-04  44  	struct sha256_state sctx;
3977d46d946ae2 Hans de Goede 2019-10-04  45  	struct embedded_fw *fw;
3977d46d946ae2 Hans de Goede 2019-10-04  46  	u8 sha256[32];
3977d46d946ae2 Hans de Goede 2019-10-04  47  	u64 i, size;
3977d46d946ae2 Hans de Goede 2019-10-04  48  	void *map;
3977d46d946ae2 Hans de Goede 2019-10-04  49  
3977d46d946ae2 Hans de Goede 2019-10-04  50  	size = md->num_pages << EFI_PAGE_SHIFT;
3977d46d946ae2 Hans de Goede 2019-10-04  51  	map = memremap(md->phys_addr, size, MEMREMAP_WB);
3977d46d946ae2 Hans de Goede 2019-10-04  52  	if (!map) {
3977d46d946ae2 Hans de Goede 2019-10-04  53  		pr_err("Error mapping EFI mem at %#llx\n", md->phys_addr);
3977d46d946ae2 Hans de Goede 2019-10-04  54  		return -ENOMEM;
3977d46d946ae2 Hans de Goede 2019-10-04  55  	}
3977d46d946ae2 Hans de Goede 2019-10-04  56  
3977d46d946ae2 Hans de Goede 2019-10-04  57  	size -= desc->length;
3977d46d946ae2 Hans de Goede 2019-10-04  58  	for (i = 0; i < size; i += 8) {
3977d46d946ae2 Hans de Goede 2019-10-04  59  		u64 *mem = map + i;
3977d46d946ae2 Hans de Goede 2019-10-04  60  
3977d46d946ae2 Hans de Goede 2019-10-04  61  		if (*mem != prefix)
3977d46d946ae2 Hans de Goede 2019-10-04  62  			continue;
3977d46d946ae2 Hans de Goede 2019-10-04  63  
3977d46d946ae2 Hans de Goede 2019-10-04 @64  		sha256_init(&sctx);
3977d46d946ae2 Hans de Goede 2019-10-04 @65  		sha256_update(&sctx, map + i, desc->length);
3977d46d946ae2 Hans de Goede 2019-10-04  66  		sha256_final(&sctx, sha256);
3977d46d946ae2 Hans de Goede 2019-10-04  67  		if (memcmp(sha256, desc->sha256, 32) == 0)
3977d46d946ae2 Hans de Goede 2019-10-04  68  			break;
3977d46d946ae2 Hans de Goede 2019-10-04  69  	}
3977d46d946ae2 Hans de Goede 2019-10-04  70  	if (i >= size) {
3977d46d946ae2 Hans de Goede 2019-10-04  71  		memunmap(map);
3977d46d946ae2 Hans de Goede 2019-10-04  72  		return -ENOENT;
3977d46d946ae2 Hans de Goede 2019-10-04  73  	}
3977d46d946ae2 Hans de Goede 2019-10-04  74  
3977d46d946ae2 Hans de Goede 2019-10-04  75  	pr_info("Found EFI embedded fw '%s'\n", desc->name);
3977d46d946ae2 Hans de Goede 2019-10-04  76  
3977d46d946ae2 Hans de Goede 2019-10-04  77  	fw = kmalloc(sizeof(*fw), GFP_KERNEL);
3977d46d946ae2 Hans de Goede 2019-10-04  78  	if (!fw) {
3977d46d946ae2 Hans de Goede 2019-10-04  79  		memunmap(map);
3977d46d946ae2 Hans de Goede 2019-10-04  80  		return -ENOMEM;
3977d46d946ae2 Hans de Goede 2019-10-04  81  	}
3977d46d946ae2 Hans de Goede 2019-10-04  82  
3977d46d946ae2 Hans de Goede 2019-10-04  83  	fw->data = kmemdup(map + i, desc->length, GFP_KERNEL);
3977d46d946ae2 Hans de Goede 2019-10-04  84  	memunmap(map);
3977d46d946ae2 Hans de Goede 2019-10-04  85  	if (!fw->data) {
3977d46d946ae2 Hans de Goede 2019-10-04  86  		kfree(fw);
3977d46d946ae2 Hans de Goede 2019-10-04  87  		return -ENOMEM;
3977d46d946ae2 Hans de Goede 2019-10-04  88  	}
3977d46d946ae2 Hans de Goede 2019-10-04  89  
3977d46d946ae2 Hans de Goede 2019-10-04  90  	fw->name = desc->name;
3977d46d946ae2 Hans de Goede 2019-10-04  91  	fw->length = desc->length;
3977d46d946ae2 Hans de Goede 2019-10-04  92  	list_add(&fw->list, &found_fw_list);
3977d46d946ae2 Hans de Goede 2019-10-04  93  
3977d46d946ae2 Hans de Goede 2019-10-04  94  	return 0;
3977d46d946ae2 Hans de Goede 2019-10-04  95  }
3977d46d946ae2 Hans de Goede 2019-10-04  96  

:::::: The code at line 64 was first introduced by commit
:::::: 3977d46d946ae2699ac2c8196d52fb9b303909c9 efi: Add embedded peripheral firmware support

:::::: TO: Hans de Goede <hdegoede@redhat.com>
:::::: CC: 0day robot <lkp@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34825 bytes --]

  parent reply	other threads:[~2019-10-05  7:14 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-04 14:50 [PATCH v7 0/8] efi/firmware/platform-x86: Add EFI embedded fw support Hans de Goede
2019-10-04 14:50 ` [PATCH v7 1/8] efi: Export boot-services code and data as debugfs-blobs Hans de Goede
2019-10-09 13:07   ` Ard Biesheuvel
2019-10-09 13:18     ` Hans de Goede
2019-10-09 13:35       ` Ard Biesheuvel
2019-10-09 13:59         ` Hans de Goede
2019-10-09 14:01           ` Ard Biesheuvel
2019-10-14  9:11   ` Luis Chamberlain
2019-11-14 11:31     ` Hans de Goede
2019-10-04 14:50 ` [PATCH v7 2/8] efi: Add embedded peripheral firmware support Hans de Goede
2019-10-11 14:48   ` Luis Chamberlain
2019-11-14 11:27     ` Hans de Goede
2019-11-14 19:42       ` Luis Chamberlain
2019-11-14 20:13         ` Hans de Goede
2019-11-14 20:48           ` Hans de Goede
2019-11-14 21:50             ` Luis Chamberlain
2019-11-15 12:09               ` Hans de Goede
2019-10-04 14:50 ` [PATCH v7 3/8] firmware: Rename FW_OPT_NOFALLBACK to FW_OPT_NOFALLBACK_SYSFS Hans de Goede
2019-10-11 15:02   ` Luis Chamberlain
2019-11-14 20:22     ` Hans de Goede
2019-10-04 14:50 ` [PATCH v7 4/8] firmware: Add new platform fallback mechanism and firmware_request_platform() Hans de Goede
2019-10-04 19:33   ` kbuild test robot
2019-10-04 19:33     ` kbuild test robot
2019-10-04 19:33     ` kbuild test robot
2019-10-04 20:45   ` kbuild test robot
2019-10-04 20:45     ` kbuild test robot
2019-10-04 20:45     ` kbuild test robot
2019-10-04 23:17   ` Dmitry Torokhov
2019-10-05  9:53     ` Hans de Goede
2019-10-11 15:31     ` Luis Chamberlain
2019-10-11 15:29   ` Luis Chamberlain
2019-11-14 11:32     ` Hans de Goede
2019-10-04 14:50 ` [PATCH v7 5/8] Input: silead - Switch to firmware_request_platform for retreiving the fw Hans de Goede
2019-10-11  0:47   ` Dmitry Torokhov
2019-10-04 14:50 ` [PATCH v7 6/8] Input: icn8505 " Hans de Goede
2019-10-11  0:47   ` Dmitry Torokhov
2019-10-04 14:50 ` [PATCH v7 7/8] platform/x86: touchscreen_dmi: Add EFI embedded firmware info support Hans de Goede
2019-10-05  3:03   ` kbuild test robot
2019-10-05  3:03     ` kbuild test robot
2019-10-05  3:03     ` kbuild test robot
2019-10-05  7:13   ` kbuild test robot [this message]
2019-10-05  7:13     ` kbuild test robot
2019-10-05  7:13     ` kbuild test robot
2019-10-04 14:50 ` [PATCH v7 8/8] platform/x86: touchscreen_dmi: Add info for the Chuwi Vi8 Plus tablet Hans de Goede
2019-10-07 14:19 ` [PATCH v7 0/8] efi/firmware/platform-x86: Add EFI embedded fw support Ingo Molnar
2019-10-08  9:35   ` Hans de Goede
2019-10-08 11:05     ` Ingo Molnar
2019-10-11 14:10 ` Luis Chamberlain
2019-10-11 14:31   ` Hans de Goede
2019-10-11 15:38     ` Luis Chamberlain
2019-10-11 16:38       ` Greg Kroah-Hartman
2019-10-14  9:22         ` Luis Chamberlain
2019-10-14  9:29           ` Greg Kroah-Hartman
2019-10-14 10:31             ` Luis Chamberlain
2019-10-14 10:57               ` Greg Kroah-Hartman
2019-10-16 12:45                 ` Luis Chamberlain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201910051508.UGYJAuMc%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=andy@infradead.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=dave@bewaar.me \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dvhart@infradead.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=hpa@zytor.com \
    --cc=kbuild-all@01.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=mingo@redhat.com \
    --cc=pjones@redhat.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.