On 03/02/2020 14.19, Christian Borntraeger wrote: > From: Vasily Gorbik <gor@xxxxxxxxxxxxx> > > Add exceptions handlers performing transparent transition of non-secure > pages to secure (import) upon guest access and secure pages to > non-secure (export) upon hypervisor access. > > Signed-off-by: Vasily Gorbik <gor@xxxxxxxxxxxxx> > Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> > [adding checks for failures] > Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > [further changes like adding a check for gmap fault] Who did which modification here? According to Documentation/process/submitting-patches.rst the square brackets should go in front of the S-o-b of the person who did the change, e.g.: Signed-off-by: Random J Developer <random@xxxxxxxxxxxxxxxxxxxxx> [lucky@xxxxxxxxxxxxxxxxxxxxxx: struct foo moved from foo.c to foo.h] Signed-off-by: Lucky K Maintainer <lucky@xxxxxxxxxxxxxxxxxxxxxx> It would be nice if you could stick to that scheme. > --- > arch/s390/kernel/pgm_check.S | 4 +- > arch/s390/mm/fault.c | 87 ++++++++++++++++++++++++++++++++++++ > 2 files changed, 89 insertions(+), 2 deletions(-) [...] > +void do_non_secure_storage_access(struct pt_regs *regs) > +{ > + unsigned long gaddr = regs->int_parm_long & __FAIL_ADDR_MASK; > + struct gmap *gmap = (struct gmap *)S390_lowcore.gmap; > + struct uv_cb_cts uvcb = { > + .header.cmd = UVC_CMD_CONV_TO_SEC_STOR, > + .header.len = sizeof(uvcb), > + .guest_handle = gmap->se_handle, > + .gaddr = gaddr, > + }; > + int rc; > + > + if (get_fault_type(regs) != GMAP_FAULT) { > + do_fault_error(regs, VM_READ | VM_WRITE, VM_FAULT_BADMAP); > + WARN_ON_ONCE(1); > + return; > + } > + > + rc = uv_make_secure(gmap, gaddr, &uvcb, 0); > + if (rc == -EINVAL && uvcb.header.rc != 0x104) > + send_sig(SIGSEGV, current, 0); > +} What about the other rc beside 0x104 that could happen here? They go unnoticed? Thomas