]> git.michaelhowe.org Git - packages/o/openafs.git/commit
STABLE12-linux-alloc-avoid-potential-recursion-freeing-memory-and-schedule-when-vmall...
authorDavid Howells <bartbanter@hotmail.com>
Sun, 20 Jan 2002 08:41:28 +0000 (08:41 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sun, 20 Jan 2002 08:41:28 +0000 (08:41 +0000)
commit4cf825c98f163dd2577877cb44d65d6a4d44e53d
treec34ea2d83c4cda9b5ec3d4e596d91cae37148fbe
parent457dd3fb52a5bbbc5c925a9ef4558bfcca0e1766
STABLE12-linux-alloc-avoid-potential-recursion-freeing-memory-and-schedule-when-vmalloc-fails-20020120

"The first is to change the gfp_mask passed to kmalloc(). Using GFP_KERNEL,
  it is possible that the VM will call back to the filesystem to free up
  memory to satisfy the kmalloc request. GFP_NOFS will prevent this possible
  recursion. I believe GFP_NOFS first appeared in the 2.4.6 kernel.

  The second change involves the call to schedule() when vmalloc() fails. This
  can also cause a hang. The schedule() call could be replaced with:

  set_current_state(TASK_INTERRUPTIBLE);
  schedule_timeout(HZ);"
src/afs/LINUX/osi_alloc.c