mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
arm64 fix
- Remove accidental VM_WARN_ON -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABCgAGBQJbkorgAAoJELescNyEwWM0my8IAKsVsc5heKBeL/0Ep5gfXJLS H3kjkToFKfOeVADLfZXfTkPzlx9f1NrEP4+b/hQYgqGqXQcvCIwEXzpTMFg4pT4/ ERhYtq9qYBNQmg4AZnTHl2cKSRFt+s7knTZMoTEwNk1NxdBQAtbIZa9HB9Ly2mSn xK6UP7zsZvRcY02BlyDQ0A/QBjzQAi3I83FRLizxjPYaSUhF0QqhrzTr0ANoKEjv DnX04nJEMYqLEjSKWTn3rzot2PgLVDcMEjXKwMB3XB6LML3KLRUsvnTpxED5c+dW tv+wzKKdaFeHWmfFxUgYZXSd4igh0IKf3OZDohRKz+lNOhKrTYUE35dtFyyw04I= =xYN8 -----END PGP SIGNATURE----- Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fix from Will Deacon: "Just one small fix here, preventing a VM_WARN_ON when a !present PMD/PUD is "freed" as part of a huge ioremap() operation. The correct behaviour is to skip the free silently in this case, which is a little weird (the function is a bit of a misnomer), but it follows the x86 implementation" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: fix erroneous warnings in page freeing functions
This commit is contained in:
commit
4ff8a142bd
@ -985,8 +985,9 @@ int pmd_free_pte_page(pmd_t *pmdp, unsigned long addr)
|
|||||||
|
|
||||||
pmd = READ_ONCE(*pmdp);
|
pmd = READ_ONCE(*pmdp);
|
||||||
|
|
||||||
/* No-op for empty entry and WARN_ON for valid entry */
|
if (!pmd_present(pmd))
|
||||||
if (!pmd_present(pmd) || !pmd_table(pmd)) {
|
return 1;
|
||||||
|
if (!pmd_table(pmd)) {
|
||||||
VM_WARN_ON(!pmd_table(pmd));
|
VM_WARN_ON(!pmd_table(pmd));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -1007,8 +1008,9 @@ int pud_free_pmd_page(pud_t *pudp, unsigned long addr)
|
|||||||
|
|
||||||
pud = READ_ONCE(*pudp);
|
pud = READ_ONCE(*pudp);
|
||||||
|
|
||||||
/* No-op for empty entry and WARN_ON for valid entry */
|
if (!pud_present(pud))
|
||||||
if (!pud_present(pud) || !pud_table(pud)) {
|
return 1;
|
||||||
|
if (!pud_table(pud)) {
|
||||||
VM_WARN_ON(!pud_table(pud));
|
VM_WARN_ON(!pud_table(pud));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user