diff --git content/browser/child_process_launcher_helper_linux.cc content/browser/child_process_launcher_helper_linux.cc
index e53e60ef146f..9b6db4a69d41 100644
--- content/browser/child_process_launcher_helper_linux.cc
+++ content/browser/child_process_launcher_helper_linux.cc
@@ -164,7 +164,7 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(
 base::File OpenFileToShare(const base::FilePath& path,
                            base::MemoryMappedFile::Region* region) {
   base::FilePath exe_dir;
-  bool result = base::PathService::Get(base::BasePathKey::DIR_EXE, &exe_dir);
+  bool result = base::PathService::Get(base::BasePathKey::DIR_ASSETS, &exe_dir);
   DCHECK(result);
   base::File file(exe_dir.Append(path),
                   base::File::FLAG_OPEN | base::File::FLAG_READ);
diff --git sandbox/linux/suid/client/setuid_sandbox_host.cc sandbox/linux/suid/client/setuid_sandbox_host.cc
index 0aaed76c1dda..517c3d8b5772 100644
--- sandbox/linux/suid/client/setuid_sandbox_host.cc
+++ sandbox/linux/suid/client/setuid_sandbox_host.cc
@@ -120,7 +120,7 @@ bool SetuidSandboxHost::IsDisabledViaEnvironment() {
 base::FilePath SetuidSandboxHost::GetSandboxBinaryPath() {
   base::FilePath sandbox_binary;
   base::FilePath exe_dir;
-  if (base::PathService::Get(base::DIR_EXE, &exe_dir)) {
+  if (base::PathService::Get(base::DIR_ASSETS, &exe_dir)) {
     base::FilePath sandbox_candidate = exe_dir.AppendASCII("chrome-sandbox");
     if (base::PathExists(sandbox_candidate))
       sandbox_binary = sandbox_candidate;
diff --git ui/gl/init/gl_initializer_x11.cc ui/gl/init/gl_initializer_x11.cc
index d9190a957ca2..50bb49eaf56c 100644
--- ui/gl/init/gl_initializer_x11.cc
+++ ui/gl/init/gl_initializer_x11.cc
@@ -86,7 +86,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {
   if (implementation == kGLImplementationSwiftShaderGL) {
 #if BUILDFLAG(ENABLE_SWIFTSHADER)
     base::FilePath module_path;
-    if (!base::PathService::Get(base::DIR_MODULE, &module_path))
+    if (!base::PathService::Get(base::DIR_ASSETS, &module_path))
       return false;
     module_path = module_path.Append("swiftshader/");
 
@@ -97,7 +97,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {
 #endif
   } else if (implementation == kGLImplementationEGLANGLE) {
     base::FilePath module_path;
-    if (!base::PathService::Get(base::DIR_MODULE, &module_path))
+    if (!base::PathService::Get(base::DIR_ASSETS, &module_path))
       return false;
 
     glesv2_path = module_path.Append(kGLESv2ANGLELibraryName);
