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  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20090605221920.GL29008@uranus.ravnborg.org>
Date:	Sat, 6 Jun 2009 00:19:20 +0200
From:	Sam Ravnborg <sam@...nborg.org>
To:	Guennadi Liakhovetski <g.liakhovetski@....de>
Cc:	Mauro Carvalho Chehab <mchehab@...radead.org>,
	Linux Media Mailing List <linux-media@...r.kernel.org>,
	linux-kernel@...r.kernel.org, linux-kbuild@...r.kernel.org
Subject: Re: dubious section mismatch test (was Re: [PULL] soc-camera: one commit as v4l2-dev preparation)

On Sun, May 10, 2009 at 08:33:03PM +0200, Guennadi Liakhovetski wrote:
> On Sat, 9 May 2009, Sam Ravnborg wrote:
> 
> > On Sat, May 09, 2009 at 06:13:13PM +0200, Guennadi Liakhovetski wrote:
> > > On Sat, 9 May 2009, Mauro Carvalho Chehab wrote:
> > > 
> > > > WARNING: /home/v4l/master/v4l/soc_camera.o(.data+0x0): Section mismatch in reference from the variable soc_camera_pdrv to the function .devinit.text:soc_camera_pdrv_probe()
> > > > The variable soc_camera_pdrv references
> > > > the function __devinit soc_camera_pdrv_probe()
> > > > If the reference is valid then annotate the
> > > > variable with __init* (see linux/init.h) or name the variable:
> > > > *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, 
> > > > 
> > > > WARNING: /home/v4l/master/v4l/soc_camera.o(.data+0x8): Section mismatch in reference from the variable soc_camera_pdrv to the function .devexit.text:soc_camera_pdrv_remove()
> > > > The variable soc_camera_pdrv references
> > > > the function __devexit soc_camera_pdrv_remove()
> > > > If the reference is valid then annotate the
> > > > variable with __exit* (see linux/init.h) or name the variable:
> > > > *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, 
> > > 
> > > FWIW, I find this test dubious. Matching on symbol names doesn't seem like 
> > > a good idea to me. Can we introduce a new marker instead something like
> > > 
> > > static struct whatever_driver __driver driver = {
> > > 	.probe	= my_probe,
> > > 	.remove	= __exit_p(my_remove),
> > > };
> > > 
> > > to put them in a new special section? Or is there a better solution?
> > 
> > We already have that:
> > __refdata would be your choice in this case.
> 
> Aha, great! Then also the warning text should be changed, shouldn't it?

Yep - included __refdata in the warning now.

	Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ