All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Kuleshov <kuleshovmail@gmail.com>
To: Baoquan He <bhe@redhat.com>
Cc: Alexander Kuleshov <kuleshovmail@gmail.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	x86@kernel.org, Kees Cook <keescook@chromium.org>,
	Dave Jiang <dave.jiang@intel.com>,
	Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86/KASLR: move aligning of minimal address to choose_random_location()
Date: Thu, 4 Jan 2018 16:04:48 +0600	[thread overview]
Message-ID: <20180104100448.GA2586@localhost.localdomain> (raw)
In-Reply-To: <20180104100308.GB7235@x1>

On 01-04-18, Baoquan He wrote:
> On 01/04/18 at 03:54pm, Alexander Kuleshov wrote:
> > we align minimal possible address during randomization to CONFIG_PHYSICAL_ALIGN
> > two times: during getting of random physical address and virtual
> > address (only for x86_64).
> > 
> > Let's move this to choose_random_location() to not duplicate code in
> > find_random_virt_addr() and find_random_phys_addr().
> > 
> > Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
> > ---
> >  arch/x86/boot/compressed/kaslr.c | 8 +++-----
> >  1 file changed, 3 insertions(+), 5 deletions(-)
> > 
> > diff --git a/arch/x86/boot/compressed/kaslr.c b/arch/x86/boot/compressed/kaslr.c
> > index 8199a6187251..8c93e399fdfd 100644
> > --- a/arch/x86/boot/compressed/kaslr.c
> > +++ b/arch/x86/boot/compressed/kaslr.c
> > @@ -673,9 +673,6 @@ static unsigned long find_random_phys_addr(unsigned long minimum,
> >  		return 0;
> >  	}
> >  
> > -	/* Make sure minimum is aligned. */
> > -	minimum = ALIGN(minimum, CONFIG_PHYSICAL_ALIGN);
> > -
> >  	if (process_efi_entries(minimum, image_size))
> >  		return slots_fetch_random();
> >  
> > @@ -688,8 +685,6 @@ static unsigned long find_random_virt_addr(unsigned long minimum,
> >  {
> >  	unsigned long slots, random_addr;
> >  
> > -	/* Make sure minimum is aligned. */
> > -	minimum = ALIGN(minimum, CONFIG_PHYSICAL_ALIGN);
> >  	/* Align image_size for easy slot calculations. */
> >  	image_size = ALIGN(image_size, CONFIG_PHYSICAL_ALIGN);
> >  
> > @@ -738,6 +733,9 @@ void choose_random_location(unsigned long input,
> >  	 */
> >  	min_addr = min(*output, 512UL << 20);
> >  
> > +	/* Make sure minimum is aligned. */
> > +	min_addr = ALIGN(min_addr, CONFIG_PHYSICAL_ALIGN);
> 
> Hmm, the min_addr is passed to find_random_phys_addr(), but not to
> find_random_virt_addr().

ah, yes, sorry for noise then

      reply	other threads:[~2018-01-04 10:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-04  9:54 [PATCH] x86/KASLR: move aligning of minimal address to choose_random_location() Alexander Kuleshov
2018-01-04 10:03 ` Baoquan He
2018-01-04 10:04   ` Alexander Kuleshov [this message]

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=20180104100448.GA2586@localhost.localdomain \
    --to=kuleshovmail@gmail.com \
    --cc=bhe@redhat.com \
    --cc=dave.jiang@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=n-horiguchi@ah.jp.nec.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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: 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.