Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 4 Dec 2017 18:58:49 +0530
From: Kaiwan N Billimoria <kaiwan.billimoria@...il.com>
To: Alexander Kapshuk <alexander.kapshuk@...il.com>
Cc: "Tobin C. Harding" <me@...in.cc>, linux-kernel <linux-kernel@...r.kernel.org>, 
	kernel-hardening@...ts.openwall.com
Subject: Re: [PATCH] leaking_addresses: add support for 32-bit kernel addresses

Sure, thanks Alexander..
Tobin, request you to pl make the change while merging, thanks..


Thanks & Regards,
Kaiwan.

On Mon, Dec 4, 2017 at 6:07 PM, Alexander Kapshuk <
alexander.kapshuk@...il.com> wrote:

> On Mon, Dec 4, 2017 at 12:20 PM,  <kaiwan.billimoria@...il.com> wrote:
> > On Mon, 2017-12-04 at 19:21 +1100, Tobin C. Harding wrote:
> >> On Mon, Dec 04, 2017 at 10:51:53AM +0530, Kaiwan N Billimoria wrote:
> >> > > ---
> >> > diff --git a/scripts/leaking_addresses.pl b/scripts/
> leaking_addresses.pl
> >> > index 9906dcf8b807..260b52e456f1 100755
> >> > --- a/scripts/leaking_addresses.pl
> >> > +++ b/scripts/leaking_addresses.pl
> >> > @@ -266,7 +266,7 @@ sub is_false_positive
> >> >  sub is_false_positive_ix86_32
> >> >  {
> >> >         my ($match) = @_;
> >> > -       state $page_offset = eval get_page_offset(); # only gets
> called once
> >> > +       state $page_offset = hex get_page_offset(); # only gets
> called once
> >>
> >> I don't think this is valid ;) I meant use hex() to convert the string
> >> to an int so it doesn't throw the warning (inside get_page_offset()).
> >
> > Yup, got it, thanks   :-p
> > Combined patch below:
> >
> >
> > ---
> >  scripts/leaking_addresses.pl | 13 ++++++-------
> >  1 file changed, 6 insertions(+), 7 deletions(-)
> >
> > diff --git a/scripts/leaking_addresses.pl b/scripts/leaking_addresses.pl
> > index 9906dcf8b807..a595a2c66b12 100755
> > --- a/scripts/leaking_addresses.pl
> > +++ b/scripts/leaking_addresses.pl
> > @@ -266,8 +266,7 @@ sub is_false_positive
> >  sub is_false_positive_ix86_32
> >  {
> >         my ($match) = @_;
> > -       state $page_offset = eval get_page_offset(); # only gets called
> once
> > -
> > +       state $page_offset = get_page_offset(); # only gets called once
> >         if ($match =~ '\b(0x)?(f|F){8}\b') {
> >                 return 1;
> >         }
> > @@ -283,7 +282,7 @@ sub is_false_positive_ix86_32
> >  sub get_page_offset
> >  {
> >         my $page_offset;
> > -       my $default_offset = "0xc0000000";
> > +       my $default_offset = hex("0xc0000000");
> >         my @config_files;
> >
> >         # Allow --page-offset-32bit to override.
> > @@ -306,23 +305,23 @@ sub get_page_offset
> >                 } else {
> >                         $page_offset = parse_kernel_config_file($tmp_
> file);
> >                         if ($page_offset ne "") {
> > -                               return $page_offset;
> > +                               return hex($page_offset);
> >                         }
> >                 }
> >                 system("rm -f $tmp_file");
> >         }
> >
> >         foreach my $config_file (@...fig_files) {
> > -               $config_file =~ s/\R*//g;
> > +               chomp $config_file;
> >                 $page_offset = parse_kernel_config_file($config_file);
> >                 if ($page_offset ne "") {
> > -                       return $page_offset;
> > +                       return hex($page_offset);
> >                 }
> >         }
> >
> >         printf STDERR "\nFailed to parse kernel config files\n";
> >         printf STDERR "*** NOTE ***\n";
> > -       printf STDERR "Falling back to PAGE_OFFSET = %s\n\n",
> $default_offset;
> > +       printf STDERR "Falling back to PAGE_OFFSET = 0x%x\n\n",
> $default_offset;
>
> Better use the '#' flag with the 'x' conversion specifier:
> perl -e 'my $default_offset = hex("0xc0000000");printf "%#x\n",
> $default_offset'
> 0xc0000000
>
> >
> >         return $default_offset;
> >  }
> > --
> > 2.14.3
> >
> > Thanks,
> > Kaiwan.
> >
> >> thanks,
> >> Tobin.
>

Content of type "text/html" skipped

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ