From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f199.google.com (mail-pf0-f199.google.com [209.85.192.199]) by kanga.kvack.org (Postfix) with ESMTP id 687976B0003 for ; Tue, 29 May 2018 13:35:37 -0400 (EDT) Received: by mail-pf0-f199.google.com with SMTP id x21-v6so9328914pfn.23 for ; Tue, 29 May 2018 10:35:37 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id c11-v6si31718335pls.76.2018.05.29.10.35.36 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 29 May 2018 10:35:36 -0700 (PDT) Date: Tue, 29 May 2018 10:34:45 -0700 From: Matthew Wilcox Subject: Re: [PATCH] mm: Change return type to vm_fault_t Message-ID: <20180529173445.GD15148@bombadil.infradead.org> References: <20180529143126.GA19698@jordon-HP-15-Notebook-PC> <20180529145055.GA15148@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Souptick Joarder Cc: Al Viro , Hugh Dickins , Andrew Morton , Michal Hocko , Ross Zwisler , zi.yan@cs.rutgers.edu, "Kirill A. Shutemov" , Dan Williams , Greg KH , Mark Rutland , riel@redhat.com, pasha.tatashin@oracle.com, jschoenh@amazon.de, Kate Stewart , David Rientjes , tglx@linutronix.de, Peter Zijlstra , Mel Gorman , yang.s@alibaba-inc.com, Minchan Kim , linux-fsdevel , linux-kernel@vger.kernel.org, Linux-MM On Tue, May 29, 2018 at 09:25:05PM +0530, Souptick Joarder wrote: > On Tue, May 29, 2018 at 8:20 PM, Matthew Wilcox wrote: > > On Tue, May 29, 2018 at 08:01:26PM +0530, Souptick Joarder wrote: > >> Use new return type vm_fault_t for fault handler. For > >> now, this is just documenting that the function returns > >> a VM_FAULT value rather than an errno. Once all instances > >> are converted, vm_fault_t will become a distinct type. > > > > I don't believe you've checked this with sparse. > > > >> @@ -802,7 +802,8 @@ int fixup_user_fault(struct task_struct *tsk, struct mm_struct *mm, > >> bool *unlocked) > >> { > >> struct vm_area_struct *vma; > >> - int ret, major = 0; > >> + int major = 0; > >> + vm_fault_t ret; > >> > >> if (unlocked) > >> fault_flags |= FAULT_FLAG_ALLOW_RETRY; > > > > ... > > major |= ret & VM_FAULT_MAJOR; > > > > That should be throwing a warning. > > Sorry, but I verified again and didn't see similar warnings. > > steps followed - > > apply the patch > make c=2 -j4 ( build for x86_64) > looking for warnings in files because of this patch. > > The only error I am seeing "error: undefined identifier '__COUNTER__' " > which is pointing to BUG(). There are few warnings but those are not > related to this patch. > > In my test tree the final patch to create new vm_fault_t type is > already applied. > > Do you want me to verify in some other way ? I see: mm/gup.c:817:15: warning: invalid assignment: |= mm/gup.c:817:15: left side has type int mm/gup.c:817:15: right side has type restricted vm_fault_t are you building with 'c=2' or 'C=2'?