Message ID | 20240719073912.2743171-1-arnd@kernel.org |
---|---|
State | New |
Headers | show |
Series | mtd: ubi: remove __exit annotation on ubiblock_exit | expand |
在 2024/7/19 15:39, Arnd Bergmann 写道: Hi, Arnd > From: Arnd Bergmann <arnd@arndb.de> > > Calling an __exit function from an __init function leads to undefined behavior > when the drier is built-in and the __exit functions are dropped from the > object: > > WARNING: modpost: drivers/mtd/ubi/ubi: section mismatch in reference: ubi_init+0xbe (section: .init.text) -> ubiblock_exit (section: .exit.text) > ERROR: modpost: Section mismatches detected. > Set CONFIG_SECTION_MISMATCH_WARN_ONLY=y to allow them. > > Remove the now incorrect annotation. > > Fixes: 72f3d3daddd7 ("mtd: ubi: Restore missing cleanup on ubi_init() failure path") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/mtd/ubi/block.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Richard has sent the same modification, see https://lore.kernel.org/linux-mtd/9a210424-eac1-957e-dd6e-4290924216e3@huawei.com/T/#mdefbd793992635f6a236a626dd7d3a296fb9820e > > diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c > index bf7308e8ec2f..60d0155be869 100644 > --- a/drivers/mtd/ubi/block.c > +++ b/drivers/mtd/ubi/block.c > @@ -670,7 +670,7 @@ int __init ubiblock_init(void) > return ret; > } > > -void __exit ubiblock_exit(void) > +void ubiblock_exit(void) > { > ubi_unregister_volume_notifier(&ubiblock_notifier); > ubiblock_remove_all(); >
diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c index bf7308e8ec2f..60d0155be869 100644 --- a/drivers/mtd/ubi/block.c +++ b/drivers/mtd/ubi/block.c @@ -670,7 +670,7 @@ int __init ubiblock_init(void) return ret; } -void __exit ubiblock_exit(void) +void ubiblock_exit(void) { ubi_unregister_volume_notifier(&ubiblock_notifier); ubiblock_remove_all();