<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm64/kernel/machine_kexec_file.c, branch linux-6.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.3.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.3.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-09-01T10:50:00Z</updated>
<entry>
<title>arm64/kexec: Fix missing extra range for crashkres_low.</title>
<updated>2022-09-01T10:50:00Z</updated>
<author>
<name>Levi Yun</name>
</author>
<published>2022-08-31T10:39:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4831be702b95047c89b3fa5728d07091e9e9f7c9'/>
<id>urn:sha1:4831be702b95047c89b3fa5728d07091e9e9f7c9</id>
<content type='text'>
Like crashk_res, Calling crash_exclude_mem_range function with
crashk_low_res area would need extra crash_mem range too.

Add one more extra cmem slot in case of crashk_low_res is used.

Signed-off-by: Levi Yun &lt;ppbuk5246@gmail.com&gt;
Fixes: 944a45abfabc ("arm64: kdump: Reimplement crashkernel=X")
Cc: &lt;stable@vger.kernel.org&gt; # 5.19.x
Acked-by: Baoquan He &lt;bhe@redhat.com&gt;
Reviewed-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Link: https://lore.kernel.org/r/20220831103913.12661-1-ppbuk5246@gmail.com
Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>arm64: kdump: Reimplement crashkernel=X</title>
<updated>2022-05-07T18:54:33Z</updated>
<author>
<name>Chen Zhou</name>
</author>
<published>2022-05-06T11:43:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=944a45abfabc171fd121315ff0d5e62b11cb5d6f'/>
<id>urn:sha1:944a45abfabc171fd121315ff0d5e62b11cb5d6f</id>
<content type='text'>
There are following issues in arm64 kdump:
1. We use crashkernel=X to reserve crashkernel in DMA zone, which
will fail when there is not enough low memory.
2. If reserving crashkernel above DMA zone, in this case, crash dump
kernel will fail to boot because there is no low memory available
for allocation.

To solve these issues, introduce crashkernel=X,[high,low].
The "crashkernel=X,high" is used to select a region above DMA zone, and
the "crashkernel=Y,low" is used to allocate specified size low memory.

Signed-off-by: Chen Zhou &lt;chenzhou10@huawei.com&gt;
Co-developed-by: Zhen Lei &lt;thunder.leizhen@huawei.com&gt;
Signed-off-by: Zhen Lei &lt;thunder.leizhen@huawei.com&gt;
Link: https://lore.kernel.org/r/20220506114402.365-4-thunder.leizhen@huawei.com
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: kexec: Fix missing error code 'ret' warning in load_other_segments()</title>
<updated>2021-12-16T17:44:58Z</updated>
<author>
<name>Lakshmi Ramasubramanian</name>
</author>
<published>2021-12-10T01:01:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9c5d89bc10551f1aecd768b00fca3339a7b8c8ee'/>
<id>urn:sha1:9c5d89bc10551f1aecd768b00fca3339a7b8c8ee</id>
<content type='text'>
Since commit ac10be5cdbfa ("arm64: Use common
of_kexec_alloc_and_setup_fdt()"), smatch reports the following warning:

  arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments()
  warn: missing error code 'ret'

Return code is not set to an error code in load_other_segments() when
of_kexec_alloc_and_setup_fdt() call returns a NULL dtb. This results
in status success (return code set to 0) being returned from
load_other_segments().

Set return code to -EINVAL if of_kexec_alloc_and_setup_fdt() returns
NULL dtb.

Signed-off-by: Lakshmi Ramasubramanian &lt;nramas@linux.microsoft.com&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Fixes: ac10be5cdbfa ("arm64: Use common of_kexec_alloc_and_setup_fdt()")
Link: https://lore.kernel.org/r/20211210010121.101823-1-nramas@linux.microsoft.com
Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: Use common of_kexec_alloc_and_setup_fdt()</title>
<updated>2021-03-08T19:06:29Z</updated>
<author>
<name>Rob Herring</name>
</author>
<published>2021-02-21T17:49:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ac10be5cdbfa852139658d52c2f1c608782ce992'/>
<id>urn:sha1:ac10be5cdbfa852139658d52c2f1c608782ce992</id>
<content type='text'>
The code for setting up the /chosen node in the device tree
and updating the memory reservation for the next kernel has been
moved to of_kexec_alloc_and_setup_fdt() defined in "drivers/of/kexec.c".

Use the common of_kexec_alloc_and_setup_fdt() to setup the device tree
and update the memory reservation for kexec for arm64.

Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
Signed-off-by: Lakshmi Ramasubramanian &lt;nramas@linux.microsoft.com&gt;
Reviewed-by: Thiago Jung Bauermann &lt;bauerman@linux.ibm.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
Link: https://lore.kernel.org/r/20210221174930.27324-7-nramas@linux.microsoft.com
</content>
</entry>
<entry>
<title>arm64: Use ELF fields defined in 'struct kimage'</title>
<updated>2021-03-08T19:06:28Z</updated>
<author>
<name>Lakshmi Ramasubramanian</name>
</author>
<published>2021-02-21T17:49:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b558cc3564e6c9ab2047c82e4a555e1d771ea1b'/>
<id>urn:sha1:7b558cc3564e6c9ab2047c82e4a555e1d771ea1b</id>
<content type='text'>
ELF related fields elf_headers, elf_headers_sz, and elf_headers_mem
have been moved from 'struct kimage_arch' to 'struct kimage' as
elf_headers, elf_headers_sz, and elf_load_addr respectively.

Use the ELF fields defined in 'struct kimage'.

Suggested-by: Rob Herring &lt;robh@kernel.org&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Signed-off-by: Lakshmi Ramasubramanian &lt;nramas@linux.microsoft.com&gt;
Reviewed-by: Thiago Jung Bauermann &lt;bauerman@linux.ibm.com&gt;
Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
Link: https://lore.kernel.org/r/20210221174930.27324-3-nramas@linux.microsoft.com
</content>
</entry>
<entry>
<title>arm64: kexec_file: fix memory leakage in create_dtb() when fdt_open_into() fails</title>
<updated>2021-02-19T17:57:40Z</updated>
<author>
<name>qiuguorui1</name>
</author>
<published>2021-02-18T12:59:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=656d1d58d8e0958d372db86c24f0b2ea36f50888'/>
<id>urn:sha1:656d1d58d8e0958d372db86c24f0b2ea36f50888</id>
<content type='text'>
in function create_dtb(), if fdt_open_into() fails, we need to vfree
buf before return.

Fixes: 52b2a8af7436 ("arm64: kexec_file: load initrd and device-tree")
Cc: stable@vger.kernel.org # v5.0
Signed-off-by: qiuguorui1 &lt;qiuguorui1@huawei.com&gt;
Link: https://lore.kernel.org/r/20210218125900.6810-1-qiuguorui1@huawei.com
Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>arm64: kexec_file: try more regions if loading segments fails</title>
<updated>2020-11-05T21:48:05Z</updated>
<author>
<name>Benjamin Gwin</name>
</author>
<published>2020-11-03T20:11:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=108aa503657ee2fe8aa071dc620d96372c252ecd'/>
<id>urn:sha1:108aa503657ee2fe8aa071dc620d96372c252ecd</id>
<content type='text'>
It's possible that the first region picked for the new kernel will make
it impossible to fit the other segments in the required 32GB window,
especially if we have a very large initrd.

Instead of giving up, we can keep testing other regions for the kernel
until we find one that works.

Suggested-by: Ryan O'Leary &lt;ryanoleary@google.com&gt;
Signed-off-by: Benjamin Gwin &lt;bgwin@google.com&gt;
Link: https://lore.kernel.org/r/20201103201106.2397844-1-bgwin@google.com
Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>memblock: reduce number of parameters in for_each_mem_range()</title>
<updated>2020-10-14T01:38:35Z</updated>
<author>
<name>Mike Rapoport</name>
</author>
<published>2020-10-13T23:57:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6e245ad4a17ab92dba63406d3f517520a86c0a80'/>
<id>urn:sha1:6e245ad4a17ab92dba63406d3f517520a86c0a80</id>
<content type='text'>
Currently for_each_mem_range() and for_each_mem_range_rev() iterators are
the most generic way to traverse memblock regions.  As such, they have 8
parameters and they are hardly convenient to users.  Most users choose to
utilize one of their wrappers and the only user that actually needs most
of the parameters is memblock itself.

To avoid yet another naming for memblock iterators, rename the existing
for_each_mem_range[_rev]() to __for_each_mem_range[_rev]() and add a new
for_each_mem_range[_rev]() wrappers with only index, start and end
parameters.

The new wrapper nicely fits into init_unavailable_mem() and will be used
in upcoming changes to simplify memblock traversals.

Signed-off-by: Mike Rapoport &lt;rppt@linux.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Acked-by: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;	[MIPS]
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Baoquan He &lt;bhe@redhat.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Borislav Petkov &lt;bp@alien8.de&gt;
Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Daniel Axtens &lt;dja@axtens.net&gt;
Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;
Cc: Emil Renner Berthing &lt;kernel@esmil.dk&gt;
Cc: Hari Bathini &lt;hbathini@linux.ibm.com&gt;
Cc: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Cc: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Cc: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Miguel Ojeda &lt;miguel.ojeda.sandonis@gmail.com&gt;
Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Russell King &lt;linux@armlinux.org.uk&gt;
Cc: Stafford Horne &lt;shorne@gmail.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Will Deacon &lt;will@kernel.org&gt;
Cc: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Link: https://lkml.kernel.org/r/20200818151634.14343-11-rppt@kernel.org
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>arm64: kexec_file: Use struct_size() in kmalloc()</title>
<updated>2020-06-18T09:45:20Z</updated>
<author>
<name>Gustavo A. R. Silva</name>
</author>
<published>2020-06-17T21:34:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bf508ec95ca3b902f14bb311a7709e5cb57fbc49'/>
<id>urn:sha1:bf508ec95ca3b902f14bb311a7709e5cb57fbc49</id>
<content type='text'>
Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.

This code was detected with the help of Coccinelle and, audited and
fixed manually.

Signed-off-by: Gustavo A. R. Silva &lt;gustavoars@kernel.org&gt;
Link: https://lore.kernel.org/r/20200617213407.GA1385@embeddedor
Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
<entry>
<title>arm64: kexec_file: print appropriate variable</title>
<updated>2020-04-30T20:31:22Z</updated>
<author>
<name>Łukasz Stelmach</name>
</author>
<published>2020-04-30T16:31:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=51075e0cb759a736e60ab4f3a5fed8670dba5852'/>
<id>urn:sha1:51075e0cb759a736e60ab4f3a5fed8670dba5852</id>
<content type='text'>
The value of kbuf-&gt;memsz may be different than kbuf-&gt;bufsz after calling
kexec_add_buffer(). Hence both values should be logged.

Fixes: 52b2a8af74360 ("arm64: kexec_file: load initrd and device-tree")
Fixes: 3751e728cef29 ("arm64: kexec_file: add crash dump support")
Signed-off-by: Łukasz Stelmach &lt;l.stelmach@samsung.com&gt;
Cc: AKASHI Takahiro &lt;takahiro.akashi@linaro.org&gt;
Cc: James Morse &lt;james.morse@arm.com&gt;
Cc: Bhupesh Sharma &lt;bhsharma@redhat.com&gt;
Link: https://lore.kernel.org/r/20200430163142.27282-2-l.stelmach@samsung.com
Signed-off-by: Will Deacon &lt;will@kernel.org&gt;
</content>
</entry>
</feed>
