[PATCH] hugepages: close fd on error path in __get_thp_mode

H.J. Lu hjl.tools@gmail.com
Thu Apr 30 12:25:40 GMT 2026


On Thu, Apr 30, 2026 at 8:20 PM Shamil Abdulaev <ashamil435@gmail.com> wrote:
>
> H.J. Lu <hjl.tools@gmail.com>:
>>
>> On Thu, Apr 30, 2026 at 7:38 AM Shamil Abdulaev <ashamil435@gmail.com> wrote:
>> >
>> > If __read_nocancel fails or overflows the buffer, the function returned
>> > without closing the /sys/kernel/mm/transparent_hugepage/enabled fd.
>> >
>> > Found while investigating BZ #34083.
>> >
>> > Signed-off-by: Shamil Abdulaev <ashamil435@gmail.com>
>> > ---
>> >  sysdeps/unix/sysv/linux/hugepages.c | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/sysdeps/unix/sysv/linux/hugepages.c b/sysdeps/unix/sysv/linux/hugepages.c
>> > index 707a75c2a2..46e05151a3 100644
>> > --- a/sysdeps/unix/sysv/linux/hugepages.c
>> > +++ b/sysdeps/unix/sysv/linux/hugepages.c
>> > @@ -61,10 +61,10 @@ __get_thp_mode (void)
>> >
>> >    char str[sizeof(mode_always)];
>> >    ssize_t s = __read_nocancel (fd, str, sizeof (str));
>> > +  __close_nocancel (fd);
>> >    if (s >= sizeof str || s < 0)
>> >      return thp_mode_not_supported;
>> >    str[s] = '\0';
>> > -  __close_nocancel (fd);
>> >
>> >    if (s == sizeof (mode_always) - 1)
>> >      {
>> > --
>> > 2.54.0
>> >
>>
>> LGTM.
>>
>> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
>>
>> Thanks.
>>
>> --
>> H.J.
>
>
> Thanks for the review!
>
> I don't have commit access to glibc -- could you push this on my behalf
> when convenient? Happy to rebase or address anything if needed.
>
>

Done.


-- 
H.J.


More information about the Libc-alpha mailing list