Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
G
glibc
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
GNU Libc Maintainers
glibc
Compare revisions
4c8d9cd8a158be54ff5364629b0caa5511e4a761 to 5c886105d886183f93084c9e0a0bf20e7ed97479
Compare revisions
Changes are shown as if the
source
revision was being merged into the
target
revision.
Learn more about comparing revisions.
Source
glibc-team/glibc
Select target project
No results found
5c886105d886183f93084c9e0a0bf20e7ed97479
Select Git revision
Swap
Target
glibc-team/glibc
Select target project
Maytha8/glibc
vimerbf-guest/glibc
schopin/glibc
yumeyao/glibc
carlespina/po-debconf-manager-glibc
Claudia/glibc-widevine
andrewsh/glibc
jscott/glibc
bluca/glibc
gioele/glibc
rouca/glibc
sven/glibc
josch/glibc
cjwatson/glibc
fw/glibc
rbalint/glibc
bsd-team/glibc-packaging
glibc-team/glibc
bigon/glibc
ahrex-guest/glibc
friki/glibc
21 results
4c8d9cd8a158be54ff5364629b0caa5511e4a761
Select Git revision
Show changes
Only incoming changes from source
Include changes to target since source was created
Compare
Commits on Source (2)
debian/patches/hurd-i386/git-readlink-fifo.diff: Fix readlink() on fifos
· 1f659a70
Samuel Thibault
authored
2 years ago
1f659a70
Merge branch 'sid' of salsa.debian.org:glibc-team/glibc into glibc-2.35
· 5c886105
Samuel Thibault
authored
2 years ago
5c886105
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
debian/changelog
+6
-0
6 additions, 0 deletions
debian/changelog
debian/patches/hurd-i386/git-readlink-fifo.diff
+58
-0
58 additions, 0 deletions
debian/patches/hurd-i386/git-readlink-fifo.diff
debian/patches/series
+1
-0
1 addition, 0 deletions
debian/patches/series
with
65 additions
and
0 deletions
debian/changelog
View file @
5c886105
...
...
@@ -93,6 +93,12 @@ glibc (2.35-0experimental0) experimental; urgency=medium
-- Aurelien Jarno <aurel32@debian.org> Sun, 07 Aug 2022 22:25:02 +0200
glibc (2.34-9) UNRELEASED; urgency=medium
* debian/patches/hurd-i386/git-readlink-fifo.diff: Fix readlink() on fifos.
-- Samuel Thibault <sthibault@debian.org> Wed, 14 Sep 2022 18:59:18 +0200
glibc (2.34-8) unstable; urgency=medium
[ Samuel Thibault ]
...
...
This diff is collapsed.
Click to expand it.
debian/patches/hurd-i386/git-readlink-fifo.diff
0 → 100644
View file @
5c886105
commit 9e5c991106cb04b489272de0ef6a7a6bcef50477
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Wed Sep 14 18:52:52 2022 +0200
hurd: Fix readlink() hanging on fifo
readlink() opens the target with O_READ to be able to read the symlink
content. When the target is actually a fifo, that would hang waiting for a
writer (caught in the coreutils testsuite). We thus have to first lookup the
target without O_READ to perform io_stat and lookout for fifos, and only
after checking the symlink type, we can re-lookup with O_READ.
diff --git a/sysdeps/mach/hurd/readlink.c b/sysdeps/mach/hurd/readlink.c
index 770462714f..2d75ef7725 100644
--- a/sysdeps/mach/hurd/readlink.c
+++ b/sysdeps/mach/hurd/readlink.c
@@ -31,7 +31,7 @@
__readlink (const char *file_name, char *buf, size_t len)
file_t file;
struct stat64 st;
- file = __file_name_lookup (file_name, O_READ | O_NOLINK, 0);
+ file = __file_name_lookup (file_name, O_NOLINK, 0);
if (file == MACH_PORT_NULL)
return -1;
@@ -41,6 +41,9 @@
__readlink (const char *file_name, char *buf, size_t len)
{
char *rbuf = buf;
+ __mach_port_deallocate (__mach_task_self (), file);
+ file = __file_name_lookup (file_name, O_READ | O_NOLINK, 0);
+
err = __io_read (file, &rbuf, &len, 0, len);
if (!err && rbuf != buf)
{
diff --git a/sysdeps/mach/hurd/readlinkat.c b/sysdeps/mach/hurd/readlinkat.c
index 059aad9f58..113b92b732 100644
--- a/sysdeps/mach/hurd/readlinkat.c
+++ b/sysdeps/mach/hurd/readlinkat.c
@@ -32,7 +32,7 @@
readlinkat (int fd, const char *file_name, char *buf, size_t len)
file_t file;
struct stat64 st;
- file = __file_name_lookup_at (fd, 0, file_name, O_READ | O_NOLINK, 0);
+ file = __file_name_lookup_at (fd, 0, file_name, O_NOLINK, 0);
if (file == MACH_PORT_NULL)
return -1;
@@ -42,6 +42,9 @@
readlinkat (int fd, const char *file_name, char *buf, size_t len)
{
char *rbuf = buf;
+ __mach_port_deallocate (__mach_task_self (), file);
+ file = __file_name_lookup_at (fd, 0, file_name, O_READ | O_NOLINK, 0);
+
err = __io_read (file, &rbuf, &len, 0, len);
if (!err && rbuf != buf)
{
This diff is collapsed.
Click to expand it.
debian/patches/series
View file @
5c886105
...
...
@@ -39,6 +39,7 @@ hurd-i386/git-bootstrap-enable_secure.diff
hurd-i386/git-cond-destroy.diff
hurd-i386/git-strerror_X.diff
hurd-i386/git-xpg_strerror.diff
hurd-i386/git-readlink-fifo.diff
hurd-i386/local-enable-ldconfig.diff
hurd-i386/tg-sysvshm.diff
...
...
This diff is collapsed.
Click to expand it.