From: panand@redhat.com (Pratyush Anand) To: linux-arm-kernel@lists.infradead.org Subject: kexec failures with DEBUG_RODATA Date: Tue, 21 Jun 2016 17:18:49 +0530 [thread overview] Message-ID: <20160621114849.GF29309@dhcppc9> (raw) In-Reply-To: <20160615231303.GL1041@n2100.armlinux.org.uk> Hi Russell, On 16/06/2016:12:13:03 AM, Russell King - ARM Linux wrote: > On Wed, Jun 15, 2016 at 03:54:38PM -0700, Kees Cook wrote: > > On Wed, Jun 15, 2016 at 3:42 PM, Russell King - ARM Linux > > <linux@armlinux.org.uk> wrote: > > > In fact, the apparent confusion over this reinforces my belief that we > > > should _not_ give the size of the uncompressed image at all. > > > > > > The boot environment must be setup such that there is room for the > > > uncompressed image (aligned currently to 256 bytes) followed by the > > > size of the compressed image, with any appended DTBs included. > > > Anything which is located below that is likely to get trampled by > > > the decompressor. > > > > Okay, sounds reasonable to me. :) > > I should point out that this method should work for a zImage without > an appended DTB, and we have no way to update this header block for > the appended DTB case. Well, I might be missing with my limited knowledge. So, just to clarify, zImage is "compressed image + uncompressor". In some cases it might have "+DTB". So, zImage should be located atleast "aligned uncompressed size" above "kernel base" and, initrd should be placed at "kernel base" + "aligned uncompressed size" + "compressed image size" + "uncompressor size" + DTB(if any). However, I am unable to understand that why can't we have a flag in zImage header block, which tells that whether a DTB has been appended in the zImage or not? > > So, an alternative standpoint is that we supply only the uncompressed > image size. Then, the boot environment needs to understand that they > must allow for the compressed image and any appended DTB on top of that > (which it would see as one - the size of the combined image.) So, why not we can have all three information in header ie. "uncompressed image size", "compressed image size" and "DTB size" if appended flag is set. > > However, while that may sound like a good idea, we're falling into the > same trap that we've fallen into at the beginning of this thread: the > boot environment has to understand how the decompressor currently works, > and if we were to change that, this we're back to the calculation which > the boot environment is using not matching reality. Currently we are discussing between 4 times to 11 times. So, if we know *atleast* "uncompressed image size" then this heuristic variation can be minimized a lot. If we do not provide header, then may be we can provide library to the kexec-tools which will enable us to know the length of "uncompressed image" when "compressed image" is provided as input. ~Pratyush > > -- > RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ > FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up > according to speedtest.net.
WARNING: multiple messages have this Message-ID (diff)
From: Pratyush Anand <panand@redhat.com> To: Russell King - ARM Linux <linux@armlinux.org.uk> Cc: Simon Horman <horms@verge.net.au>, Kexec Mailing List <kexec@lists.infradead.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, Baoquan He <bhe@redhat.com>, Kees Cook <keescook@google.com> Subject: Re: kexec failures with DEBUG_RODATA Date: Tue, 21 Jun 2016 17:18:49 +0530 [thread overview] Message-ID: <20160621114849.GF29309@dhcppc9> (raw) In-Reply-To: <20160615231303.GL1041@n2100.armlinux.org.uk> Hi Russell, On 16/06/2016:12:13:03 AM, Russell King - ARM Linux wrote: > On Wed, Jun 15, 2016 at 03:54:38PM -0700, Kees Cook wrote: > > On Wed, Jun 15, 2016 at 3:42 PM, Russell King - ARM Linux > > <linux@armlinux.org.uk> wrote: > > > In fact, the apparent confusion over this reinforces my belief that we > > > should _not_ give the size of the uncompressed image at all. > > > > > > The boot environment must be setup such that there is room for the > > > uncompressed image (aligned currently to 256 bytes) followed by the > > > size of the compressed image, with any appended DTBs included. > > > Anything which is located below that is likely to get trampled by > > > the decompressor. > > > > Okay, sounds reasonable to me. :) > > I should point out that this method should work for a zImage without > an appended DTB, and we have no way to update this header block for > the appended DTB case. Well, I might be missing with my limited knowledge. So, just to clarify, zImage is "compressed image + uncompressor". In some cases it might have "+DTB". So, zImage should be located atleast "aligned uncompressed size" above "kernel base" and, initrd should be placed at "kernel base" + "aligned uncompressed size" + "compressed image size" + "uncompressor size" + DTB(if any). However, I am unable to understand that why can't we have a flag in zImage header block, which tells that whether a DTB has been appended in the zImage or not? > > So, an alternative standpoint is that we supply only the uncompressed > image size. Then, the boot environment needs to understand that they > must allow for the compressed image and any appended DTB on top of that > (which it would see as one - the size of the combined image.) So, why not we can have all three information in header ie. "uncompressed image size", "compressed image size" and "DTB size" if appended flag is set. > > However, while that may sound like a good idea, we're falling into the > same trap that we've fallen into at the beginning of this thread: the > boot environment has to understand how the decompressor currently works, > and if we were to change that, this we're back to the calculation which > the boot environment is using not matching reality. Currently we are discussing between 4 times to 11 times. So, if we know *atleast* "uncompressed image size" then this heuristic variation can be minimized a lot. If we do not provide header, then may be we can provide library to the kexec-tools which will enable us to know the length of "uncompressed image" when "compressed image" is provided as input. ~Pratyush > > -- > RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ > FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up > according to speedtest.net. _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2016-06-21 11:48 UTC|newest] Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-06-14 17:59 kexec failures with DEBUG_RODATA Russell King - ARM Linux 2016-06-14 17:59 ` Russell King - ARM Linux 2016-06-14 18:05 ` Kees Cook 2016-06-14 18:05 ` Kees Cook 2016-06-15 2:43 ` Baoquan He 2016-06-15 2:43 ` Baoquan He 2016-06-15 21:13 ` Russell King - ARM Linux 2016-06-15 21:13 ` Russell King - ARM Linux 2016-06-15 22:20 ` Kees Cook 2016-06-15 22:20 ` Kees Cook 2016-06-15 22:42 ` Russell King - ARM Linux 2016-06-15 22:42 ` Russell King - ARM Linux 2016-06-15 22:54 ` Kees Cook 2016-06-15 22:54 ` Kees Cook 2016-06-15 23:13 ` Russell King - ARM Linux 2016-06-15 23:13 ` Russell King - ARM Linux 2016-06-21 11:48 ` Pratyush Anand [this message] 2016-06-21 11:48 ` Pratyush Anand 2016-06-21 15:37 ` Russell King - ARM Linux 2016-06-21 15:37 ` Russell King - ARM Linux 2016-07-07 10:20 ` Russell King - ARM Linux 2016-07-07 10:20 ` Russell King - ARM Linux 2016-07-07 14:01 ` [PATCH 1/2] arm: plug a zImage corner case Russell King 2016-07-07 14:01 ` Russell King 2016-07-15 4:13 ` Simon Horman 2016-07-15 4:13 ` Simon Horman 2016-08-02 23:09 ` libdrm-armada repository Joshua Clayton 2016-08-02 23:28 ` Russell King 2016-08-03 17:47 ` Joshua Clayton 2016-08-03 1:38 ` Fabio Estevam 2016-08-03 17:55 ` Joshua Clayton 2016-07-07 14:01 ` [PATCH 2/2] arm: use zImage size from header Russell King 2016-07-07 14:01 ` Russell King 2016-07-21 7:00 ` kexec failures with DEBUG_RODATA Tony Lindgren 2016-07-21 7:00 ` Tony Lindgren 2016-07-07 10:00 ` Russell King - ARM Linux 2016-07-07 10:00 ` Russell King - ARM Linux 2016-06-15 7:55 ` Pratyush Anand 2016-06-15 7:55 ` Pratyush Anand 2016-06-15 19:13 ` Russell King - ARM Linux 2016-06-15 19:13 ` Russell King - ARM Linux
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=20160621114849.GF29309@dhcppc9 \ --to=panand@redhat.com \ --cc=linux-arm-kernel@lists.infradead.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: linkBe 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.