GNU bug report logs - #64445
30.0.50; Android: Emacs cannot access /storage/emulated/0 although other apps can

Previous Next

Package: emacs;

Reported by: Milan Zamazal <pdm <at> zamazal.org>

Date: Mon, 3 Jul 2023 20:13:02 UTC

Severity: normal

Found in version 30.0.50

Full log


View this message in rfc822 format

From: Milan Zamazal <pdm <at> zamazal.org>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 64445 <at> debbugs.gnu.org
Subject: bug#64445: 30.0.50; Android: Emacs cannot access /storage/emulated/0 although other apps can
Date: Wed, 05 Jul 2023 11:44:39 +0200
>>>>> "PL" == Po Lu <luangruo <at> yahoo.com> writes:

    PL> Milan Zamazal <pdm <at> zamazal.org> writes:
    >> W org.gnu.emacs: type=1400 audit(0.0:910): avc: denied { read }
    >> for comm=456D616373206D61696E2074687265 name="/" dev="dm-0" ino=2
    >> scontext=u:r:untrusted_app:s0:c157,c256,c512,c768
    >> tcontext=u:object_r:rootfs:s0 tclass=dir permissive=0

    PL> Right... how exactly are you trying to access /sdcard?  Through
    PL> Dired?

Yes, for example: ‘C-x C-f /sdcard/ RET’

    PL> If so, my guess is that ls-lisp is trying to stat the root file
    PL> system, which is forbidden by some versions of Android.  Would
    PL> you please enable debug-on-error (Options -> Enter Debugger on
    PL> Error) and display the backtrace from whatever file access
    PL> operation complains?

It's this one:

  directory-files-and-attributes("/sdcard/" nil nil t string)

I also tried what happens in ‘M-x shell‘ and for example ‘cat’ does the
same:

  $ cat /sdcard/existent-file
  cat: /sdcard/existent-file: Permission denied
  $ cat /sdcard/non-existent-file
  cat: /sdcard/non-existent-file: No such file or directory

This at least verifies that /sdcard points to the right location.

The same happens in Termux if and only if I remove the given storage
permission from it.  But in Emacs, it happens whether the permission is
given or not.




This bug report was last modified 1 year and 306 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.