--- lin_tape-3.0.52/lin_tape_scsi_tape.c~ 2020-03-05 19:43:09.000000000 +0100 +++ lin_tape-3.0.52/lin_tape_scsi_tape.c 2020-08-16 18:55:05.857678020 +0200 @@ -11533,7 +11533,11 @@ memset(pages, '\0', drv->supported_sg_tablesize * sizeof(struct page*)); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0) down_read(¤t->mm->mmap_sem); +#else + mmap_read_lock(current->mm); +#endif #if LINUX_VERSION_CODE == KERNEL_VERSION(4,4,73) \ || (LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,92) && LINUX_VERSION_CODE < KERNEL_VERSION(4,4,103)) \ || defined(SLESKERNEL_4_4_103_6) \ @@ -11548,7 +11552,11 @@ mapped_pages = get_user_pages(current, current->mm, (ulong)user_location, number_pages, rw, 0, pages, NULL); #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,8,0) up_read(¤t->mm->mmap_sem); +#else + mmap_read_unlock(current->mm); +#endif if(mapped_pages < number_pages) { rc = -EFAULT;