mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 04:21:09 -04:00
um: drivers: call kernel_strrchr() explicitly in cow_user.c
Building ARCH=um on glibc >= 2.43 fails:
arch/um/drivers/cow_user.c: error: implicit declaration of
function 'strrchr' [-Wimplicit-function-declaration]
glibc 2.43's C23 const-preserving strrchr() macro does not survive
UML's global -Dstrrchr=kernel_strrchr remap from arch/um/Makefile.
Call kernel_strrchr() directly in cow_user.c so the source no longer
depends on the -D rewrite.
Fixes: 2c51a4bc02 ("um: fix strrchr() problems")
Suggested-by: Johannes Berg <johannes@sipsolutions.net>
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-4-6
Assisted-by: Codex:gpt-5-4
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
Link: https://patch.msgid.link/20260408070102.2325572-1-michael.bommarito@gmail.com
[remove unnecessary 'extern']
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
committed by
Johannes Berg
parent
8aae2da610
commit
91e901c65b
@@ -15,6 +15,12 @@
|
||||
#include "cow.h"
|
||||
#include "cow_sys.h"
|
||||
|
||||
/*
|
||||
* arch/um/Makefile remaps strrchr to kernel_strrchr; call the kernel
|
||||
* name directly to avoid glibc >= 2.43's C23 strrchr macro.
|
||||
*/
|
||||
char *kernel_strrchr(const char *, int);
|
||||
|
||||
#define PATH_LEN_V1 256
|
||||
|
||||
/* unsigned time_t works until year 2106 */
|
||||
@@ -153,7 +159,7 @@ static int absolutize(char *to, int size, char *from)
|
||||
errno);
|
||||
return -1;
|
||||
}
|
||||
slash = strrchr(from, '/');
|
||||
slash = kernel_strrchr(from, '/');
|
||||
if (slash != NULL) {
|
||||
*slash = '\0';
|
||||
if (chdir(from)) {
|
||||
|
||||
Reference in New Issue
Block a user