All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: mjg59@srcf.ucam.org, bhe@redhat.com, jkosina@suse.cz,
	greg@kroah.com, kexec@lists.infradead.org,
	linux-kernel@vger.kernel.org, ebiederm@xmission.com,
	hpa@zytor.com, akpm@linux-foundation.org, dyoung@redhat.com,
	chaowang@redhat.com
Subject: Re: [PATCH 11/13] kexec-bzImage: Support for loading bzImage using 64bit entry
Date: Mon, 16 Jun 2014 22:57:43 +0200	[thread overview]
Message-ID: <20140616205743.GI8170@pd.tnic> (raw)
In-Reply-To: <20140616200608.GD4515@redhat.com>

On Mon, Jun 16, 2014 at 04:06:08PM -0400, Vivek Goyal wrote:
> There can be more than one loader and the one which claims first
> to recognize the image will get to load the image. So once 32 bit
> loader support comes in, it might happen that we ask 64bit loader
> first and it rejects the image and then we ask 32bit loader.

What does that have to do with anything??

> So these message are really debug message which tells why loader
> is not accepting an image. It might not be image destined for that
> loader at all.
> 
> pr_debug() allows being verbose if user wants to for debugging purposes.
> You just have to make sure that CONFIG_DYNAMIC_DEBUG=y and enable verbosity
> in individual file.
> 
> echo 'file kexec-bzimage.c +p' > /sys/kernel/debug/dynamic_debug/control

So people are supposed to enable dynamic_debug just so that they see
*why* their image doesn't load.

Doesn't sound optimal to me.

> Same here. We will potentially be trying multiple loaders and if every
> loader prints messages for rejection by default, it is too much of
> info, IMO.

For max two loaders on one architecture? I don't think so. Now you're
just arguing for the sake of it.

> I like doing memory allocations early in the functions (as far as
> possible) and error out if need be. If memory is available to begin
> with for all the data structures needed by this function, it is kind
> of pointless to do rest of the processing.

We're talking about memory for a single void * which is ridiculous. And
I think simplifying the error paths is a much higher win than doing some
minor allocation.

> Hmm..., If you feel strongly about it, I can make this change. I
> thought I just made it easier to share the code between 32bit and
> 64bit by this.

Someone later can do that - right now this code is 64-bit only as far as
we're concerned and if it can be made to work on 32-bit, then people are
free to do so.

> I think it just makes it safer that we don't try to copy more than
> size of destination, in case ->eddbuf_entries is not right or corrupted.
> 
> I see copy_edd() does similar thing.
> 
> memcpy(edd.edd_info, boot_params.eddbuf, sizeof(edd.edd_info));
> edd.edd_info_nr = boot_params.eddbuf_entries;
> 
> So may be it is not a bad idea to copy based on max size of data
> structures.

Ok, makes sense.

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: Borislav Petkov <bp@alien8.de>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: linux-kernel@vger.kernel.org, kexec@lists.infradead.org,
	ebiederm@xmission.com, hpa@zytor.com, mjg59@srcf.ucam.org,
	greg@kroah.com, jkosina@suse.cz, dyoung@redhat.com,
	chaowang@redhat.com, bhe@redhat.com, akpm@linux-foundation.org
Subject: Re: [PATCH 11/13] kexec-bzImage: Support for loading bzImage using 64bit entry
Date: Mon, 16 Jun 2014 22:57:43 +0200	[thread overview]
Message-ID: <20140616205743.GI8170@pd.tnic> (raw)
In-Reply-To: <20140616200608.GD4515@redhat.com>

On Mon, Jun 16, 2014 at 04:06:08PM -0400, Vivek Goyal wrote:
> There can be more than one loader and the one which claims first
> to recognize the image will get to load the image. So once 32 bit
> loader support comes in, it might happen that we ask 64bit loader
> first and it rejects the image and then we ask 32bit loader.

What does that have to do with anything??

> So these message are really debug message which tells why loader
> is not accepting an image. It might not be image destined for that
> loader at all.
> 
> pr_debug() allows being verbose if user wants to for debugging purposes.
> You just have to make sure that CONFIG_DYNAMIC_DEBUG=y and enable verbosity
> in individual file.
> 
> echo 'file kexec-bzimage.c +p' > /sys/kernel/debug/dynamic_debug/control

So people are supposed to enable dynamic_debug just so that they see
*why* their image doesn't load.

Doesn't sound optimal to me.

> Same here. We will potentially be trying multiple loaders and if every
> loader prints messages for rejection by default, it is too much of
> info, IMO.

For max two loaders on one architecture? I don't think so. Now you're
just arguing for the sake of it.

> I like doing memory allocations early in the functions (as far as
> possible) and error out if need be. If memory is available to begin
> with for all the data structures needed by this function, it is kind
> of pointless to do rest of the processing.

We're talking about memory for a single void * which is ridiculous. And
I think simplifying the error paths is a much higher win than doing some
minor allocation.

> Hmm..., If you feel strongly about it, I can make this change. I
> thought I just made it easier to share the code between 32bit and
> 64bit by this.

Someone later can do that - right now this code is 64-bit only as far as
we're concerned and if it can be made to work on 32-bit, then people are
free to do so.

> I think it just makes it safer that we don't try to copy more than
> size of destination, in case ->eddbuf_entries is not right or corrupted.
> 
> I see copy_edd() does similar thing.
> 
> memcpy(edd.edd_info, boot_params.eddbuf, sizeof(edd.edd_info));
> edd.edd_info_nr = boot_params.eddbuf_entries;
> 
> So may be it is not a bad idea to copy based on max size of data
> structures.

Ok, makes sense.

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

  reply	other threads:[~2014-06-16 20:58 UTC|newest]

Thread overview: 214+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-03 13:06 [RFC PATCH 00/13][V3] kexec: A new system call to allow in kernel loading Vivek Goyal
2014-06-03 13:06 ` Vivek Goyal
2014-06-03 13:06 ` [PATCH 01/13] bin2c: Move bin2c in scripts/basic Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-03 16:01   ` Borislav Petkov
2014-06-03 16:01     ` Borislav Petkov
2014-06-03 17:13     ` Vivek Goyal
2014-06-03 17:13       ` Vivek Goyal
2014-06-03 13:06 ` [PATCH 02/13] kernel: Build bin2c based on config option CONFIG_BUILD_BIN2C Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-04  9:13   ` Borislav Petkov
2014-06-04  9:13     ` Borislav Petkov
2014-06-03 13:06 ` [PATCH 03/13] kexec: Move segment verification code in a separate function Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-04  9:32   ` Borislav Petkov
2014-06-04  9:32     ` Borislav Petkov
2014-06-04 18:47     ` Vivek Goyal
2014-06-04 18:47       ` Vivek Goyal
2014-06-04 20:30       ` Borislav Petkov
2014-06-04 20:30         ` Borislav Petkov
2014-06-05 14:05         ` Vivek Goyal
2014-06-05 14:05           ` Vivek Goyal
2014-06-05 14:07           ` Borislav Petkov
2014-06-05 14:07             ` Borislav Petkov
2014-06-03 13:06 ` [PATCH 04/13] resource: Provide new functions to walk through resources Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-04 10:24   ` Borislav Petkov
2014-06-04 10:24     ` Borislav Petkov
2014-06-05 13:58     ` Vivek Goyal
2014-06-05 13:58       ` Vivek Goyal
2014-06-03 13:06 ` [PATCH 05/13] kexec: Make kexec_segment user buffer pointer a union Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-04 10:34   ` Borislav Petkov
2014-06-04 10:34     ` Borislav Petkov
2014-06-03 13:06 ` [PATCH 06/13] kexec: New syscall kexec_file_load() declaration Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-04 15:18   ` Borislav Petkov
2014-06-04 15:18     ` Borislav Petkov
2014-06-05  9:56   ` WANG Chao
2014-06-05  9:56     ` WANG Chao
2014-06-05 15:16     ` Vivek Goyal
2014-06-05 15:16       ` Vivek Goyal
2014-06-05 15:22       ` Vivek Goyal
2014-06-05 15:22         ` Vivek Goyal
2014-06-06  6:34         ` WANG Chao
2014-06-06  6:34           ` WANG Chao
2014-06-03 13:06 ` [PATCH 07/13] kexec: Implementation of new syscall kexec_file_load Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-05 11:15   ` Borislav Petkov
2014-06-05 11:15     ` Borislav Petkov
2014-06-05 20:17     ` Vivek Goyal
2014-06-05 20:17       ` Vivek Goyal
2014-06-06  2:11       ` Borislav Petkov
2014-06-06  2:11         ` Borislav Petkov
2014-06-06 18:02         ` Vivek Goyal
2014-06-06 18:02           ` Vivek Goyal
2014-06-11 14:13           ` Borislav Petkov
2014-06-11 14:13             ` Borislav Petkov
2014-06-11 17:04             ` Vivek Goyal
2014-06-11 17:04               ` Vivek Goyal
2014-06-06  6:56   ` WANG Chao
2014-06-06  6:56     ` WANG Chao
2014-06-06 18:19     ` Vivek Goyal
2014-06-06 18:19       ` Vivek Goyal
2014-06-09  2:11       ` Dave Young
2014-06-09  2:11         ` Dave Young
2014-06-09  5:35         ` WANG Chao
2014-06-09  5:35           ` WANG Chao
2014-06-09 15:41           ` Vivek Goyal
2014-06-09 15:41             ` Vivek Goyal
2014-06-13  7:50             ` Borislav Petkov
2014-06-13  7:50               ` Borislav Petkov
2014-06-13  8:00               ` WANG Chao
2014-06-13  8:00                 ` WANG Chao
2014-06-13  8:10                 ` Borislav Petkov
2014-06-13  8:10                   ` Borislav Petkov
2014-06-13  8:24                   ` WANG Chao
2014-06-13  8:24                     ` WANG Chao
2014-06-13  8:30                     ` Borislav Petkov
2014-06-13  8:30                       ` Borislav Petkov
2014-06-13 12:49                 ` Vivek Goyal
2014-06-13 12:49                   ` Vivek Goyal
2014-06-13 12:46               ` Vivek Goyal
2014-06-13 12:46                 ` Vivek Goyal
2014-06-13 15:36                 ` Borislav Petkov
2014-06-13 15:36                   ` Borislav Petkov
2014-06-16 17:38                   ` Vivek Goyal
2014-06-16 17:38                     ` Vivek Goyal
2014-06-16 20:05                     ` Borislav Petkov
2014-06-16 20:05                       ` Borislav Petkov
2014-06-16 20:53                       ` Vivek Goyal
2014-06-16 20:53                         ` Vivek Goyal
2014-06-16 21:09                         ` Borislav Petkov
2014-06-16 21:09                           ` Borislav Petkov
2014-06-16 21:25                           ` H. Peter Anvin
2014-06-16 21:25                             ` H. Peter Anvin
2014-06-16 21:43                             ` Vivek Goyal
2014-06-16 21:43                               ` Vivek Goyal
2014-06-16 22:10                               ` Borislav Petkov
2014-06-16 22:10                                 ` Borislav Petkov
2014-06-16 22:49                               ` H. Peter Anvin
2014-06-16 22:49                                 ` H. Peter Anvin
2014-06-09 15:30         ` Vivek Goyal
2014-06-09 15:30           ` Vivek Goyal
2014-06-03 13:06 ` [PATCH 08/13] purgatory/sha256: Provide implementation of sha256 in purgaotory context Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-03 13:06 ` [PATCH 09/13] purgatory: Core purgatory functionality Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-05 20:05   ` Borislav Petkov
2014-06-05 20:05     ` Borislav Petkov
2014-06-06 19:51     ` Vivek Goyal
2014-06-06 19:51       ` Vivek Goyal
2014-06-13 10:17       ` Borislav Petkov
2014-06-13 10:17         ` Borislav Petkov
2014-06-16 17:25         ` Vivek Goyal
2014-06-16 17:25           ` Vivek Goyal
2014-06-16 20:10           ` Borislav Petkov
2014-06-16 20:10             ` Borislav Petkov
2014-06-03 13:06 ` [PATCH 10/13] kexec: Load and Relocate purgatory at kernel load time Vivek Goyal
2014-06-03 13:06   ` Vivek Goyal
2014-06-10 16:31   ` Borislav Petkov
2014-06-10 16:31     ` Borislav Petkov
2014-06-11 19:24     ` Vivek Goyal
2014-06-11 19:24       ` Vivek Goyal
2014-06-13 16:14       ` Borislav Petkov
2014-06-13 16:14         ` Borislav Petkov
2014-06-03 13:07 ` [PATCH 11/13] kexec-bzImage: Support for loading bzImage using 64bit entry Vivek Goyal
2014-06-03 13:07   ` Vivek Goyal
2014-06-15 16:35   ` Borislav Petkov
2014-06-15 16:35     ` Borislav Petkov
2014-06-15 16:56     ` H. Peter Anvin
2014-06-15 16:56       ` H. Peter Anvin
2014-06-16 20:06     ` Vivek Goyal
2014-06-16 20:06       ` Vivek Goyal
2014-06-16 20:57       ` Borislav Petkov [this message]
2014-06-16 20:57         ` Borislav Petkov
2014-06-16 21:15         ` Vivek Goyal
2014-06-16 21:15           ` Vivek Goyal
2014-06-16 21:27           ` Borislav Petkov
2014-06-16 21:27             ` Borislav Petkov
2014-06-16 21:45             ` Vivek Goyal
2014-06-16 21:45               ` Vivek Goyal
2014-06-24 17:31     ` Vivek Goyal
2014-06-24 17:31       ` Vivek Goyal
2014-06-24 18:23       ` Borislav Petkov
2014-06-24 18:23         ` Borislav Petkov
2014-06-03 13:07 ` [PATCH 12/13] kexec: Support for Kexec on panic using new system call Vivek Goyal
2014-06-03 13:07   ` Vivek Goyal
2014-06-17 21:43   ` Borislav Petkov
2014-06-17 21:43     ` Borislav Petkov
2014-06-18 14:20     ` Vivek Goyal
2014-06-18 14:20       ` Vivek Goyal
2014-06-03 13:07 ` [PATCH 13/13] kexec: Support kexec/kdump on EFI systems Vivek Goyal
2014-06-03 13:07   ` Vivek Goyal
2014-06-18 15:43   ` Borislav Petkov
2014-06-18 15:43     ` Borislav Petkov
2014-06-18 16:06   ` Borislav Petkov
2014-06-18 16:06     ` Borislav Petkov
2014-06-18 16:06     ` Borislav Petkov
2014-06-18 17:39     ` Vivek Goyal
2014-06-18 17:39       ` Vivek Goyal
2014-06-18 17:39       ` Vivek Goyal
2014-06-03 13:12 ` [RFC PATCH 00/13][V3] kexec: A new system call to allow in kernel loading Vivek Goyal
2014-06-03 13:12   ` Vivek Goyal
2014-06-04  9:22   ` WANG Chao
2014-06-04  9:22     ` WANG Chao
2014-06-04 17:50     ` Vivek Goyal
2014-06-04 17:50       ` Vivek Goyal
2014-06-04 19:39       ` Michael Kerrisk
2014-06-04 19:39         ` Michael Kerrisk
2014-06-04 19:39         ` Michael Kerrisk
2014-06-05 14:04         ` Vivek Goyal
2014-06-05 14:04           ` Vivek Goyal
2014-06-05 14:04           ` Vivek Goyal
2014-06-06  5:45           ` Michael Kerrisk (man-pages)
2014-06-06  5:45             ` Michael Kerrisk (man-pages)
2014-06-06  5:45             ` Michael Kerrisk (man-pages)
2014-06-06 18:04             ` Vivek Goyal
2014-06-06 18:04               ` Vivek Goyal
2014-06-06 18:04               ` Vivek Goyal
2014-06-05  8:31   ` Dave Young
2014-06-05  8:31     ` Dave Young
2014-06-05 15:01     ` Vivek Goyal
2014-06-05 15:01       ` Vivek Goyal
2014-06-06  7:37       ` Dave Young
2014-06-06  7:37         ` Dave Young
2014-06-06 20:04         ` Vivek Goyal
2014-06-06 20:04           ` Vivek Goyal
2014-06-09  1:57           ` Dave Young
2014-06-09  1:57             ` Dave Young
2014-06-06 20:37         ` H. Peter Anvin
2014-06-06 20:37           ` H. Peter Anvin
2014-06-06 20:58           ` Matt Fleming
2014-06-06 20:58             ` Matt Fleming
2014-06-06 21:00             ` H. Peter Anvin
2014-06-06 21:00               ` H. Peter Anvin
2014-06-06 21:02               ` Matt Fleming
2014-06-06 21:02                 ` Matt Fleming
2014-06-12  5:42 ` Dave Young
2014-06-12  5:42   ` Dave Young
2014-06-12 12:36   ` Vivek Goyal
2014-06-12 12:36     ` Vivek Goyal
2014-06-17 14:24   ` Vivek Goyal
2014-06-17 14:24     ` Vivek Goyal
2014-06-18  1:45     ` Dave Young
2014-06-18  1:45       ` Dave Young
2014-06-18  1:52       ` Dave Young
2014-06-18  1:52         ` Dave Young
2014-06-18 12:40         ` Vivek Goyal
2014-06-18 12:40           ` Vivek Goyal
2014-06-16 21:13 ` Borislav Petkov
2014-06-16 21:13   ` Borislav Petkov
2014-06-17 13:24   ` Vivek Goyal
2014-06-17 13:24     ` Vivek Goyal

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=20140616205743.GI8170@pd.tnic \
    --to=bp@alien8.de \
    --cc=akpm@linux-foundation.org \
    --cc=bhe@redhat.com \
    --cc=chaowang@redhat.com \
    --cc=dyoung@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=greg@kroah.com \
    --cc=hpa@zytor.com \
    --cc=jkosina@suse.cz \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=vgoyal@redhat.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 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.