Bug 1912670
Summary: | semctl SEM_STAT_ANY fails to pass the buffer specified by the caller to the kernel | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Li Wang <liwan> |
Component: | glibc | Assignee: | Carlos O'Donell <codonell> |
Status: | CLOSED ERRATA | QA Contact: | Sergey Kolosov <skolosov> |
Severity: | low | Docs Contact: | Eva-Lotte Gebhardt <egebhard> |
Priority: | low | ||
Version: | 8.4 | CC: | ashankar, codonell, dj, fweimer, mnewsome, pfrankli, pifang, rasibley, sipoyare |
Target Milestone: | pre-dev-freeze | Keywords: | Bugfix, Patch, Triaged |
Target Release: | 8.5 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | glibc-2.28-153.el8 | Doc Type: | Bug Fix |
Doc Text: |
.The `semctl` system call wrapper in `glibc` now treats `SEM_STAT_ANY` like `SEM_STAT`
Previously, the `semctl` system call wrapper in `glibc` did not treat the kernel argument `SEM_STAT_ANY` like `SEM_STAT`. As a result, `glibc` did not pass the address of the result object `struct semid_ds` to the kernel, so that the kernel failed to update it. With this update, `glibc` now treats `SEM_STAT_ANY` like `SEM_STAT`, and as a result, applications can obtain `struct semid_ds` data using `SEM_STAT_ANY`.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2021-11-09 19:28:09 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Li Wang
2021-01-05 06:06:18 UTC
commit 574500a108be1d2a6a0dc97a075c9e0a98371aba Author: Dmitry V. Levin <ldv> Date: Tue Sep 29 14:10:20 2020 -0300 sysvipc: Fix SEM_STAT_ANY kernel argument pass [BZ #26637] Handle SEM_STAT_ANY the same way as SEM_STAT so that the buffer argument of SEM_STAT_ANY is properly passed to the kernel and back. The regression testcase checks for Linux specifix SysV ipc message control extension. For IPC_INFO/SEM_INFO it tries to match the values against the tunable /proc values and for SEM_STAT/SEM_STAT_ANY it check if the create message queue is within the global list returned by the kernel. Checked on x86_64-linux-gnu and on i686-linux-gnu (Linux v5.4 and on Linux v4.15). Co-authored-by: Adhemerval Zanella <adhemerval.zanella> No regressions have been found. Hi Carlos, I am Eva, a tech writer for the devtools team. Nice to meet you! This is my first draft for this bugfix RN, and I'd be very happy if you could give some feedback on this. Thank you very much! .The `semctl` system call wrapper in `glibc` now treats `SEM_STAT_ANY` like `SEM_STAT` Previously, the `semctl` system call wrapper in `glibc` did not treat the kernel argument `SEM_STAT_ANY` like `SEM_STAT`. As a result, `glibc` did not properly pass the address of the result object `struct semid_ds` to the kernel so that the kernel failed to update it properly. With this update, `SEM_STAT_ANY` is now treated like `SEM_STAT` by glibc, and as a result, applications can obtain `struct semid_ds` data using `SEM_STAT_ANY`. (In reply to Eva-Lotte Gebhardt from comment #11) > .The `semctl` system call wrapper in `glibc` now treats `SEM_STAT_ANY` like > `SEM_STAT` > > Previously, the `semctl` system call wrapper in `glibc` did not treat the > kernel argument `SEM_STAT_ANY` like `SEM_STAT`. As a result, `glibc` did not > properly pass the address of the result object `struct semid_ds` to the > kernel so that the kernel failed to update it properly. With this update, > `SEM_STAT_ANY` is now treated like `SEM_STAT` by glibc, and as a result, > applications can obtain `struct semid_ds` data using `SEM_STAT_ANY`. This looks good to me. Thanks for the review. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: glibc security, bug fix, and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:4358 |