Re: [PATCH] libfcoe: fix section mismatches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Jul 11, 2012, at 4:02 AM, Heiko Carstens wrote:

> Fix this warning:
> 
> WARNING: drivers/scsi/fcoe/libfcoe.o(.init.text+0x7c):
> Section mismatch in reference from the function init_module()
> to the function .exit.text:fcoe_transport_exit()

As far as I can see, resolving this issue only requires removing the __exit annotation from the fcoe_transport_exit function, as three previous patches have done. I believe that is the correct fix and I have verified that by building with full section analysis turned on.

> libfcoe_init() calls fcoe_transport_exit() which is annotated with
> __exit which puts it into the exit section.
> If the driver would be compiled into the kernel the exit section
> could be discarded at compile time, so all calls to functions which
> reside in the exit section would be jumps to random data.
> 
> Not really an issue currently since the exit section is currently
> only discarded at runtime together with the init section. So this
> patch only removes the compile time warning.
> 
> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
> ---
> drivers/scsi/fcoe/fcoe_sysfs.c     |    2 +-
> drivers/scsi/fcoe/fcoe_transport.c |    4 ++--
> include/scsi/fcoe_sysfs.h          |    2 +-
> 3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/scsi/fcoe/fcoe_sysfs.c b/drivers/scsi/fcoe/fcoe_sysfs.c
> index 2bc1631..7d6c119 100644
> --- a/drivers/scsi/fcoe/fcoe_sysfs.c
> +++ b/drivers/scsi/fcoe/fcoe_sysfs.c
> @@ -826,7 +826,7 @@ int __init fcoe_sysfs_setup(void)
> 	return 0;
> }
> 
> -void __exit fcoe_sysfs_teardown(void)
> +void fcoe_sysfs_teardown(void)
> {
> 	bus_unregister(&fcoe_bus_type);
> }
> diff --git a/drivers/scsi/fcoe/fcoe_transport.c b/drivers/scsi/fcoe/fcoe_transport.c
> index b46f43d..ea87f6b 100644
> --- a/drivers/scsi/fcoe/fcoe_transport.c
> +++ b/drivers/scsi/fcoe/fcoe_transport.c
> @@ -502,7 +502,7 @@ static int __init fcoe_transport_init(void)
> 	return 0;
> }
> 
> -static int __exit fcoe_transport_exit(void)
> +static int fcoe_transport_exit(void)
> {
> 	struct fcoe_transport *ft;
> 
> @@ -832,7 +832,7 @@ module_init(libfcoe_init);
> /**
>  * libfcoe_exit() - Tear down libfcoe.ko
>  */
> -static void __exit libfcoe_exit(void)
> +static void libfcoe_exit(void)
> {
> 	fcoe_sysfs_teardown();
> 	fcoe_transport_exit();
> diff --git a/include/scsi/fcoe_sysfs.h b/include/scsi/fcoe_sysfs.h
> index 604cb9b..8e7a41a 100644
> --- a/include/scsi/fcoe_sysfs.h
> +++ b/include/scsi/fcoe_sysfs.h
> @@ -119,6 +119,6 @@ struct fcoe_fcf_device *fcoe_fcf_device_add(struct fcoe_ctlr_device *,
> void fcoe_fcf_device_delete(struct fcoe_fcf_device *);
> 
> int __init fcoe_sysfs_setup(void);
> -void __exit fcoe_sysfs_teardown(void);
> +void fcoe_sysfs_teardown(void);
> 
> #endif /* FCOE_SYSFS */

So, please use the earlier patch and not this one.

-- 
Mark Rustad, LAN Access Division, Intel Corporation

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux