mbox series

[v3,0/2] Fix lack of section mismatch warnings with LTO

Message ID 20221213183529.766630-1-nathan@kernel.org (mailing list archive)
Headers show
Series Fix lack of section mismatch warnings with LTO | expand

Message

Nathan Chancellor Dec. 13, 2022, 6:35 p.m. UTC
Hi all,

Vincent recently reported an issue with lack of section mismatch
warnings with LTO. This is due to commit 6c730bfc894f ("modpost: handle
-ffunction-sections"), which ignores all function sections for modpost.

I believe this is incorrect, as these function sections may still refer
to symbols in other sections and they will ultimately be coalesced into
.text by vmlinux.lds anyways.

The first patch fixes a warning that I see with allmodconfig + ThinLTO
builds after applying the second patch. The second patch moves ".text.*"
into TEXT_SECTIONS so that modpost audits them for mismatches.

I expect this to go via the kbuild tree with an ack from the padata
maintainers.

Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: linux-crypto@vger.kernel.org

v3:
  - Stick a comment above padata_work_init() to explain presence of
    __ref (Masahiro, Daniel).
  - Expand on problem in first patch's commit message (Masahiro).
  - Adjust location of __ref within function definition (Daniel)
  - Fix typo in commit message of second patch (Masahiro).
v2: https://lore.kernel.org/20221207191657.2852229-1-nathan@kernel.org/
v1: https://lore.kernel.org/20221129190123.872394-1-nathan@kernel.org/

Nathan Chancellor (2):
  padata: Mark padata_work_init() as __ref
  modpost: Include '.text.*' in TEXT_SECTIONS

 kernel/padata.c       | 12 ++++++++++--
 scripts/mod/modpost.c |  4 ++--
 2 files changed, 12 insertions(+), 4 deletions(-)


base-commit: 830b3c68c1fb1e9176028d02ef86f3cf76aa2476

Comments

Masahiro Yamada Dec. 14, 2022, 6:52 a.m. UTC | #1
On Wed, Dec 14, 2022 at 3:35 AM Nathan Chancellor <nathan@kernel.org> wrote:
>
> Hi all,
>
> Vincent recently reported an issue with lack of section mismatch
> warnings with LTO. This is due to commit 6c730bfc894f ("modpost: handle
> -ffunction-sections"), which ignores all function sections for modpost.
>
> I believe this is incorrect, as these function sections may still refer
> to symbols in other sections and they will ultimately be coalesced into
> .text by vmlinux.lds anyways.
>
> The first patch fixes a warning that I see with allmodconfig + ThinLTO
> builds after applying the second patch. The second patch moves ".text.*"
> into TEXT_SECTIONS so that modpost audits them for mismatches.
>
> I expect this to go via the kbuild tree with an ack from the padata
> maintainers.


Daniel Acked v2.

Applied to kbuild with his Acked-by.

Thanks.


>
> Cc: Steffen Klassert <steffen.klassert@secunet.com>
> Cc: Daniel Jordan <daniel.m.jordan@oracle.com>
> Cc: linux-crypto@vger.kernel.org
>
> v3:
>   - Stick a comment above padata_work_init() to explain presence of
>     __ref (Masahiro, Daniel).
>   - Expand on problem in first patch's commit message (Masahiro).
>   - Adjust location of __ref within function definition (Daniel)
>   - Fix typo in commit message of second patch (Masahiro).
> v2: https://lore.kernel.org/20221207191657.2852229-1-nathan@kernel.org/
> v1: https://lore.kernel.org/20221129190123.872394-1-nathan@kernel.org/
>
> Nathan Chancellor (2):
>   padata: Mark padata_work_init() as __ref
>   modpost: Include '.text.*' in TEXT_SECTIONS
>
>  kernel/padata.c       | 12 ++++++++++--
>  scripts/mod/modpost.c |  4 ++--
>  2 files changed, 12 insertions(+), 4 deletions(-)
>
>
> base-commit: 830b3c68c1fb1e9176028d02ef86f3cf76aa2476
> --
> 2.39.0
>