[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/5] hurd: Fix calling vm_deallocate (NULL)
From: |
Samuel Thibault |
Subject: |
Re: [PATCH 3/5] hurd: Fix calling vm_deallocate (NULL) |
Date: |
Mon, 3 Jul 2023 01:28:34 +0200 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Applied, thanks!
Sergey Bugaev, le lun. 26 juin 2023 02:17:49 +0300, a ecrit:
> Only call vm_deallocate when we do have the old buffer, and check for
> unexpected errors.
>
> Spotted while debugging a msgids/readdir issue on x86_64-gnu.
>
> Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
> ---
> sysdeps/mach/hurd/readdir64.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/sysdeps/mach/hurd/readdir64.c b/sysdeps/mach/hurd/readdir64.c
> index 2c01ca22..2d946793 100644
> --- a/sysdeps/mach/hurd/readdir64.c
> +++ b/sysdeps/mach/hurd/readdir64.c
> @@ -64,9 +64,13 @@ __readdir64 (DIR *dirp)
> /* The data was passed out of line, so our old buffer is no
> longer useful. Deallocate the old buffer and reset our
> information for the new buffer. */
> - __vm_deallocate (__mach_task_self (),
> - (vm_address_t) dirp->__data,
> - dirp->__allocation);
> + if (dirp->__data != NULL)
> + {
> + err = __vm_deallocate (__mach_task_self (),
> + (vm_address_t) dirp->__data,
> + dirp->__allocation);
> + assert_perror (err);
> + }
> dirp->__data = data;
> dirp->__allocation = round_page (dirp->__size);
> }
> --
> 2.41.0
>
>
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH 3/5] hurd: Fix calling vm_deallocate (NULL),
Samuel Thibault <=