qcacmn: Remove vma from vm_operations_struct->fault handler
Linux kernel 4.10 removes the vm_area_struct parameter from the vm_operations_struct->fault handler. Add conditional compilation to provided the appropriate fault handler signature based on the version of the Linux kernel being compiled against. Change-Id: I467f4d8426ecfa55e4f2aac26a5326901239a752 CRs-Fixed: 2094824
This commit is contained in:
@@ -1003,7 +1003,8 @@ static inline unsigned long pktlog_get_fault_address(struct vm_fault *vmf)
|
||||
}
|
||||
#endif /* KERNEL_VERSION(4, 10, 0) */
|
||||
|
||||
static int pktlog_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
static int
|
||||
pktlog_fault_handler(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
{
|
||||
unsigned long address = pktlog_get_fault_address(vmf);
|
||||
|
||||
@@ -1018,6 +1019,18 @@ static int pktlog_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
||||
static int pktlog_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
{
|
||||
return pktlog_fault_handler(vma, vmf);
|
||||
}
|
||||
#else
|
||||
static int pktlog_fault(struct vm_fault *vmf)
|
||||
{
|
||||
return pktlog_fault_handler(vmf->vma, vmf);
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct vm_operations_struct pktlog_vmops = {
|
||||
open: pktlog_vopen,
|
||||
close:pktlog_vclose,
|
||||
|
Reference in New Issue
Block a user