On Thu, Oct 13, 2022 at 10:53 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, Oct 13, 2022 at 10:29:40AM -0600, Jason A. Donenfeld wrote: > > On Thu, Oct 13, 2022 at 06:18:53PM +0200, Greg KH wrote: > > > On Thu, Oct 13, 2022 at 09:36:51AM -0600, Jason A. Donenfeld wrote: > > > > Hi Greg, > > > > > > > > You just sent me an automated email about these failing, so here they > > > > are backported. > > > > > > Backported where? Patch 1 is already in 5.10 and newer, does this one > > > work in older? > > > > > > And 2 and 3 for all branches? > > > > For all of them they're not yet in. > > > > I'll have a look at the 4.9 breakage. > > Oops, 748bc4dd9e66 ("random: use expired timer rather than wq for mixing > fast pool") does not work for 4.9.y or 4.14.y, it breaks the build there > too: > > drivers/char/random.c:909:63: error: macro "__TIMER_INITIALIZER" requires 4 arguments, but only 2 given > 909 | .mix = __TIMER_INITIALIZER(mix_interrupt_randomness, 0) > | ^ > In file included from ./include/linux/workqueue.h:9, > from ./include/linux/rhashtable.h:26, > from ./include/linux/ipc.h:7, > from ./include/uapi/linux/sem.h:5, > from ./include/linux/sem.h:9, > from ./include/linux/sched.h:15, > from ./include/linux/utsname.h:6, > from drivers/char/random.c:28: > ./include/linux/timer.h:67: note: macro "__TIMER_INITIALIZER" defined here > 67 | #define __TIMER_INITIALIZER(_function, _expires, _data, _flags) { \ > | > drivers/char/random.c:909:16: error: ‘__TIMER_INITIALIZER’ undeclared here (not in a function); did you mean ‘TIMER_INITIALIZER’? > 909 | .mix = __TIMER_INITIALIZER(mix_interrupt_randomness, 0) > | ^~~~~~~~~~~~~~~~~~~ > | TIMER_INITIALIZER > drivers/char/random.c:951:13: warning: ‘mix_interrupt_randomness’ defined but not used [-Wunused-function] > 951 | static void mix_interrupt_randomness(struct timer_list *work) > | ^~~~~~~~~~~~~~~~~~~~~~~~ > > Ahh the dark old days of timers taking an unsigned long. Fixing. (And testing...)