]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r288281
authoralc <alc@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 3 Oct 2015 07:43:33 +0000 (07:43 +0000)
committeralc <alc@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 3 Oct 2015 07:43:33 +0000 (07:43 +0000)
commit15e5e6febda74ad0c068e58c9f7a0a920ed10760
treea013b6ea01fdfe2e5dd3021055a3b14810eb85f5
parent39912fa3078936fc6c7f95227dba65a52843567a
MFC r288281
  The conversion of kmem_alloc_attr() from operating on a vm map to a vmem
  arena in r254025 introduced a bug in the case when an allocation is only
  partially successful.  Specifically, the vm object lock was not being
  acquired before freeing the allocated pages.  To address this bug, replace
  the existing code by a call to kmem_unback().

  Change the type of a variable in kmem_alloc_attr() so that an allocation
  of two or more gigabytes won't fail.

  Replace the error handling code in kmem_back() by a call to kmem_unback().

git-svn-id: svn://svn.freebsd.org/base/stable/10@288556 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/vm/vm_kern.c