vfio-ccw: Check initialized flag in cp_init()
authorEric Farman <farman@linux.ibm.com>
Tue, 11 May 2021 19:56:29 +0000 (21:56 +0200)
committerCornelia Huck <cohuck@redhat.com>
Wed, 12 May 2021 10:59:50 +0000 (12:59 +0200)
commitc6c82e0cd8125d30f2f1b29205c7e1a2f1a6785b
treec2a1ef68f6f2d6d427d0c798c1ec711fe6a34412
parent6efb943b8616ec53a5e444193dccf1af9ad627b5
vfio-ccw: Check initialized flag in cp_init()

We have a really nice flag in the channel_program struct that
indicates if it had been initialized by cp_init(), and use it
as a guard in the other cp accessor routines, but not for a
duplicate call into cp_init(). The possibility of this occurring
is low, because that flow is protected by the private->io_mutex
and FSM CP_PROCESSING state. But then why bother checking it
in (for example) cp_prefetch() then?

Let's just be consistent and check for that in cp_init() too.

Fixes: 71189f263f8a3 ("vfio-ccw: make it safe to access channel programs")
Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Matthew Rosato <mjrosato@linux.ibm.com>
Message-Id: <20210511195631.3995081-2-farman@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
drivers/s390/cio/vfio_ccw_cp.c