lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 03 May 2024 12:03:20 +1000
From: Michael Ellerman <mpe@...erman.id.au>
To: Allen Pais <apais@...ux.microsoft.com>, linux-scsi@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
 target-devel@...r.kernel.org, megaraidlinux.pdl@...adcom.com,
 jejb@...ux.ibm.com, hare@...e.com, martin.petersen@...cle.com,
 linuxdrivers@...otech.com, tyreld@...ux.ibm.com, npiggin@...il.com,
 christophe.leroy@...roup.eu, aneesh.kumar@...nel.org,
 naveen.n.rao@...ux.ibm.com, artur.paszkiewicz@...el.co,
 kashyap.desai@...adcom.com, sumit.saxena@...adcom.com,
 shivasharan.srikanteshwara@...adcom.com, chandrakanth.patil@...adcom.com,
 jinpu.wang@...ud.ionos.com
Subject: Re: [PATCH] [RFC] scsi: Convert from tasklet to BH workqueue

Allen Pais <apais@...ux.microsoft.com> writes:
> The only generic interface to execute asynchronously in the BH context is
> tasklet; however, it's marked deprecated and has some design flaws. To
> replace tasklets, BH workqueue support was recently added. A BH workqueue
> behaves similarly to regular workqueues except that the queued work items
> are executed in the BH context.
>
> This patch converts drivers/scsi/* from tasklet to BH workqueue.
>
> Based on the work done by Tejun Heo <tj@...nel.org>
> Branch: https://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-6.10
>
> Signed-off-by: Allen Pais <allen.lkml@...il.com>
> ---
>  drivers/scsi/aic7xxx/aic7xxx_osm.c          |  2 +-
>  drivers/scsi/aic94xx/aic94xx_hwi.c          | 14 ++--
>  drivers/scsi/aic94xx/aic94xx_hwi.h          |  5 +-
>  drivers/scsi/aic94xx/aic94xx_scb.c          | 36 +++++-----
>  drivers/scsi/aic94xx/aic94xx_task.c         | 14 ++--
>  drivers/scsi/aic94xx/aic94xx_tmf.c          | 34 ++++-----
>  drivers/scsi/esas2r/esas2r.h                | 12 ++--
>  drivers/scsi/esas2r/esas2r_init.c           | 14 ++--
>  drivers/scsi/esas2r/esas2r_int.c            | 18 ++---
>  drivers/scsi/esas2r/esas2r_io.c             |  2 +-
>  drivers/scsi/esas2r/esas2r_main.c           | 16 ++---
>  drivers/scsi/ibmvscsi/ibmvfc.c              | 16 ++---
>  drivers/scsi/ibmvscsi/ibmvfc.h              |  3 +-
>  drivers/scsi/ibmvscsi/ibmvscsi.c            | 16 ++---
>  drivers/scsi/ibmvscsi/ibmvscsi.h            |  3 +-
>  drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c    | 15 ++--
>  drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.h    |  3 +-

Something there is giving me a build failure (ppc64le_guest_defconfig):

  + make -s 'CC=ccache powerpc64le-linux-gnu-gcc' -j 4
  /linux/drivers/scsi/ibmvscsi/ibmvscsi.c: In function 'ibmvscsi_init_crq_queue':
  Error: /linux/drivers/scsi/ibmvscsi/ibmvscsi.c:370:331: error: 'ibmvscsi_work' undeclared (first use in this function)
  /linux/drivers/scsi/ibmvscsi/ibmvscsi.c:370:331: note: each undeclared identifier is reported only once for each function it appears in
  /linux/scripts/Makefile.build:244: recipe for target 'drivers/scsi/ibmvscsi/ibmvscsi.o' failed
  /linux/scripts/Makefile.build:485: recipe for target 'drivers/scsi/ibmvscsi' failed
  /linux/scripts/Makefile.build:485: recipe for target 'drivers/scsi' failed
  /linux/scripts/Makefile.build:485: recipe for target 'drivers' failed
  /linux/drivers/scsi/ibmvscsi/ibmvscsi.c: In function 'ibmvscsi_probe':
  Error: /linux/drivers/scsi/ibmvscsi/ibmvscsi.c:2255:78: error: passing argument 1 of 'kthread_create_on_node' from incompatible pointer type [-Werror=incompatible-pointer-types]
  In file included from /linux/drivers/scsi/ibmvscsi/ibmvscsi.c:56:0:
  /linux/include/linux/kthread.h:11:21: note: expected 'int (*)(void *)' but argument is of type 'int (*)(struct work_struct *)'
   struct task_struct *kthread_create_on_node(int (*threadfn)(void *data),
                       ^
  /linux/drivers/scsi/ibmvscsi/ibmvscsi.c: At top level:
  Warning: /linux/drivers/scsi/ibmvscsi/ibmvscsi.c:212:13: warning: 'ibmvscsi_task' defined but not used [-Wunused-function]
   static void ibmvscsi_task(void *data)
               ^
  Warning: cc1: warning: unrecognized command line option '-Wno-shift-negative-value'
  Warning: cc1: warning: unrecognized command line option '-Wno-stringop-overflow'
  cc1: some warnings being treated as errors
  make[6]: *** [drivers/scsi/ibmvscsi/ibmvscsi.o] Error 1
  make[5]: *** [drivers/scsi/ibmvscsi] Error 2
  make[4]: *** [drivers/scsi] Error 2
  make[3]: *** [drivers] Error 2
  make[3]: *** Waiting for unfinished jobs....

Full log here: https://github.com/linuxppc/linux-snowpatch/actions/runs/8930174372/job/24529645923

Cross compile instructions if you're keen: https://github.com/linuxppc/wiki/wiki/Building-powerpc-kernels

cheers

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ