From: Hari Bathini <hbathini@linux.ibm.com>
To: Michael Ellerman <mpe@ellerman.id.au>,
Andrew Morton <akpm@linux-foundation.org>
Cc: kernel test robot <lkp@intel.com>, Pingfan Liu <piliu@redhat.com>,
Kexec-ml <kexec@lists.infradead.org>,
Nayna Jain <nayna@linux.ibm.com>, Petr Tesarik <ptesarik@suse.cz>,
Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Mimi Zohar <zohar@linux.ibm.com>,
lkml <linux-kernel@vger.kernel.org>,
linuxppc-dev <linuxppc-dev@ozlabs.org>,
Sourabh Jain <sourabhjain@linux.ibm.com>,
Vivek Goyal <vgoyal@redhat.com>, Dave Young <dyoung@redhat.com>,
Thiago Jung Bauermann <bauerman@linux.ibm.com>,
Eric Biederman <ebiederm@xmission.com>
Subject: Re: [PATCH v4 07/12] ppc64/kexec_file: add support to relocate purgatory
Date: Wed, 22 Jul 2020 23:03:00 +0530 [thread overview]
Message-ID: <2037fa32-28be-5995-1c22-c8b01cafe088@linux.ibm.com> (raw)
In-Reply-To: <871rl4rxao.fsf@mpe.ellerman.id.au>
On 22/07/20 9:55 am, Michael Ellerman wrote:
> Hari Bathini <hbathini@linux.ibm.com> writes:
>> Right now purgatory implementation is only minimal. But if purgatory
>> code is to be enhanced to copy memory to the backup region and verify
>> sha256 digest, relocations may have to be applied to the purgatory.
>> So, add support to relocate purgatory in kexec_file_load system call
>> by setting up TOC pointer and applying RELA relocations as needed.
>>
>> Reported-by: kernel test robot <lkp@intel.com>
>> [lkp: In v1, 'struct mem_sym' was declared in parameter list]
>> Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
>> ---
>>
>> * Michael, can you share your opinion on the below:
>> - https://lore.kernel.org/patchwork/patch/1272027/
>> - My intention in cover note.
>
> It seems like a lot of complexity for little benefit.
>
> AFAICS your final purgatory_64.c is only 36 lines, and all it does is a
> single (open coded) memcpy().
>
> It seems like we could write that in not many more lines of assembler
> and avoid all this code.
Hi Michael,
I am not sure if you would agree with me on this, but I am looking at the
purgatory code as work in progress. As mentioned in the cover note, I intend
to add log messaging, sha256 verification into purgatory. And also change it
to position independent executable after moving common purgatory code (sha256
verification) to arch-independent code.
When I initially took this up, I wanted to add all the above changes too, but
cut down on it, in the interest of time, first to get kdump (kexec -s -p)
working in v5.9 merge window.
But as the logic in patches 07/12 & 08/12 has been tested in kexec-tools code
a lot of times and there are unlikely to be any changes to them except for
__kexec_do_relocs() function (afaics), when -PIE would be used, I submitted them.
With patch 09/12, I tried for a change that uses relocations while is minimal
for now.
Would you prefer it to be absolutely minimal by dropping patches 7 & 8 for
now and writing the backup data copy code in assembler?
Thanks
Hari
next prev parent reply other threads:[~2020-07-22 17:36 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-20 12:49 [PATCH v4 00/12] ppc64: enable kdump support for kexec_file_load syscall Hari Bathini
2020-07-20 12:50 ` [PATCH v4 01/12] kexec_file: allow archs to handle special regions while locating memory hole Hari Bathini
2020-07-20 12:50 ` [PATCH v4 02/12] powerpc/kexec_file: mark PPC64 specific code Hari Bathini
2020-07-20 12:51 ` [PATCH v4 03/12] powerpc/kexec_file: add helper functions for getting memory ranges Hari Bathini
2020-07-20 12:59 ` Hari Bathini
2020-07-23 22:12 ` Thiago Jung Bauermann
2020-07-20 12:52 ` [PATCH v4 04/12] ppc64/kexec_file: avoid stomping memory used by special regions Hari Bathini
2020-07-23 22:19 ` Thiago Jung Bauermann
2020-07-20 12:52 ` [PATCH v4 05/12] powerpc/drmem: make lmb walk a bit more flexible Hari Bathini
2020-07-20 12:52 ` [PATCH v4 06/12] ppc64/kexec_file: restrict memory usage of kdump kernel Hari Bathini
2020-07-24 0:06 ` Thiago Jung Bauermann
2020-07-24 14:08 ` Hari Bathini
2020-07-25 0:32 ` Thiago Jung Bauermann
2020-07-20 12:53 ` [PATCH v4 07/12] ppc64/kexec_file: add support to relocate purgatory Hari Bathini
2020-07-22 4:25 ` Michael Ellerman
2020-07-22 17:33 ` Hari Bathini [this message]
2020-07-23 6:47 ` Michael Ellerman
2020-07-20 12:53 ` [PATCH v4 08/12] ppc64/kexec_file: setup the stack for purgatory Hari Bathini
2020-07-20 12:54 ` [PATCH v4 09/12] ppc64/kexec_file: setup backup region for kdump kernel Hari Bathini
2020-07-24 0:28 ` Thiago Jung Bauermann
2020-07-20 12:54 ` [PATCH v4 10/12] ppc64/kexec_file: prepare elfcore header for crashing kernel Hari Bathini
2020-07-24 0:33 ` Thiago Jung Bauermann
2020-07-20 12:54 ` [PATCH v4 11/12] ppc64/kexec_file: add appropriate regions for memory reserve map Hari Bathini
2020-07-20 12:55 ` [PATCH v4 12/12] ppc64/kexec_file: fix kexec load failure with lack of memory hole Hari Bathini
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=2037fa32-28be-5995-1c22-c8b01cafe088@linux.ibm.com \
--to=hbathini@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=bauerman@linux.ibm.com \
--cc=dyoung@redhat.com \
--cc=ebiederm@xmission.com \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=lkp@intel.com \
--cc=mahesh@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=nayna@linux.ibm.com \
--cc=piliu@redhat.com \
--cc=ptesarik@suse.cz \
--cc=sourabhjain@linux.ibm.com \
--cc=vgoyal@redhat.com \
--cc=zohar@linux.ibm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).