2020-10-05 09:33:51

by Geert Uytterhoeven

[permalink] [raw]
Subject: Build regressions/improvements in v5.9-rc8

Below is the list of build error/warning regressions/improvements in
v5.9-rc8[1] compared to v5.8[2].

Summarized:
- build errors: +6/-8
- build warnings: +59/-30

JFYI, when comparing v5.9-rc8[1] to v5.9-rc7[3], the summaries are:
- build errors: +3/-6
- build warnings: +0/-9

Happy fixing! ;-)

Thanks to the linux-next team for providing the build service.

[1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/549738f15da0e5a00275977623be199fbbf7df50/ (all 192 configs)
[2] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/bcf876870b95592b52519ed4aafcf9d95999bc9c/ (all 192 configs)
[3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/a1b8638ba1320e6684aa98233c15255eb803fac7/ (all 192 configs)


*** ERRORS ***

6 error regressions:
+ /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: implicit declaration of function 'in_ia32_syscall' [-Werror=implicit-function-declaration]: => 430:6
+ /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: unknown type name 'compat_u64': => 432:4
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dcn_calcs.c: error: implicit declaration of function 'disable_kernel_vsx' [-Werror=implicit-function-declaration]: => 676:2
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/calcs/dcn_calcs.c: error: implicit declaration of function 'enable_kernel_vsx' [-Werror=implicit-function-declaration]: => 640:2
+ error: modpost: "fw_arg3" [drivers/mtd/parsers/bcm63xxpart.ko] undefined!: => N/A
+ error: rk3399_gru_sound.c: relocation truncated to fit: R_NDS32_WORD_9_PCREL_RELA against `.text': => (.text+0x6a8)

8 error improvements:
- /kisskb/src/arch/powerpc/include/asm/mmu.h: error: unknown type name 'next_tlbcam_idx': 139:22 =>
- /kisskb/src/arch/sparc/include/asm/trap_block.h: error: 'NR_CPUS' undeclared here (not in a function): 54:39 =>
- error: modpost: "devm_ioremap" [drivers/net/ethernet/xilinx/ll_temac.ko] undefined!: N/A =>
- error: modpost: "devm_ioremap_resource" [drivers/net/ethernet/xilinx/xilinx_emac.ko] undefined!: N/A =>
- error: modpost: "devm_of_iomap" [drivers/net/ethernet/xilinx/ll_temac.ko] undefined!: N/A =>
- error: modpost: "devm_platform_ioremap_resource" [drivers/iio/adc/adi-axi-adc.ko] undefined!: N/A =>
- error: modpost: "devm_platform_ioremap_resource" [drivers/ptp/ptp_ines.ko] undefined!: N/A =>
- error: modpost: "devm_platform_ioremap_resource" [drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.ko] undefined!: N/A =>


*** WARNINGS ***

59 warning regressions:
+ /kisskb/src/arch/arm/crypto/ghash-ce-glue.c: warning: passing argument 4 of 'pmull_ghash_update_p64' from incompatible pointer type: => 67:44
+ /kisskb/src/arch/arm/crypto/ghash-ce-glue.c: warning: passing argument 4 of 'pmull_ghash_update_p8' from incompatible pointer type: => 69:43
+ /kisskb/src/arch/arm/mach-omap1/board-ams-delta.c: warning: 'ams_delta_camera_power' defined but not used [-Wunused-function]: => 462:12
+ /kisskb/src/drivers/crypto/sa2ul.c: warning: (near initialization for 'ad.enc_eng') [-Wmissing-braces]: => 1858:9, 957:9, 1585:9, 919:9, 971:9, 1845:9, 1569:9, 939:9, 1601:9
+ /kisskb/src/drivers/crypto/sa2ul.c: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]: => 1486:33
+ /kisskb/src/drivers/crypto/sa2ul.c: warning: missing braces around initializer [-Wmissing-braces]: => 1858:9, 919:9, 1585:9, 957:9, 1569:9, 971:9, 1845:9, 939:9, 1601:9
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces]: => 2527:11, 2342:11
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c: warning: missing braces around initializer [-Wmissing-braces]: => 2527:11, 2342:11
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces]: => 4094:11, 4138:11
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_dp.c: warning: missing braces around initializer [-Wmissing-braces]: 2714:8, 2712:8 => 2763:8, 2765:8, 4094:11, 4138:11
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_hw_lock_mgr.c: warning: (near initialization for 'cmd.lock_hw') [-Wmissing-braces]: => 36:8
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_hw_lock_mgr.c: warning: missing braces around initializer [-Wmissing-braces]: => 36:8
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_hw_sequencer.c: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces]: => 1795:9
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_hw_sequencer.c: warning: missing braces around initializer [-Wmissing-braces]: => 1795:9
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_hwseq.c: warning: (near initialization for 'hw_locks.bits') [-Wmissing-braces]: => 1200:9
+ /kisskb/src/drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_hwseq.c: warning: missing braces around initializer [-Wmissing-braces]: => 1200:9
+ /kisskb/src/drivers/gpu/drm/rockchip/cdn-dp-core.c: warning: 'cdn_dp_resume' defined but not used [-Wunused-function]: => 1124:12
+ /kisskb/src/drivers/gpu/drm/xlnx/zynqmp_dp.c: warning: (near initialization for 'opts.mipi_dphy') [-Wmissing-braces]: => 667:9
+ /kisskb/src/drivers/gpu/drm/xlnx/zynqmp_dp.c: warning: missing braces around initializer [-Wmissing-braces]: => 667:9
+ /kisskb/src/drivers/misc/habanalabs/common/habanalabs_ioctl.c: warning: (near initialization for 'cs_counters.cs_counters') [-Wmissing-braces]: => 282:9
+ /kisskb/src/drivers/misc/habanalabs/common/habanalabs_ioctl.c: warning: missing braces around initializer [-Wmissing-braces]: => 282:9
+ /kisskb/src/drivers/net/ethernet/aurora/nb8800.h: warning: "TCR_DIE" redefined: 92 => 92, 92:0
+ /kisskb/src/drivers/scsi/ufs/ufshcd-crypto.c: warning: (near initialization for 'cfg.reg_val') [-Wmissing-braces]: => 62:8, 103:8
+ /kisskb/src/drivers/scsi/ufs/ufshcd-crypto.c: warning: missing braces around initializer [-Wmissing-braces]: => 62:8, 103:8
+ /kisskb/src/drivers/staging/media/tegra-vde/vde.c: warning: 'tegra_vde_runtime_suspend' defined but not used [-Wunused-function]: => 916:12
+ /kisskb/src/drivers/tty/serial/sh-sci.c: warning: unused variable 'sport' [-Wunused-variable]: => 2677:19
+ /kisskb/src/kernel/bpf/cpumap.c: warning: 'cpu_map_bpf_prog_run_xdp.isra.15' uses dynamic stack allocation: => 298:1
+ /kisskb/src/kernel/events/core.c: warning: 'perf_event_text_poke_output' uses dynamic stack allocation: => 8696:1
+ /kisskb/src/lib/xxhash.c: warning: the frame size of 1616 bytes is larger than 1280 bytes [-Wframe-larger-than=]: => 236:1
+ /kisskb/src/lib/zstd/compress.c: warning: the frame size of 1584 bytes is larger than 1024 bytes [-Wframe-larger-than=]: => 1393:1
+ /kisskb/src/mm/slub.c: warning: 'deactivate_slab.isra.59' uses dynamic stack allocation: => 2293:1
+ /kisskb/src/mm/slub.c: warning: 'get_partial_node.isra.58' uses dynamic stack allocation: => 1992:1
+ /kisskb/src/mm/slub.c: warning: 'unfreeze_partials.isra.57' uses dynamic stack allocation: => 2361:1
+ modpost: WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned.: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x3570): Section mismatch in reference from the variable qed_mfw_legacy_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x3588): Section mismatch in reference from the variable qed_mfw_legacy_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x35a0): Section mismatch in reference from the variable qed_mfw_legacy_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x35b8): Section mismatch in reference from the variable qed_mfw_legacy_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x35d0): Section mismatch in reference from the variable qed_mfw_legacy_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x35e8): Section mismatch in reference from the variable qed_mfw_legacy_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x3600): Section mismatch in reference from the variable qed_mfw_legacy_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x3618): Section mismatch in reference from the variable qed_mfw_ext_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x3630): Section mismatch in reference from the variable qed_mfw_ext_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x3648): Section mismatch in reference from the variable qed_mfw_ext_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x3660): Section mismatch in reference from the variable qed_mfw_ext_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x3678): Section mismatch in reference from the variable qed_mfw_ext_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x3690): Section mismatch in reference from the variable qed_mfw_ext_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x36a8): Section mismatch in reference from the variable qed_mfw_ext_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x36c0): Section mismatch in reference from the variable qed_mfw_ext_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qed/qed.o(.data+0x36d8): Section mismatch in reference from the variable qed_mfw_ext_maps to the variable .init.rodata:qed_mfw_legacy_bb_100g: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qede/qede.o(.data+0x134): Section mismatch in reference from the variable qede_forced_speed_maps to the variable .init.rodata:qede_forced_speed_100000: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qede/qede.o(.data+0x14c): Section mismatch in reference from the variable qede_forced_speed_maps to the variable .init.rodata:qede_forced_speed_100000: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qede/qede.o(.data+0x164): Section mismatch in reference from the variable qede_forced_speed_maps to the variable .init.rodata:qede_forced_speed_100000: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qede/qede.o(.data+0x17c): Section mismatch in reference from the variable qede_forced_speed_maps to the variable .init.rodata:qede_forced_speed_100000: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qede/qede.o(.data+0x194): Section mismatch in reference from the variable qede_forced_speed_maps to the variable .init.rodata:qede_forced_speed_100000: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qede/qede.o(.data+0x1ac): Section mismatch in reference from the variable qede_forced_speed_maps to the variable .init.rodata:qede_forced_speed_100000: => N/A
+ modpost: WARNING: modpost: drivers/net/ethernet/qlogic/qede/qede.o(.data+0x1c4): Section mismatch in reference from the variable qede_forced_speed_maps to the variable .init.rodata:qede_forced_speed_100000: => N/A
+ modpost: WARNING: modpost: lib/test_bitmap.o(.text.unlikely+0x58): Section mismatch in reference from the function bitmap_equal() to the variable .init.rodata:clump_exp: => N/A
+ warning: 140 bad relocations: => N/A

30 warning improvements:
- .config: warning: override: reassigning to symbol MIPS_CPS_NS16550_SHIFT: 12352, 12361, 12347 => 12470, 12456
- .config: warning: override: reassigning to symbol PPC_64K_PAGES: 12781 =>
- .config: warning: override: reassigning to symbol UML_NET_ETHERTAP: 4314, 4286 => 4320
- .config: warning: override: reassigning to symbol UML_NET_MCAST: 4319, 4291 => 4325
- .config: warning: override: reassigning to symbol UML_NET_SLIP: 4288, 4316 => 4322
- .config: warning: override: reassigning to symbol UML_NET_SLIRP: 4293, 4321 => 4327
- /kisskb/src/arch/m68k/include/asm/cmpxchg.h: warning: value computed is not used [-Wunused-value]: 122:3, 137:3, 79:22 => 122:3, 79:22
- /kisskb/src/arch/powerpc/kernel/head_40x.S: Warning: invalid register expression: 623 =>
- /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence: 385, 388 =>
- /kisskb/src/arch/sh/kernel/cpu/sh2a/../../entry-common.S: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence: 388, 385 =>
- /kisskb/src/arch/sh/kernel/cpu/sh3/../../entry-common.S: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence: 388, 385 =>
- /kisskb/src/arch/sh/kernel/cpu/sh4/../sh3/../../entry-common.S: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence: 385, 388 =>
- /kisskb/src/drivers/mailbox/imx-mailbox.c: warning: 'imx_mu_resume_noirq' defined but not used [-Wunused-function]: 611:12 =>
- /kisskb/src/drivers/mailbox/imx-mailbox.c: warning: 'imx_mu_runtime_resume' defined but not used [-Wunused-function]: 638:12 =>
- /kisskb/src/drivers/mailbox/imx-mailbox.c: warning: 'imx_mu_runtime_suspend' defined but not used [-Wunused-function]: 629:12 =>
- /kisskb/src/drivers/mailbox/imx-mailbox.c: warning: 'imx_mu_suspend_noirq' defined but not used [-Wunused-function]: 601:12 =>
- /kisskb/src/drivers/net/phy/mdio-cavium.h: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]: 113:48, 114:37 =>
- /kisskb/src/drivers/net/phy/mdio-octeon.c: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]: 48:3 =>
- /kisskb/src/drivers/sh/clk/cpg.c: warning: passing argument 1 of 'ioread16' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]: 46:18 =>
- /kisskb/src/drivers/sh/clk/cpg.c: warning: passing argument 1 of 'ioread16' discards 'const' qualifier from pointer target type: 46:18 =>
- /kisskb/src/drivers/sh/clk/cpg.c: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]: 51:18 =>
- /kisskb/src/drivers/sh/clk/cpg.c: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type: 51:18 =>
- /kisskb/src/drivers/sh/clk/cpg.c: warning: passing argument 1 of 'ioread8' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]: 41:17 =>
- /kisskb/src/drivers/sh/clk/cpg.c: warning: passing argument 1 of 'ioread8' discards 'const' qualifier from pointer target type: 41:17 =>
- /kisskb/src/include/linux/compiler_attributes.h: warning: statement will never be executed [-Wswitch-unreachable]: 201:41 =>
- /kisskb/src/lib/lz4/lz4hc_compress.c: warning: the frame size of 2144 bytes is larger than 2048 bytes [-Wframe-larger-than=]: 579:1 =>
- /kisskb/src/lib/zstd/compress.c: warning: the frame size of 1384 bytes is larger than 1024 bytes [-Wframe-larger-than=]: 1393:1 =>
- /kisskb/src/mm/slub.c: warning: 'deactivate_slab.isra.57' uses dynamic stack allocation: 2230:1 =>
- /kisskb/src/mm/slub.c: warning: 'get_partial_node.isra.56' uses dynamic stack allocation: 1929:1 =>
- /kisskb/src/mm/slub.c: warning: 'unfreeze_partials.isra.55' uses dynamic stack allocation: 2298:1 =>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


2020-10-05 09:39:46

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

On Mon, Oct 5, 2020 at 11:33 AM Geert Uytterhoeven <[email protected]> wrote:
> JFYI, when comparing v5.9-rc8[1] to v5.9-rc7[3], the summaries are:
> - build errors: +3/-6

+ /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: implicit
declaration of function 'in_ia32_syscall'
[-Werror=implicit-function-declaration]: => 430:6
+ /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: unknown type name
'compat_u64': => 432:4

x86_64/um-all{mod,yes}config

+ error: rk3399_gru_sound.c: relocation truncated to fit:
R_NDS32_WORD_9_PCREL_RELA against `.text': => (.text+0x6a8)

nds32-allyesconfig

> [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/549738f15da0e5a00275977623be199fbbf7df50/ (all 192 configs)
> [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/a1b8638ba1320e6684aa98233c15255eb803fac7/ (all 192 configs)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2020-10-05 13:05:13

by Andy Shevchenko

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

On Mon, Oct 05, 2020 at 11:35:33AM +0200, Geert Uytterhoeven wrote:
> On Mon, Oct 5, 2020 at 11:33 AM Geert Uytterhoeven <[email protected]> wrote:
> > JFYI, when comparing v5.9-rc8[1] to v5.9-rc7[3], the summaries are:
> > - build errors: +3/-6

Thanks for the report!

> + /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: implicit
> declaration of function 'in_ia32_syscall'
> [-Werror=implicit-function-declaration]: => 430:6
> + /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: unknown type name
> 'compat_u64': => 432:4
>
> x86_64/um-all{mod,yes}config

I guess the quick fix is to disable that code for UML, I don't know how IOCTLs
are working in UML in cases when host - guest - guest app either from:
1. x86_64 - x86_64 - i386;
2. x86_64 - i386 - i386.

> + error: rk3399_gru_sound.c: relocation truncated to fit:
> R_NDS32_WORD_9_PCREL_RELA against `.text': => (.text+0x6a8)
>
> nds32-allyesconfig
>
> > [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/549738f15da0e5a00275977623be199fbbf7df50/ (all 192 configs)
> > [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/a1b8638ba1320e6684aa98233c15255eb803fac7/ (all 192 configs)

--
With Best Regards,
Andy Shevchenko


2020-10-07 11:49:59

by Paul Bolle

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

[Added Richard and Anton.]

Andy Shevchenko schreef op ma 05-10-2020 om 15:58 [+0300]:
> On Mon, Oct 05, 2020 at 11:35:33AM +0200, Geert Uytterhoeven wrote:
> > On Mon, Oct 5, 2020 at 11:33 AM Geert Uytterhoeven <[email protected]> wrote:
> > > JFYI, when comparing v5.9-rc8[1] to v5.9-rc7[3], the summaries are:
> > > - build errors: +3/-6
>
> Thanks for the report!
>
> > + /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: implicit
> > declaration of function 'in_ia32_syscall'
> > [-Werror=implicit-function-declaration]: => 430:6
> > + /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: unknown type name
> > 'compat_u64': => 432:4
> >
> > x86_64/um-all{mod,yes}config
>
> I guess the quick fix is to disable that code for UML, I don't know how IOCTLs
> are working in UML in cases when host - guest - guest app either from:
> 1. x86_64 - x86_64 - i386;
> 2. x86_64 - i386 - i386.

I ran into this build error too.

Perhaps the UML maintainers have an idea what to do here. The commit that
triggers this error is 5ad284ab3a01 ("gpiolib: Fix line event handling in
syscall compatible mode").

Thanks,


Paul Bolle

2020-10-07 12:01:06

by Andy Shevchenko

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

On Wed, Oct 7, 2020 at 2:50 PM Paul Bolle <[email protected]> wrote:
> Andy Shevchenko schreef op ma 05-10-2020 om 15:58 [+0300]:
> > On Mon, Oct 05, 2020 at 11:35:33AM +0200, Geert Uytterhoeven wrote:
> > > On Mon, Oct 5, 2020 at 11:33 AM Geert Uytterhoeven <[email protected]> wrote:
> > > > JFYI, when comparing v5.9-rc8[1] to v5.9-rc7[3], the summaries are:
> > > > - build errors: +3/-6
> >
> > Thanks for the report!
> >
> > > + /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: implicit
> > > declaration of function 'in_ia32_syscall'
> > > [-Werror=implicit-function-declaration]: => 430:6
> > > + /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: unknown type name
> > > 'compat_u64': => 432:4
> > >
> > > x86_64/um-all{mod,yes}config
> >
> > I guess the quick fix is to disable that code for UML, I don't know how IOCTLs
> > are working in UML in cases when host - guest - guest app either from:
> > 1. x86_64 - x86_64 - i386;
> > 2. x86_64 - i386 - i386.
>
> I ran into this build error too.
>
> Perhaps the UML maintainers have an idea what to do here. The commit that
> triggers this error is 5ad284ab3a01 ("gpiolib: Fix line event handling in
> syscall compatible mode").

Does [1] fix the issue?

[1]: https://lore.kernel.org/linux-gpio/[email protected]/


--
With Best Regards,
Andy Shevchenko

2020-10-07 12:11:51

by Richard Weinberger

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

On Wed, Oct 7, 2020 at 1:51 PM Paul Bolle <[email protected]> wrote:
>
> [Added Richard and Anton.]
>
> Andy Shevchenko schreef op ma 05-10-2020 om 15:58 [+0300]:
> > On Mon, Oct 05, 2020 at 11:35:33AM +0200, Geert Uytterhoeven wrote:
> > > On Mon, Oct 5, 2020 at 11:33 AM Geert Uytterhoeven <[email protected]> wrote:
> > > > JFYI, when comparing v5.9-rc8[1] to v5.9-rc7[3], the summaries are:
> > > > - build errors: +3/-6
> >
> > Thanks for the report!
> >
> > > + /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: implicit
> > > declaration of function 'in_ia32_syscall'
> > > [-Werror=implicit-function-declaration]: => 430:6
> > > + /kisskb/src/drivers/gpio/gpiolib-cdev.c: error: unknown type name
> > > 'compat_u64': => 432:4
> > >
> > > x86_64/um-all{mod,yes}config
> >
> > I guess the quick fix is to disable that code for UML, I don't know how IOCTLs
> > are working in UML in cases when host - guest - guest app either from:
> > 1. x86_64 - x86_64 - i386;
> > 2. x86_64 - i386 - i386.
>
> I ran into this build error too.
>
> Perhaps the UML maintainers have an idea what to do here. The commit that
> triggers this error is 5ad284ab3a01 ("gpiolib: Fix line event handling in
> syscall compatible mode").

UML has no ia32 emulation and therefore no in_ia32_syscall().
Maybe you can check for CONFIG_IA32_EMULATION too?

--
Thanks,
//richard

2020-10-07 12:47:18

by Paul Bolle

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

Richard Weinberger schreef op wo 07-10-2020 om 14:08 [+0200]:
> UML has no ia32 emulation and therefore no in_ia32_syscall().
> Maybe you can check for CONFIG_IA32_EMULATION too?

The pending fix is:
#if defined(CONFIG_X86_64) && !defined(CONFIG_UML)

Since this check guards in_ia32_syscall() just checking CONFIG_IA32_EMULATION
should do too.

(Way outside my limited expertise, but anyway: is does look odd to see a call
to in_ia32_syscall() in drivers/. All other calls are in arch/x86/. Isn't this
a bit too x86 specific for an arch independent driver?)

Thanks,


Paul Bolle

2020-10-07 13:03:17

by Richard Weinberger

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

On Wed, Oct 7, 2020 at 2:47 PM Paul Bolle <[email protected]> wrote:
>
> Richard Weinberger schreef op wo 07-10-2020 om 14:08 [+0200]:
> > UML has no ia32 emulation and therefore no in_ia32_syscall().
> > Maybe you can check for CONFIG_IA32_EMULATION too?
>
> The pending fix is:
> #if defined(CONFIG_X86_64) && !defined(CONFIG_UML)
>
> Since this check guards in_ia32_syscall() just checking CONFIG_IA32_EMULATION
> should do too.
>
> (Way outside my limited expertise, but anyway: is does look odd to see a call
> to in_ia32_syscall() in drivers/. All other calls are in arch/x86/. Isn't this
> a bit too x86 specific for an arch independent driver?)

Indeed. in_compat_syscall() seems to be more suitable.

But for UML this does not really help, I fear, it has also no CONFIG_COMPAT.

--
Thanks,
//richard

2020-10-07 13:07:47

by Andy Shevchenko

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

On Wed, Oct 07, 2020 at 02:45:30PM +0200, Paul Bolle wrote:
> Richard Weinberger schreef op wo 07-10-2020 om 14:08 [+0200]:
> > UML has no ia32 emulation and therefore no in_ia32_syscall().
> > Maybe you can check for CONFIG_IA32_EMULATION too?
>
> The pending fix is:
> #if defined(CONFIG_X86_64) && !defined(CONFIG_UML)
>
> Since this check guards in_ia32_syscall() just checking CONFIG_IA32_EMULATION
> should do too.
>
> (Way outside my limited expertise, but anyway: is does look odd to see a call
> to in_ia32_syscall() in drivers/. All other calls are in arch/x86/. Isn't this
> a bit too x86 specific for an arch independent driver?)

According to Arnd who suggested that fix the problem is basically appears on
x86. He also mentioned the new approach that Christoph Hellwig is working on.
But we decided to go the ifdeffery for better backporting.

--
With Best Regards,
Andy Shevchenko


2020-10-07 14:30:14

by Andy Shevchenko

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

On Wed, Oct 07, 2020 at 02:48:42PM +0100, Christoph Hellwig wrote:
> On Wed, Oct 07, 2020 at 04:02:41PM +0300, Andy Shevchenko wrote:
> > On Wed, Oct 07, 2020 at 02:45:30PM +0200, Paul Bolle wrote:
> > > Richard Weinberger schreef op wo 07-10-2020 om 14:08 [+0200]:
> > > > UML has no ia32 emulation and therefore no in_ia32_syscall().
> > > > Maybe you can check for CONFIG_IA32_EMULATION too?
> > >
> > > The pending fix is:
> > > #if defined(CONFIG_X86_64) && !defined(CONFIG_UML)
> > >
> > > Since this check guards in_ia32_syscall() just checking CONFIG_IA32_EMULATION
> > > should do too.
> > >
> > > (Way outside my limited expertise, but anyway: is does look odd to see a call
> > > to in_ia32_syscall() in drivers/. All other calls are in arch/x86/. Isn't this
> > > a bit too x86 specific for an arch independent driver?)
> >
> > According to Arnd who suggested that fix the problem is basically appears on
> > x86. He also mentioned the new approach that Christoph Hellwig is working on.
> > But we decided to go the ifdeffery for better backporting.
>
> linux-next has compat_need_64bit_alignment_fixup(), which is the
> proper thing to use. But for now you'll need the ifdef mess.

Thanks for pointing out to this!

So, we need to utilize the new stuff from:
cc7886d25bca ("compat: lift compat_s64 and compat_u64 to <asm-generic/compat.h>")
527c412519eb ("compat: add a compat_need_64bit_alignment_fixup() helper")


--
With Best Regards,
Andy Shevchenko


2020-10-07 17:12:30

by Paul Bolle

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

Andy Shevchenko schreef op wo 07-10-2020 om 14:58 [+0300]:
> Does [1] fix the issue?
>
> [1]: https://lore.kernel.org/linux-gpio/[email protected]/

Yes, it fixes the build error.

Thanks,


Paul Bolle

2020-10-07 17:22:34

by Christoph Hellwig

[permalink] [raw]
Subject: Re: Build regressions/improvements in v5.9-rc8

On Wed, Oct 07, 2020 at 04:02:41PM +0300, Andy Shevchenko wrote:
> On Wed, Oct 07, 2020 at 02:45:30PM +0200, Paul Bolle wrote:
> > Richard Weinberger schreef op wo 07-10-2020 om 14:08 [+0200]:
> > > UML has no ia32 emulation and therefore no in_ia32_syscall().
> > > Maybe you can check for CONFIG_IA32_EMULATION too?
> >
> > The pending fix is:
> > #if defined(CONFIG_X86_64) && !defined(CONFIG_UML)
> >
> > Since this check guards in_ia32_syscall() just checking CONFIG_IA32_EMULATION
> > should do too.
> >
> > (Way outside my limited expertise, but anyway: is does look odd to see a call
> > to in_ia32_syscall() in drivers/. All other calls are in arch/x86/. Isn't this
> > a bit too x86 specific for an arch independent driver?)
>
> According to Arnd who suggested that fix the problem is basically appears on
> x86. He also mentioned the new approach that Christoph Hellwig is working on.
> But we decided to go the ifdeffery for better backporting.

linux-next has compat_need_64bit_alignment_fixup(), which is the
proper thing to use. But for now you'll need the ifdef mess.