[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201809111617.8gqS3t9s%fengguang.wu@intel.com>
Date: Tue, 11 Sep 2018 16:06:21 +0800
From: kbuild test robot <lkp@...el.com>
To: Sai Praneeth Prakhya <sai.praneeth.prakhya@...el.com>
Cc: kbuild-all@...org, linux-efi@...r.kernel.org,
linux-kernel@...r.kernel.org, x86@...nel.org,
Sai Praneeth <sai.praneeth.prakhya@...el.com>,
Al Stone <astone@...hat.com>, Borislav Petkov <bp@...en8.de>,
Ingo Molnar <mingo@...nel.org>,
Andy Lutomirski <luto@...nel.org>,
Bhupesh Sharma <bhsharma@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>
Subject: Re: [PATCH V5 2/2] x86/efi: Add efi page fault handler to recover
from page faults caused by the firmware
Hi Sai,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on efi/next]
[cannot apply to v4.19-rc3 next-20180910]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Sai-Praneeth-Prakhya/efi-Make-efi_rts_work-accessible-to-efi-page-fault-handler/20180911-142222
base: https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
config: i386-randconfig-s0-201836 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
arch/x86/mm/fault.o: In function `no_context':
>> arch/x86/mm/fault.c:798: undefined reference to `efi_recover_from_page_fault'
vim +798 arch/x86/mm/fault.c
776
777 /*
778 * 32-bit:
779 *
780 * Valid to do another page fault here, because if this fault
781 * had been triggered by is_prefetch fixup_exception would have
782 * handled it.
783 *
784 * 64-bit:
785 *
786 * Hall of shame of CPU/BIOS bugs.
787 */
788 if (is_prefetch(regs, error_code, address))
789 return;
790
791 if (is_errata93(regs, address))
792 return;
793
794 /*
795 * Buggy firmware could access regions which might page fault, try to
796 * recover from such faults.
797 */
> 798 if (efi_recover_from_page_fault(address))
799 return;
800
801 /*
802 * Oops. The kernel tried to access some bad page. We'll have to
803 * terminate things with extreme prejudice:
804 */
805 flags = oops_begin();
806
807 show_fault_oops(regs, error_code, address);
808
809 if (task_stack_end_corrupted(tsk))
810 printk(KERN_EMERG "Thread overran stack, or stack corrupted\n");
811
812 tsk->thread.cr2 = address;
813 tsk->thread.trap_nr = X86_TRAP_PF;
814 tsk->thread.error_code = error_code;
815
816 sig = SIGKILL;
817 if (__die("Oops", regs, error_code))
818 sig = 0;
819
820 /* Executive summary in case the body of the oops scrolled away */
821 printk(KERN_DEFAULT "CR2: %016lx\n", address);
822
823 oops_end(flags, regs, sig);
824 }
825
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (28443 bytes)
Powered by blists - more mailing lists