Re: [PATCH] s390: add unreachable() to dump_fault_info() to fix -Wmaybe-uninitialized

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

 



On (05/17/19 15:49), Masahiro Yamada wrote:
[..]
> @@ -211,6 +211,8 @@ static void dump_fault_info(struct pt_regs *regs)
>  		asce = S390_lowcore.kernel_asce;
>  		pr_cont("kernel ");
>  		break;
> +	default:
> +		unreachable();
>  	}
>  	pr_cont("ASCE.\n");
>  	dump_pagetable(asce, regs->int_parm_long & __FAIL_ADDR_MASK);

Or have default fault type and asce?

Just an idea.

---

diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
index c220399ae196..876d71c31894 100644
--- a/arch/s390/mm/fault.c
+++ b/arch/s390/mm/fault.c
@@ -174,7 +174,8 @@ static void dump_pagetable(unsigned long asce, unsigned long address)
 
 static void dump_fault_info(struct pt_regs *regs)
 {
-	unsigned long asce;
+	unsigned long asce = S390_lowcore.kernel_asce;
+	char *type = "kernel ";
 
 	pr_alert("Failing address: %016lx TEID: %016lx\n",
 		 regs->int_parm_long & __FAIL_ADDR_MASK, regs->int_parm_long);
@@ -197,22 +198,18 @@ static void dump_fault_info(struct pt_regs *regs)
 	switch (get_fault_type(regs)) {
 	case USER_FAULT:
 		asce = S390_lowcore.user_asce;
-		pr_cont("user ");
+		type = "user ";
 		break;
 	case VDSO_FAULT:
 		asce = S390_lowcore.vdso_asce;
-		pr_cont("vdso ");
+		type = "vdso ";
 		break;
 	case GMAP_FAULT:
 		asce = ((struct gmap *) S390_lowcore.gmap)->asce;
-		pr_cont("gmap ");
-		break;
-	case KERNEL_FAULT:
-		asce = S390_lowcore.kernel_asce;
-		pr_cont("kernel ");
+		type = "gmap ";
 		break;
 	}
-	pr_cont("ASCE.\n");
+	pr_cont("%s ASCE.\n", type);
 	dump_pagetable(asce, regs->int_parm_long & __FAIL_ADDR_MASK);
 }
 



[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