Re: arch/s390/lib/uaccess_pt.c: Missing breaks: ?

From: Heiko Carstens
Date: Mon Apr 15 2013 - 01:48:24 EST


On Sat, Apr 13, 2013 at 11:06:14PM -0700, Joe Perches wrote:
> Hello Heiko.
>
> Commit ea81531d ("s390/uaccess: fix page table walk")
> added this code. It looks like it should have break;
> for each case.

Hi Joe,

no, the fallthrough is on purpose for each case statement.

> static unsigned long follow_table(struct mm_struct *mm,
> unsigned long address, int write)
> {
> unsigned long *table = (unsigned long *)__pa(mm->pgd);
>
> switch (mm->context.asce_bits & _ASCE_TYPE_MASK) {
> case _ASCE_TYPE_REGION1:
> table = table + ((address >> 53) & 0x7ff);
> if (unlikely(*table & _REGION_ENTRY_INV))
> return -0x39UL;
> table = (unsigned long *)(*table & _REGION_ENTRY_ORIGIN);
> case _ASCE_TYPE_REGION2:

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/