Re: [PATCH] mm: Change return type to vm_fault_t

From: Souptick Joarder
Date: Tue May 29 2018 - 11:55:14 EST


On Tue, May 29, 2018 at 8:20 PM, Matthew Wilcox <willy@xxxxxxxxxxxxx> 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 ?