---
name: "vm_insert_pfn_prot"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/vm_insert_pfn_prot"
---

# vm\_insert\_pfn\_prot(9)

insert single pfn into user vma with specified pgprot

## NAME

vm\_insert\_pfn\_prot - insert single pfn into user vma with specified pgprot

## SYNOPSIS

**int vm\_insert\_pfn\_prot(struct vm\_area\_struct \*** *vma***, unsigned long** *addr***, unsigned long** *pfn***, pgprot\_t** *pgprot***);**

## ARGUMENTS

*vma*

user vma to map to

*addr*

target user address of this page

*pfn*

source kernel pfn

*pgprot*

pgprot flags for the inserted page

## DESCRIPTION

This is exactly like vm\_insert\_pfn, except that it allows drivers to to override pgprot on a per-page basis.

This only makes sense for IO mappings, and it makes no sense for cow mappings. In general, using multiple vmas is preferable; vm\_insert\_pfn\_prot should only be used if using multiple VMAs is impractical.

## COPYRIGHT
