On Mon, Mar 16, 2026 at 2:13 PM Lorenzo Stoakes (Oracle) <[email protected]> wrote: > > The f_op->mmap interface is deprecated, so update driver to use its > successor, mmap_prepare. > > The driver previously used vm_iomap_memory(), so this change replaces it > with its mmap_prepare equivalent, mmap_action_simple_ioremap(). > > Signed-off-by: Lorenzo Stoakes (Oracle) <[email protected]>
Reviewed-by: Suren Baghdasaryan <[email protected]> > --- > drivers/misc/open-dice.c | 19 +++++++++++-------- > 1 file changed, 11 insertions(+), 8 deletions(-) > > diff --git a/drivers/misc/open-dice.c b/drivers/misc/open-dice.c > index 24c29e0f00ef..45060fb4ea27 100644 > --- a/drivers/misc/open-dice.c > +++ b/drivers/misc/open-dice.c > @@ -86,29 +86,32 @@ static ssize_t open_dice_write(struct file *filp, const > char __user *ptr, > /* > * Creates a mapping of the reserved memory region in user address space. > */ > -static int open_dice_mmap(struct file *filp, struct vm_area_struct *vma) > +static int open_dice_mmap_prepare(struct vm_area_desc *desc) > { > + struct file *filp = desc->file; > struct open_dice_drvdata *drvdata = to_open_dice_drvdata(filp); > > - if (vma->vm_flags & VM_MAYSHARE) { > + if (vma_desc_test(desc, VMA_MAYSHARE_BIT)) { > /* Do not allow userspace to modify the underlying data. */ > - if (vma->vm_flags & VM_WRITE) > + if (vma_desc_test(desc, VMA_WRITE_BIT)) > return -EPERM; > /* Ensure userspace cannot acquire VM_WRITE later. */ > - vm_flags_clear(vma, VM_MAYWRITE); > + vma_desc_clear_flags(desc, VMA_MAYWRITE_BIT); > } > > /* Create write-combine mapping so all clients observe a wipe. */ > - vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); > - vm_flags_set(vma, VM_DONTCOPY | VM_DONTDUMP); > - return vm_iomap_memory(vma, drvdata->rmem->base, drvdata->rmem->size); > + desc->page_prot = pgprot_writecombine(desc->page_prot); > + vma_desc_set_flags(desc, VMA_DONTCOPY_BIT, VMA_DONTDUMP_BIT); > + mmap_action_simple_ioremap(desc, drvdata->rmem->base, > + drvdata->rmem->size); > + return 0; > } > > static const struct file_operations open_dice_fops = { > .owner = THIS_MODULE, > .read = open_dice_read, > .write = open_dice_write, > - .mmap = open_dice_mmap, > + .mmap_prepare = open_dice_mmap_prepare, > }; > > static int __init open_dice_probe(struct platform_device *pdev) > -- > 2.53.0 >

