Re: [kvm-unit-tests PATCH] s390x/intercept: Test invalid prefix argument to SET PREFIX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 27 Jun 2022 14:43:56 +0200
Janis Schoetterl-Glausch <scgl@xxxxxxxxxxxxx> wrote:

> According to the architecture, SET PREFIX must try to access the new
> prefix area and recognize an addressing exception if the area is not
> accessible.
> Test that the exception occurs when we try to set a prefix higher
> than the available memory.
> 
> Signed-off-by: Janis Schoetterl-Glausch <scgl@xxxxxxxxxxxxx>
> ---
>  s390x/intercept.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/s390x/intercept.c b/s390x/intercept.c
> index 86e57e11..0b90e588 100644
> --- a/s390x/intercept.c
> +++ b/s390x/intercept.c
> @@ -74,6 +74,20 @@ static void test_spx(void)
>  	expect_pgm_int();
>  	asm volatile(" spx 0(%0) " : : "r"(-8L));
>  	check_pgm_int_code(PGM_INT_CODE_ADDRESSING);
> +
> +	new_prefix = get_ram_size() & 0x7fffe000;
> +	if (get_ram_size() - new_prefix < 2 * PAGE_SIZE) {
> +		expect_pgm_int();
> +		asm volatile("spx	%0 " : : "Q"(new_prefix));
> +		check_pgm_int_code(PGM_INT_CODE_ADDRESSING);
> +
> +		/*
> +		 * Cannot test inaccessibility of the second page the same way.
> +		 * If we try to use the last page as first half of the prefix
> +		 * area and our ram size is a multiple of 8k, after SPX aligns
> +		 * the address to 8k we have a completely accessible area.
> +		 */
> +	}

please add something like:

else {
	report_skip("Inaccessible prefix");
}

>  }
>  
>  /* Test the STORE CPU ADDRESS instruction */
> 
> base-commit: 110c69492b53f0070e1bbce986fb635e72a423b4




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux