Hello!
On 20/03/23 11:27, Tom Saeger wrote:
On Mon, Mar 20, 2023 at 11:48:02AM -0500, Tom Saeger wrote:
On Mon, Mar 20, 2023 at 02:24:35PM +0100, Greg Kroah-Hartman wrote:
On Fri, Mar 17, 2023 at 12:28:06PM -0600, Tom Saeger wrote:
On Fri, Mar 10, 2023 at 02:36:13PM +0100, Greg Kroah-Hartman wrote:
From: Kees Cook keescook@chromium.org
[ Upstream commit b13fecb1c3a603c4b8e99b306fecf4f668c11b32 ]
This converts all the existing DECLARE_TASKLET() (and ...DISABLED) macros with DECLARE_TASKLET_OLD() in preparation for refactoring the tasklet callback type. All existing DECLARE_TASKLET() users had a "0" data argument, it has been removed here as well.
Reviewed-by: Greg Kroah-Hartman gregkh@linuxfoundation.org Acked-by: Thomas Gleixner tglx@linutronix.de Signed-off-by: Kees Cook keescook@chromium.org Stable-dep-of: 1fdeb8b9f29d ("wifi: iwl3945: Add missing check for create_singlethread_workqueue") Signed-off-by: Sasha Levin sashal@kernel.org
I noticed kernelci.org bot (5.4) reports:
Build Failures Detected: mips: ip27_defconfig: (gcc-10) FAIL ip28_defconfig: (gcc-10) FAIL lasat_defconfig: (gcc-10) FAIL Errors summary: 1 arch/mips/lasat/picvue_proc.c:87:20: error: ‘pvc_display_tasklet’ undeclared (first use in this function) 1 arch/mips/lasat/picvue_proc.c:42:44: error: expected ‘)’ before ‘&’ token 1 arch/mips/lasat/picvue_proc.c:33:13: error: ‘pvc_display’ defined but not used [-Werror=unused-function]
Link: https://lore.kernel.org/stable/64041dda.170a0220.8cc25.79c9@mx.google.com/
Here's what I found... this backport to 5.4.y of: b13fecb1c3a6 ("treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()") changed all locations of DECLARE_TASKLET with DECLARE_TASKLET_OLD, except one, in arch/mips/lasat/pcivue_proc.c.
This is due to: 10760dde9be3 ("MIPS: Remove support for LASAT") preceeding b13fecb1c3a6 ("treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()") upstream and the former not being present in 5.4.y.
I rolled a revert/re-apply with fixes in the attached mbox, however maybe just a revert makes more sense? Up to you.
I have yet to try building this on mips, just did this by inspection.
I've taken your patches, let's see how that works...
Ugh, It didn't go well. I now see a problem. The change to DECLARE_TASKLET_OLD also removed the last parameter. I missed that. I'll spin-up a mips build.
I've now confirmed locally with gcc-10 mips build of lasat_defconfig
fixup patch should be:
diff --git a/arch/mips/lasat/picvue_proc.c b/arch/mips/lasat/picvue_proc.c index 8126f15b8e09..6b019915b0c8 100644 --- a/arch/mips/lasat/picvue_proc.c +++ b/arch/mips/lasat/picvue_proc.c @@ -39,7 +39,7 @@ static void pvc_display(unsigned long data) pvc_write_string(pvc_lines[i], 0, i); } -static DECLARE_TASKLET(pvc_display_tasklet, &pvc_display, 0); +static DECLARE_TASKLET_OLD(pvc_display_tasklet, &pvc_display); static int pvc_line_proc_show(struct seq_file *m, void *v) {
Attached is a reflow of these two patches.
We don't generally build lasat_defconfig but can reproduce the problem on the most recent 5.4.y RC (5.4.240-rc1). Bisection led to "treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()" (5de7a4254eb2) (as expected), and reverting it also made the build pass (as expected, I guess).
With those two patches applied on top of 5.4.240-rc1, MIPS' lasat_defconfig builds with GCC-12 for us.
Tested-by: Linux Kernel Functional Testing lkft@linaro.org
Greetings!
Daniel Díaz daniel.diaz@linaro.org