lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 25 Jan 2017 07:49:43 +0100 (CET)
From:   Julia Lawall <julia.lawall@...6.fr>
To:     Joe Perches <joe@...ches.com>
cc:     Dan Williams <dan.j.williams@...el.com>,
        Bhumika Goyal <bhumirks@...il.com>,
        "linux-nvdimm@...ts.01.org" <linux-nvdimm@...1.01.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] nvdimm: constify device_type structures



On Tue, 24 Jan 2017, Joe Perches wrote:

> On Tue, 2017-01-24 at 18:40 -0800, Dan Williams wrote:
> > On Tue, Jan 24, 2017 at 6:37 PM, Joe Perches <joe@...ches.com> wrote:
> > > On Wed, 2017-01-25 at 00:54 +0530, Bhumika Goyal wrote:
> > > > Declare device_type structure as const as it is only stored in the
> > > > type field of a device structure. This field is of type const, so add
> > > > const to declaration of device_type structure.
> > > >
> > > > File size before:
> > > >   text           data     bss     dec     hex filename
> > > >   19278          3199      16   22493    57dd nvdimm/namespace_devs.o
> > > >
> > > > File size after:
> > > >   text           data     bss     dec     hex filename
> > > >   19929          3160      16   23105    5a41 nvdimm/namespace_devs.o
> > >
> > > Fine, but are you sure about the sizes?
> > >
> > > It seems odd the text went up 651 bytes
> > > while the data went down just 39 bytes.
> > >
> >
> > Right, the size data wasn't why I applied it. It was the general rule
> > of "make function pointer data read-only whenever possible to
> > eliminate a kernel attack vector".
>
> Exactly the correct reason it's a fine patch and one
> that should be applied.
>
> > Bhumika, you might want to mention
> > this as the motivating reason to apply the patch if you do more of
> > these changes.
>
> Regardless, the object sizes are still odd.
>
> The config should be mentioned because actually,
> the commonly compiles sizes reported are not correct.
>
> with an x86-64 defconfig I get:
>
> $ size drivers/nvdimm/namespace_devs.o*
>    text	   data	    bss	    dec	    hex	filename
>   14615	    519	     16	  15150	   3b2e	drivers/nvdimm/namespace_devs.o.new
>   14439	    695	     16	  15150	   3b2e	drivers/nvdimm/namespace_devs.o.old

What does the data column actually represent?  I tried size on the .o file
generated from:

commit a65f0161f4d69d6738d4821e649448312cd818e2
Author: Stephen Rothwell <sfr@...b.auug.org.au>
Date:   Tue Jan 17 15:22:28 2017 +1100

with CONFIG_X86_64=y and I get:

   text	   data	    bss	    dec	    hex	filename
  19726	   3480	     16	  23222	   5ab6	drivers/nvdimm/namespace_devs.o

but when I run objdump -sh drivers/nvdimm/namespace_devs.o, I find a .data
segment of size 1008 and a .data.unlikely segment of size 8, which don't
match up with the results of size.

julia

Powered by blists - more mailing lists