Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54eafcc9 authored by Pushkar Jambhlekar's avatar Pushkar Jambhlekar Committed by Dan Williams
Browse files

device-dax: fix dax_dev_huge_fault() unknown fault size handling



The default case for dax_dev_huge_fault() fault size handling mistakenly
returns when it should unlock. This is not a problem in practice since
the only three possible fault sizes are handled. Going forward, if the
core mm adds a new fault size beyond pte, pmd, or pud device-dax should
abort VM_FAULT_SIGBUS requests not VM_FAULT_FALLBACK since device-dax
guarantees a configured fault granularity for all faults.

Signed-off-by: default avatarPushkar Jambhlekar <pushkar.iit@gmail.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent bfca9acf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -591,7 +591,7 @@ static int dax_dev_huge_fault(struct vm_fault *vmf,
		rc = __dax_dev_pud_fault(dax_dev, vmf);
		break;
	default:
		return VM_FAULT_FALLBACK;
		rc = VM_FAULT_SIGBUS;
	}
	srcu_read_unlock(&dax_srcu, id);