In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.
In the Linux kernel, the following vulnerability has been resolved:mm/gup: fix memfd_pin_folios alloc race panicIf memfd_pin_folios tries to create a hugetlb page, but someone elsealready did, then folio gets the value -EEXIST here: folio = memfd_alloc_folio(memfd, start_idx); if (IS_ERR(folio)) { ret = PTR_ERR(folio); if (ret != -EEXIST) goto err;then on the next trip through the while start_idx loop we panic here: if (folio) { folio_put(folio);To fix, set the folio to NULL on error.