qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1813307] [NEW] util/path.c/follow_path() does not hand


From: Christophe Lyon
Subject: [Qemu-devel] [Bug 1813307] [NEW] util/path.c/follow_path() does not handle "/" well
Date: Fri, 25 Jan 2019 14:17:10 -0000

Public bug reported:

Hello,

I noticed that qemu does not handle "/" very well in follow_path().

Specifically, I was trying to run gdbserver under qemu, and it failed
inside its implementation of __getcwd.

Indeed it does something like
  if (__lstat ("/", &st) < 0)
.....
and then loops from current dir toward the top using lstat("..")

On qemu side, lstat forwards the request to follow_path() in util/path.c, and 
when passed "/", it returns the path in QEMU_LD_PREFIX (which was the top of my 
sysroot).
OTHT, the series of lstat("..") finally reaches the real device root because 
it's not recognized as "/" in follow_path(), so this is inconsistent and 
__getcwd fails.

I suppose there's a good reason for returning QEMU_LD_PREFIX when asking
for "/", but why is it so?

If there's no good reason, maybe the behaviour could be changed to map
"/" to "/" ?

Thanks

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1813307

Title:
  util/path.c/follow_path() does not handle "/" well

Status in QEMU:
  New

Bug description:
  Hello,

  I noticed that qemu does not handle "/" very well in follow_path().

  Specifically, I was trying to run gdbserver under qemu, and it failed
  inside its implementation of __getcwd.

  Indeed it does something like
    if (__lstat ("/", &st) < 0)
  .....
  and then loops from current dir toward the top using lstat("..")

  On qemu side, lstat forwards the request to follow_path() in util/path.c, and 
when passed "/", it returns the path in QEMU_LD_PREFIX (which was the top of my 
sysroot).
  OTHT, the series of lstat("..") finally reaches the real device root because 
it's not recognized as "/" in follow_path(), so this is inconsistent and 
__getcwd fails.

  I suppose there's a good reason for returning QEMU_LD_PREFIX when
  asking for "/", but why is it so?

  If there's no good reason, maybe the behaviour could be changed to map
  "/" to "/" ?

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1813307/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]