On Mon, 23 Apr 2018 13:01:09 +0200 Dong Jia Shi <bjsdjshi@xxxxxxxxxxxxxxxxxx> wrote: > From: Halil Pasic <pasic@xxxxxxxxxxxxxxxxxx> > > If the translation of a channel program fails, we may end up attempting > to clean up (free, unpin) stuff that never got translated (and allocated, > pinned) in the first place. > > By adjusting the lengths of the chains accordingly (so the element that > failed, and all subsequent elements are excluded) cleanup activities > based on false assumptions can be avoided. > > Let's make sure cp_free works properly after cp_prefetch returns with an > error by setting ch_len of a ccw chain to the number of the translated > CCWs on that chain. > > Acked-by: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> > Reviewed-by: Dong Jia Shi <bjsdjshi@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Halil Pasic <pasic@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Dong Jia Shi <bjsdjshi@xxxxxxxxxxxxxxxxxx> > --- > drivers/s390/cio/vfio_ccw_cp.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) Thanks, applied. I'll probably send a pull req after lunch. [Some procedural notes: I've created a new vfio-ccw-fixes branch based on the s390 fixes branch for easier handling. Things targeted for the next release will go on the vfio-ccw branch on top of the s390 features branch, as before. Does that work for everybody? (And I am the only vfio-ccw maintainer with a kernel.org account, right?)]