> Date: Fri, 11 Aug 2023 20:12:19 +0200
> From: Martin Pieuchot <m...@openbsd.org>
> 
> Here's a simple diff to add some more sanity checks in uvm_pagelookup().
> 
> Nothing fancy, it helps documenting the flags and reduce the difference
> with NetBSD.  This is part of my on-going work on UVM.
> 
> ok?

NetBSD really has that extra blank line after the return?

> Index: uvm/uvm_page.c
> ===================================================================
> RCS file: /cvs/src/sys/uvm/uvm_page.c,v
> retrieving revision 1.172
> diff -u -p -r1.172 uvm_page.c
> --- uvm/uvm_page.c    13 May 2023 09:24:59 -0000      1.172
> +++ uvm/uvm_page.c    11 Aug 2023 17:55:43 -0000
> @@ -1219,10 +1219,16 @@ struct vm_page *
>  uvm_pagelookup(struct uvm_object *obj, voff_t off)
>  {
>       /* XXX if stack is too much, handroll */
> -     struct vm_page pg;
> +     struct vm_page p, *pg;
> +
> +     p.offset = off;
> +     pg = RBT_FIND(uvm_objtree, &obj->memt, &p);
> +
> +     KASSERT(pg == NULL || obj->uo_npages != 0);
> +     KASSERT(pg == NULL || (pg->pg_flags & PG_RELEASED) == 0 ||
> +         (pg->pg_flags & PG_BUSY) != 0);
> +     return (pg);
>  
> -     pg.offset = off;
> -     return RBT_FIND(uvm_objtree, &obj->memt, &pg);
>  }
>  
>  /*
> 
> 

Reply via email to