pageattr.c (c900529f3d9161bfde5cca0754f83b4d3c3e0220) pageattr.c (907835e6dee6f77ac30ae50bb3f88bd92055c86e)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright IBM Corp. 2011
4 * Author(s): Jan Glauber <jang@linux.vnet.ibm.com>
5 */
6#include <linux/hugetlb.h>
7#include <linux/proc_fs.h>
8#include <linux/vmalloc.h>

--- 260 unchanged lines hidden (view full) ---

269 pud_t *pudp;
270 int rc = 0;
271
272 pudp = pud_offset(p4d, addr);
273 do {
274 if (pud_none(*pudp))
275 return -EINVAL;
276 next = pud_addr_end(addr, end);
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright IBM Corp. 2011
4 * Author(s): Jan Glauber <jang@linux.vnet.ibm.com>
5 */
6#include <linux/hugetlb.h>
7#include <linux/proc_fs.h>
8#include <linux/vmalloc.h>

--- 260 unchanged lines hidden (view full) ---

269 pud_t *pudp;
270 int rc = 0;
271
272 pudp = pud_offset(p4d, addr);
273 do {
274 if (pud_none(*pudp))
275 return -EINVAL;
276 next = pud_addr_end(addr, end);
277 if (pud_large(*pudp)) {
277 if (pud_leaf(*pudp)) {
278 need_split = !!(flags & SET_MEMORY_4K);
279 need_split |= !!(addr & ~PUD_MASK);
280 need_split |= !!(addr + PUD_SIZE > next);
281 if (need_split) {
282 rc = split_pud_page(pudp, addr);
283 if (rc)
284 break;
285 continue;

--- 167 unchanged lines hidden ---
278 need_split = !!(flags & SET_MEMORY_4K);
279 need_split |= !!(addr & ~PUD_MASK);
280 need_split |= !!(addr + PUD_SIZE > next);
281 if (need_split) {
282 rc = split_pud_page(pudp, addr);
283 if (rc)
284 break;
285 continue;

--- 167 unchanged lines hidden ---