Re: [linux-stable-rc:linux-4.19.y 3113/3976] drivers/char/random.c:1336: Error: unrecognized opcode `csrs sstatus,s4'

Conor Dooley
2022-10-13T18:51:17Z

On Thu, Oct 13, 2022 at 03:10:13PM +0200, Greg Kroah-Hartman wrote:
> On Mon, Oct 10, 2022 at 01:05:39PM +0100, Conor Dooley wrote:
> > On Mon, Oct 10, 2022 at 07:51:59PM +0800, kernel test robot wrote:
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
> > > head: 5644b22533b36dc1a95ab1db4ae83381514b2908
> > > commit: 1923d9a8a08684c063da049fa9d5d8139edbbcbb [3113/3976] random: convert to using fops->write_iter()
> > > config: riscv-randconfig-c024-20221009
> > > compiler: riscv64-linux-gcc (GCC) 12.1.0
> > > reproduce (this is a W=1 build):
> > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > chmod +x ~/bin/make.cross
> > > # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=1923d9a8a08684c063da049fa9d5d8139edbbcbb
> > > git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > > git fetch --no-tags linux-stable-rc linux-4.19.y
> > > git checkout 1923d9a8a08684c063da049fa9d5d8139edbbcbb
> > > # save the config file
> > > mkdir build_dir && cp config build_dir/.config
> > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/char/
> > >
> > > If you fix the issue, kindly add following tag where applicable
> > > | Reported-by: kernel test robot <lkp@intel.com>
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > arch/riscv/include/asm/irqflags.h: Assembler messages:
> > > arch/riscv/include/asm/irqflags.h:42: Error: unrecognized opcode `csrrc s6,sstatus,2'
> > > arch/riscv/include/asm/irqflags.h:60: Error: unrecognized opcode `csrs sstatus,0'
> > > arch/riscv/include/asm/irqflags.h:60: Error: unrecognized opcode `csrs sstatus,s6'
> > > drivers/char/random.c:1316: Error: unrecognized opcode `csrs sstatus,a3'
> > > drivers/char/random.c:1316: Error: unrecognized opcode `csrc sstatus,a3'
> > > drivers/char/random.c:1322: Error: unrecognized opcode `csrs sstatus,a3'
> > > drivers/char/random.c:1322: Error: unrecognized opcode `csrc sstatus,a3'
> > > >> drivers/char/random.c:1336: Error: unrecognized opcode `csrs sstatus,s4'
> > > >> drivers/char/random.c:1336: Error: unrecognized opcode `csrc sstatus,s4'
> >
> > All of these look like 4.19.y is missing a backport of:
> > Fixes: 6df2a016c0c8 ("riscv: fix build with binutils 2.38")
> >
> > That commit is CC: stable, so I assume it did not apply or w/e and
> > nobody cared enough to do a backport?
>
> It does not apply and no one sent in a fixed backport :(

Welp, I have a fixed backport for it and pushed it out for LKP [0].
Just quickly checked it w/ binutils 2.36 & 2.38 locally, which both
worked fine. I doubt anyone really cares though, 4.19 is pretty long in
the tooth RISC-V hw wise. Not the biggest fan of what I did, but I
didn't want to send backports for some other infra changes that
6df2a016c0c8 depends on.

I'll send it to you once LKP gives it the all clear.

Thanks,
Conor.

0 -https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/commit/?h=riscv-backport_238_fix&id=cf7c2ca06cd0e5f6c16fe70e751380c8673da9ed