From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,MISSING_HEADERS,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3ABA9C433DB for ; Mon, 25 Jan 2021 17:51:26 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 9326822D04 for ; Mon, 25 Jan 2021 17:51:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9326822D04 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 880496B000D; Mon, 25 Jan 2021 12:51:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 85B476B000E; Mon, 25 Jan 2021 12:51:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 795F16B0010; Mon, 25 Jan 2021 12:51:24 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0043.hostedemail.com [216.40.44.43]) by kanga.kvack.org (Postfix) with ESMTP id 60CFC6B000D for ; Mon, 25 Jan 2021 12:51:24 -0500 (EST) Received: from smtpin09.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 122B73642 for ; Mon, 25 Jan 2021 17:51:24 +0000 (UTC) X-FDA: 77745039288.09.geese19_1d0f23e27587 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin09.hostedemail.com (Postfix) with ESMTP id E7215180AD838 for ; Mon, 25 Jan 2021 17:51:23 +0000 (UTC) X-HE-Tag: geese19_1d0f23e27587 X-Filterd-Recvd-Size: 19233 Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) by imf09.hostedemail.com (Postfix) with ESMTP for ; Mon, 25 Jan 2021 17:51:23 +0000 (UTC) Received: by mail-io1-f43.google.com with SMTP id q1so28272278ion.8 for ; Mon, 25 Jan 2021 09:51:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:cc; bh=KmuBpf7NKlUOglYFnlfk+T60GtPyOjM6FDMax7fCXpY=; b=vgaUnY0QpAL7oIZlIS6tSmKthfcDCFkqoBHEBAri0fKiWLtH2hzCN3UoHkx7JV36wN NZAHpy4Q4u60w+6/KcJbI6opy2Xq5Ep4ZOKzNZwo61CtE+N7EFKh2jvaxXCiSTCIDzP+ w0QCnsa9DUDNGCobsB/0WiJYAYsvBosvB8LNXMQ7R0+BLIHBXXI/SP+CJHlHZDP679Vu ZQWvwXE2KpiimydJSEmyEjOU1NR+93B87xF2ZRQfNE73ZwdaV8O5xr9kpxTLSq9b8WMp cGtKjqJ+3S1/282/A4kEYWWAAw40gebI/gp0g9PqlgWyDLxwsKeOQCpzqzlpZNtcKOWU TRiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:cc; bh=KmuBpf7NKlUOglYFnlfk+T60GtPyOjM6FDMax7fCXpY=; b=grBv3gt2b9Fs0VYn6/XQkS0yz6OkknE6wCI7x4zYSLbN1fHloGSc04u5VGdpBza+sj LOmjNtD0TF0S7YAgEiDxQuifNOWkke/xanll5RbbrNubbezrTMpr1BQQ6lV7KlU+NCYH gWThLEeN1zov4H9J5PNpG/XmVnTnxxR0KDdKhE4crN48DZysOKc23/kpeSivjtuBy2JD 7DRkLuRVFbYMmcDQ7EPljwrA7D9iJ/Fs7EEE2XpYUe4hVo3E4cgE5fC2VNp5b7sWs3hT XV2Km1gv5nUjF56wCuNZolyqDGSbOM4x/I0KE1BlTNCKA2y/Eg2S6QiyQoYFvGiWmbIw 5vJA== X-Gm-Message-State: AOAM533N6hcGdQyb0HyknQGF6Kc4HOZ8+T32AQufEDg/3ftR5i1cAXpf Tx+s/FHTJEZjkY/ZYr5XLvxfRKqEh17jmeNbR6H7Ug== X-Received: by 2002:a02:7610:: with SMTP id z16mt1701872jab.99.1611597082394; Mon, 25 Jan 2021 09:51:22 -0800 (PST) MIME-Version: 1.0 References: <20210122212926.3457593-8-axelrasmussen@google.com> <202101252146.VjG3nQXC-lkp@intel.com> In-Reply-To: <202101252146.VjG3nQXC-lkp@intel.com> From: Axel Rasmussen Date: Mon, 25 Jan 2021 09:50:46 -0800 Message-ID: Subject: Re: [PATCH v2 7/9] userfaultfd: add UFFDIO_CONTINUE ioctl Cc: Alexander Viro , Alexey Dobriyan , Andrea Arcangeli , Andrew Morton , Anshuman Khandual , Catalin Marinas , Chinwen Chang , Huang Ying , Ingo Molnar , kbuild-all@lists.01.org, clang-built-linux@googlegroups.com, Linux Memory Management List Content-Type: text/plain; charset="UTF-8" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: This build error seems to be caused by a missing #ifdef CONFIG_USERFAULTFD. I'll send a v3 with this fix, after waiting for other feedback on the v2 version. On Mon, Jan 25, 2021 at 5:37 AM kernel test robot wrote: > > Hi Axel, > > Thank you for the patch! Yet something to improve: > > [auto build test ERROR on arm64/for-next/core] > [also build test ERROR on powerpc/next s390/features tip/perf/core linus/master v5.11-rc5 next-20210122] > [cannot apply to hp-parisc/for-next hnaz-linux-mm/master ia64/next sparc-next/master sparc/master] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch] > > url: https://github.com/0day-ci/linux/commits/Axel-Rasmussen/userfaultfd-add-minor-fault-handling/20210125-104035 > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > config: x86_64-randconfig-a013-20210125 (attached as .config) > compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 12d0753aca22896fda2cf76781b0ee0524d55065) > reproduce (this is a W=1 build): > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # install x86_64 cross compiling tool for clang build > # apt-get install binutils-x86-64-linux-gnu > # https://github.com/0day-ci/linux/commit/b8fb53c3a341b9b853aa3286286c807088311dbd > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review Axel-Rasmussen/userfaultfd-add-minor-fault-handling/20210125-104035 > git checkout b8fb53c3a341b9b853aa3286286c807088311dbd > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot > > All errors (new ones prefixed by >>): > > In file included from mm/hugetlb.c:39: > include/linux/hugetlb.h:142:10: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] > enum mcopy_atomic_mode mode, > ^ > mm/hugetlb.c:4659:13: warning: declaration of 'enum mcopy_atomic_mode' will not be visible outside of this function [-Wvisibility] > enum mcopy_atomic_mode mode, > ^ > >> mm/hugetlb.c:4654:5: error: conflicting types for 'hugetlb_mcopy_atomic_pte' > int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, > ^ > include/linux/hugetlb.h:138:5: note: previous declaration is here > int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, pte_t *dst_pte, > ^ > >> mm/hugetlb.c:4659:31: error: variable has incomplete type 'enum mcopy_atomic_mode' > enum mcopy_atomic_mode mode, > ^ > mm/hugetlb.c:4659:13: note: forward declaration of 'enum mcopy_atomic_mode' > enum mcopy_atomic_mode mode, > ^ > >> mm/hugetlb.c:4675:25: error: use of undeclared identifier 'MCOPY_ATOMIC_CONTINUE' > if (!*pagep && mode != MCOPY_ATOMIC_CONTINUE) { > ^ > mm/hugetlb.c:4692:21: error: use of undeclared identifier 'MCOPY_ATOMIC_CONTINUE' > } else if (mode == MCOPY_ATOMIC_CONTINUE) { > ^ > mm/hugetlb.c:4711:27: error: use of undeclared identifier 'MCOPY_ATOMIC_CONTINUE' > if (vm_shared && mode != MCOPY_ATOMIC_CONTINUE) { > ^ > mm/hugetlb.c:4771:14: error: use of undeclared identifier 'MCOPY_ATOMIC_CONTINUE' > if (mode != MCOPY_ATOMIC_CONTINUE) > ^ > 2 warnings and 6 errors generated. > > > vim +/hugetlb_mcopy_atomic_pte +4654 mm/hugetlb.c > > 86e5216f8d8aa25 Adam Litke 2006-01-06 4649 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4650 /* > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4651 * Used by userfaultfd UFFDIO_COPY. Based on mcopy_atomic_pte with > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4652 * modifications for huge pages. > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4653 */ > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 @4654 int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4655 pte_t *dst_pte, > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4656 struct vm_area_struct *dst_vma, > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4657 unsigned long dst_addr, > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4658 unsigned long src_addr, > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 @4659 enum mcopy_atomic_mode mode, > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4660 struct page **pagep) > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4661 { > 1e3921471354244 Andrea Arcangeli 2017-11-02 4662 struct address_space *mapping; > 1e3921471354244 Andrea Arcangeli 2017-11-02 4663 pgoff_t idx; > 1e3921471354244 Andrea Arcangeli 2017-11-02 4664 unsigned long size; > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4665 int vm_shared = dst_vma->vm_flags & VM_SHARED; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4666 struct hstate *h = hstate_vma(dst_vma); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4667 pte_t _dst_pte; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4668 spinlock_t *ptl; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4669 int ret; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4670 struct page *page; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4671 > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4672 mapping = dst_vma->vm_file->f_mapping; > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4673 idx = vma_hugecache_offset(h, dst_vma, dst_addr); > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4674 > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 @4675 if (!*pagep && mode != MCOPY_ATOMIC_CONTINUE) { > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4676 ret = -ENOMEM; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4677 page = alloc_huge_page(dst_vma, dst_addr, 0); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4678 if (IS_ERR(page)) > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4679 goto out; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4680 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4681 ret = copy_huge_page_from_user(page, > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4682 (const void __user *) src_addr, > 810a56b943e265b Mike Kravetz 2017-02-22 4683 pages_per_huge_page(h), false); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4684 > c1e8d7c6a7a682e Michel Lespinasse 2020-06-08 4685 /* fallback to copy_from_user outside mmap_lock */ > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4686 if (unlikely(ret)) { > 9e368259ad98835 Andrea Arcangeli 2018-11-30 4687 ret = -ENOENT; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4688 *pagep = page; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4689 /* don't free the page */ > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4690 goto out; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4691 } > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4692 } else if (mode == MCOPY_ATOMIC_CONTINUE) { > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4693 ret = -EFAULT; > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4694 page = find_lock_page(mapping, idx); > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4695 *pagep = NULL; > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4696 if (!page) > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4697 goto out; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4698 } else { > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4699 page = *pagep; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4700 *pagep = NULL; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4701 } > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4702 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4703 /* > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4704 * The memory barrier inside __SetPageUptodate makes sure that > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4705 * preceding stores to the page contents become visible before > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4706 * the set_pte_at() write. > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4707 */ > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4708 __SetPageUptodate(page); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4709 > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4710 /* Add shared, newly allocated pages to the page cache. */ > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4711 if (vm_shared && mode != MCOPY_ATOMIC_CONTINUE) { > 1e3921471354244 Andrea Arcangeli 2017-11-02 4712 size = i_size_read(mapping->host) >> huge_page_shift(h); > 1e3921471354244 Andrea Arcangeli 2017-11-02 4713 ret = -EFAULT; > 1e3921471354244 Andrea Arcangeli 2017-11-02 4714 if (idx >= size) > 1e3921471354244 Andrea Arcangeli 2017-11-02 4715 goto out_release_nounlock; > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4716 > 1e3921471354244 Andrea Arcangeli 2017-11-02 4717 /* > 1e3921471354244 Andrea Arcangeli 2017-11-02 4718 * Serialization between remove_inode_hugepages() and > 1e3921471354244 Andrea Arcangeli 2017-11-02 4719 * huge_add_to_page_cache() below happens through the > 1e3921471354244 Andrea Arcangeli 2017-11-02 4720 * hugetlb_fault_mutex_table that here must be hold by > 1e3921471354244 Andrea Arcangeli 2017-11-02 4721 * the caller. > 1e3921471354244 Andrea Arcangeli 2017-11-02 4722 */ > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4723 ret = huge_add_to_page_cache(page, mapping, idx); > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4724 if (ret) > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4725 goto out_release_nounlock; > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4726 } > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4727 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4728 ptl = huge_pte_lockptr(h, dst_mm, dst_pte); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4729 spin_lock(ptl); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4730 > 1e3921471354244 Andrea Arcangeli 2017-11-02 4731 /* > 1e3921471354244 Andrea Arcangeli 2017-11-02 4732 * Recheck the i_size after holding PT lock to make sure not > 1e3921471354244 Andrea Arcangeli 2017-11-02 4733 * to leave any page mapped (as page_mapped()) beyond the end > 1e3921471354244 Andrea Arcangeli 2017-11-02 4734 * of the i_size (remove_inode_hugepages() is strict about > 1e3921471354244 Andrea Arcangeli 2017-11-02 4735 * enforcing that). If we bail out here, we'll also leave a > 1e3921471354244 Andrea Arcangeli 2017-11-02 4736 * page in the radix tree in the vm_shared case beyond the end > 1e3921471354244 Andrea Arcangeli 2017-11-02 4737 * of the i_size, but remove_inode_hugepages() will take care > 1e3921471354244 Andrea Arcangeli 2017-11-02 4738 * of it as soon as we drop the hugetlb_fault_mutex_table. > 1e3921471354244 Andrea Arcangeli 2017-11-02 4739 */ > 1e3921471354244 Andrea Arcangeli 2017-11-02 4740 size = i_size_read(mapping->host) >> huge_page_shift(h); > 1e3921471354244 Andrea Arcangeli 2017-11-02 4741 ret = -EFAULT; > 1e3921471354244 Andrea Arcangeli 2017-11-02 4742 if (idx >= size) > 1e3921471354244 Andrea Arcangeli 2017-11-02 4743 goto out_release_unlock; > 1e3921471354244 Andrea Arcangeli 2017-11-02 4744 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4745 ret = -EEXIST; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4746 if (!huge_pte_none(huge_ptep_get(dst_pte))) > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4747 goto out_release_unlock; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4748 > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4749 if (vm_shared) { > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4750 page_dup_rmap(page, true); > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4751 } else { > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4752 ClearPagePrivate(page); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4753 hugepage_add_new_anon_rmap(page, dst_vma, dst_addr); > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4754 } > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4755 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4756 _dst_pte = make_huge_pte(dst_vma, page, dst_vma->vm_flags & VM_WRITE); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4757 if (dst_vma->vm_flags & VM_WRITE) > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4758 _dst_pte = huge_pte_mkdirty(_dst_pte); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4759 _dst_pte = pte_mkyoung(_dst_pte); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4760 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4761 set_huge_pte_at(dst_mm, dst_addr, dst_pte, _dst_pte); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4762 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4763 (void)huge_ptep_set_access_flags(dst_vma, dst_addr, dst_pte, _dst_pte, > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4764 dst_vma->vm_flags & VM_WRITE); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4765 hugetlb_count_add(pages_per_huge_page(h), dst_mm); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4766 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4767 /* No need to invalidate - it was non-present before */ > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4768 update_mmu_cache(dst_vma, dst_addr, dst_pte); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4769 > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4770 spin_unlock(ptl); > b8fb53c3a341b9b Axel Rasmussen 2021-01-22 4771 if (mode != MCOPY_ATOMIC_CONTINUE) > cb6acd01e2e43fd Mike Kravetz 2019-02-28 4772 set_page_huge_active(page); > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4773 if (vm_shared) > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4774 unlock_page(page); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4775 ret = 0; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4776 out: > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4777 return ret; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4778 out_release_unlock: > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4779 spin_unlock(ptl); > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4780 if (vm_shared) > 1c9e8def43a3452 Mike Kravetz 2017-02-22 4781 unlock_page(page); > 5af10dfd0afc559 Andrea Arcangeli 2017-08-10 4782 out_release_nounlock: > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4783 put_page(page); > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4784 goto out; > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4785 } > 8fb5debc5fcd450 Mike Kravetz 2017-02-22 4786 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org