On 04.02.20 11:37, Thomas Huth wrote: > 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. will fix > >> --- >> 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 >