From unknown Fri Sep 19 23:02:06 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#65599 <65599@debbugs.gnu.org> To: bug#65599 <65599@debbugs.gnu.org> Subject: Status: mv and cp give a pointless warning when moving/copying a directory Reply-To: bug#65599 <65599@debbugs.gnu.org> Date: Sat, 20 Sep 2025 06:02:06 +0000 retitle 65599 mv and cp give a pointless warning when moving/copying a dire= ctory reassign 65599 coreutils submitter 65599 Bruno Haible severity 65599 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 29 14:20:30 2023 Received: (at submit) by debbugs.gnu.org; 29 Aug 2023 18:20:30 +0000 Received: from localhost ([127.0.0.1]:51530 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qb3KG-0001Di-Uj for submit@debbugs.gnu.org; Tue, 29 Aug 2023 14:20:30 -0400 Received: from lists.gnu.org ([2001:470:142::17]:42264) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qb3KC-0001DP-7L for submit@debbugs.gnu.org; Tue, 29 Aug 2023 14:20:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qb3Jz-0002lp-BX for bug-coreutils@gnu.org; Tue, 29 Aug 2023 14:20:11 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([85.215.255.25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qb3Jt-00044N-Sm for bug-coreutils@gnu.org; Tue, 29 Aug 2023 14:20:11 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1693333202; cv=none; d=strato.com; s=strato-dkim-0002; b=q9M7j3+s0/w4jf6+f6iIsDqbQgJFGfrvSmfFvAUp9+iTiCf/4FpbROiX5O1cvYIga2 nm9mILO58iVlKl61bwtqctUt5zm9LOddMeyzWyGIFsm0rwlodkP9YIHF29SKmQvOEj4F HX24oRZ/SjHggLotq38WnWSKfO7ibBLLqnB7Ig5QxBWh5yCKISIabw7Gm0ZZ7k7zNVoB CXAfX0qW9FSCB6JGdLlEtNsDTNmeJ5ao7h/ghhDi7HsR9bbH7V4pQpVgupaEsay50DAE bansrqWTJqTDOlAJp90JTfvWeBu2htltdSeyV3dV5227fxJ4CqkXMycZSsMKn1AFXzia T2NA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1693333202; s=strato-dkim-0002; d=strato.com; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=XPdM56ZTYzPS1Rr+cSgs3CLAvXYqWCDDbQ9w5VccFfQ=; b=ihkCVkfMPqZSRnk67FzafuO3KbFSsiW+B3CvAPelq2YxsqpdzO261dr2ziov6fOoYV k3Z2WHpL5BQ/SlzWyx0RR8APB5NwtGMkfy9rReWwdsSCQTBNOyAeM8EcVRZACxfDF1nj vtETdd4CKhwZc/YMi8+qVSNjYKS4zFnGlcLswnanCLiF7NylxNr4JcbJkdfPjGx94ZzW OIjgxkQ4P06a/UE45n6acqnxsUlg/wQm5P7Ev4+HDKhYD1Fx1CkFOpiZuTPg5S82x8Rp IgN26a8jzO8K+3Nwb2Sr15v2XxqoEIZg0HxI+VKex93jpgqydLogElB0KKcWDNR01Dm0 pbhA== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1693333202; s=strato-dkim-0002; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=XPdM56ZTYzPS1Rr+cSgs3CLAvXYqWCDDbQ9w5VccFfQ=; b=Jt1fzZN8bj3+JuPcuf9lV+z8w1JOMJ2jf7irRT/pvGK45L8oe9AeSlIydiqNyfw1r+ FMpvJ33ajSbQE16+NIrInAc/zM5Zu3Tc2L7AQsamUIlc28GD+lhNukeXjHaWGRPsPvpt nT7ilY+yOMFlCBLaHI0LtQEFgKCBGboQosm9UNHlrwFqX28LpDEakkNnq4Qoadd/aHPj lnHIIT2FxPgDqn/ULW9uJYGYu1vF120fT2rYKJVC9cptRdGk7O3vzAhWOYAhnsAEpJJU OaYF2BKFAW6NGt1MAExkZ01cgH5EqqE5meYppvxBcW9d3amQ+HByDWzMcmsL6Zg26bBB Xo3w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1693333202; s=strato-dkim-0003; d=clisp.org; h=Message-ID:Date:Subject:To:From:Cc:Date:From:Subject:Sender; bh=XPdM56ZTYzPS1Rr+cSgs3CLAvXYqWCDDbQ9w5VccFfQ=; b=yusYbJyTzOup64xNRJqvHruiMVkn/j6976ubjH9LFan7OSCqLqfm45caQgzJPhb9Pv /IBqdH3B44ZXhGg2UwBg== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOT3aPlTQ/WewLNdMHUOYS0vR8f7A==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.8.1 AUTH) with ESMTPSA id v2e18cz7TIK25wm (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Tue, 29 Aug 2023 20:20:02 +0200 (CEST) From: Bruno Haible To: bug-coreutils@gnu.org Subject: mv and cp give a pointless warning when moving/copying a directory Date: Tue, 29 Aug 2023 20:20:02 +0200 Message-ID: <2119537.OBFZWjSADL@nimes> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart2185001.NgBsaNRSFp" Content-Transfer-Encoding: 7Bit Received-SPF: none client-ip=85.215.255.25; envelope-from=bruno@clisp.org; helo=mo4-p00-ob.smtp.rzone.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --nextPart2185001.NgBsaNRSFp Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" When I move a directory from an ext4 file system to a CIFS v1 file system, I get a diagnostic mv: failed to preserve ownership for '...': Permission denied although the owner and group of the directory after and before the move are the same. So, there is actually nothing to warn about. $ mv --version mv (GNU coreutils) 9.3.147-d553ab Copyright (C) 2023 Free Software Foundation, Inc. ... $ mkdir dir1 $ echo foo > dir1/file1 $ ls -ld dir1 drwxrwxr-x 2 bruno bruno 4096 Aug 26 19:38 dir1 $ strace -o /tmp/mv.log mv dir1 /media/nas/bruno/dir1 mv: failed to preserve ownership for '/media/nas/bruno/dir1': Permission denied $ echo $? 0 $ ls -ld /media/nas/bruno/dir1 drwxrwxr-x 2 bruno bruno 0 Aug 26 19:38 /media/nas/bruno/dir1 Find attached the strace log file. The essential line is fchownat(AT_FDCWD, "/media/nas/bruno/dir1", 1000, 1000, AT_SYMLINK_NOFOLLOW) = -1 EACCES (Permission denied) People say that "chown only works for root anyway" [1], but it's certainly safer to try the chown nevertheless, because - the current user might not be root but might have non-standard capabilities. - the target file system may be reporting failure but may do the requested action nevertheless, - the target file system might map uids (think of NFS or CIFS [2]). However, the diagnostic should be omitted if the 'mv' program can verify that the uid and gid of the directory on the target file system is the same as on the source file system. Likewise for the 'cp' program: $ cp --version cp (GNU coreutils) 9.3.147-d553ab ... Written by Torbjorn Granlund, David MacKenzie, and Jim Meyering. $ mkdir dir2 $ echo foo > dir2/file2 $ ls -ld dir2 drwxrwxr-x 2 bruno bruno 4096 Aug 29 20:15 dir2 $ strace -o /tmp/cp.log cp dir2 /media/nas/bruno/dir2 $ strace -o /tmp/cp.log cp -a dir2 /media/nas/bruno/dir2 cp: failed to preserve ownership for '/media/nas/bruno/dir2': Permission denied $ ls -ld /media/nas/bruno/dir2 drwx------ 2 bruno bruno 0 Aug 29 20:15 /media/nas/bruno/dir2 Here, in cp.log, the essential line is: fchownat(AT_FDCWD, "/media/nas/bruno/dir2", 1000, 1000, AT_SYMLINK_NOFOLLOW) = -1 EACCES (Permission denied) Bruno [1] https://lists.gnu.org/archive/html/emacs-devel/2009-10/msg00094.html [2] https://linux.die.net/man/8/mount.cifs --nextPart2185001.NgBsaNRSFp Content-Disposition: attachment; filename="mv.log" Content-Transfer-Encoding: 7Bit Content-Type: text/x-log; charset="utf-8"; name="mv.log" execve("/media/develdata/devel/build/coreutils-9.3.147-d553ab/build-64/src/mv", ["mv", "dir1", "/media/nas/bruno/dir1"], 0x7ffd93a100d0 /* 76 vars */) = 0 brk(NULL) = 0xc7d000 arch_prctl(0x3001 /* ARCH_??? */, 0x7ffc663bc920) = -1 EINVAL (Invalid argument) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3771429000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=130427, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 130427, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3771409000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=166280, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 177672, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f37713dd000 mprotect(0x7f37713e3000, 139264, PROT_NONE) = 0 mmap(0x7f37713e3000, 106496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f37713e3000 mmap(0x7f37713fd000, 28672, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0x7f37713fd000 mmap(0x7f3771405000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x7f3771405000 mmap(0x7f3771407000, 5640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3771407000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libacl.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=34888, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 36896, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f37713d3000 mprotect(0x7f37713d5000, 24576, PROT_NONE) = 0 mmap(0x7f37713d5000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f37713d5000 mmap(0x7f37713d9000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f37713d9000 mmap(0x7f37713db000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f37713db000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libattr.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=26696, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 28696, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f37713cb000 mmap(0x7f37713cd000, 12288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f37713cd000 mmap(0x7f37713d0000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f37713d0000 mmap(0x7f37713d1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7f37713d1000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\237\2\0\0\0\0\0"..., 832) = 832 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 48, 848) = 48 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0i8\235HZ\227\223\333\350s\360\352,\223\340."..., 68, 896) = 68 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2216304, ...}, AT_EMPTY_PATH) = 0 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 mmap(NULL, 2260560, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f37711a3000 mmap(0x7f37711cb000, 1658880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f37711cb000 mmap(0x7f3771360000, 360448, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bd000) = 0x7f3771360000 mmap(0x7f37713b8000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x214000) = 0x7f37713b8000 mmap(0x7f37713be000, 52816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f37713be000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=613064, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 615184, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f377110c000 mmap(0x7f377110e000, 438272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f377110e000 mmap(0x7f3771179000, 163840, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6d000) = 0x7f3771179000 mmap(0x7f37711a1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x94000) = 0x7f37711a1000 close(3) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f377110a000 arch_prctl(ARCH_SET_FS, 0x7f377110b340) = 0 set_tid_address(0x7f377110b610) = 523266 set_robust_list(0x7f377110b620, 24) = 0 rseq(0x7f377110bce0, 0x20, 0, 0x53053053) = 0 mprotect(0x7f37713b8000, 16384, PROT_READ) = 0 mprotect(0x7f37711a1000, 4096, PROT_READ) = 0 mprotect(0x7f37713d1000, 4096, PROT_READ) = 0 mprotect(0x7f37713db000, 4096, PROT_READ) = 0 mprotect(0x7f3771405000, 4096, PROT_READ) = 0 mprotect(0x423000, 4096, PROT_READ) = 0 mprotect(0x7f3771463000, 8192, PROT_READ) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 munmap(0x7f3771409000, 130427) = 0 statfs("/sys/fs/selinux", 0x7ffc663bc960) = -1 ENOENT (No such file or directory) statfs("/selinux", 0x7ffc663bc960) = -1 ENOENT (No such file or directory) getrandom("\x41\x99\x95\x8c\x2e\x8b\x96\x99", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0xc7d000 brk(0xc9e000) = 0xc9e000 openat(AT_FDCWD, "/proc/filesystems", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(3, "nodev\tsysfs\nnodev\ttmpfs\nnodev\tbd"..., 1024) = 436 read(3, "", 1024) = 0 close(3) = 0 access("/etc/selinux/config", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=32189728, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 32189728, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f376f257000 close(3) = 0 geteuid() = 1000 ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0 renameat2(AT_FDCWD, "dir1", AT_FDCWD, "/media/nas/bruno/dir1", RENAME_NOREPLACE) = -1 EXDEV (Invalid cross-device link) openat(AT_FDCWD, "/media/nas/bruno/dir1", O_RDONLY|O_PATH|O_DIRECTORY) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "dir1", {st_mode=S_IFDIR|0775, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/media/nas/bruno/dir1", 0x7ffc663bc5c0, AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory) unlinkat(AT_FDCWD, "/media/nas/bruno/dir1", AT_REMOVEDIR) = -1 ENOENT (No such file or directory) mkdirat(AT_FDCWD, "/media/nas/bruno/dir1", 0700) = 0 newfstatat(AT_FDCWD, "/media/nas/bruno/dir1", {st_mode=S_IFDIR|0700, st_size=0, ...}, AT_SYMLINK_NOFOLLOW) = 0 openat(AT_FDCWD, "dir1", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 newfstatat(3, "", {st_mode=S_IFDIR|0775, st_size=4096, ...}, AT_EMPTY_PATH) = 0 getdents64(3, 0xc80480 /* 3 entries */, 32768) = 80 getdents64(3, 0xc80480 /* 0 entries */, 32768) = 0 close(3) = 0 newfstatat(AT_FDCWD, "dir1/file1", {st_mode=S_IFREG|0664, st_size=4, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/media/nas/bruno/dir1/file1", 0x7ffc663bc200, AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory) unlinkat(AT_FDCWD, "/media/nas/bruno/dir1/file1", 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "dir1/file1", O_RDONLY|O_NOFOLLOW) = 3 newfstatat(3, "", {st_mode=S_IFREG|0664, st_size=4, ...}, AT_EMPTY_PATH) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir1/file1", O_WRONLY|O_CREAT|O_EXCL, 0600) = 4 ioctl(4, BTRFS_IOC_CLONE or FICLONE, 3) = -1 EXDEV (Invalid cross-device link) newfstatat(4, "", {st_mode=S_IFREG|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0 fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0 uname({sysname="Linux", nodename="nimes", ...}) = 0 copy_file_range(3, NULL, 4, NULL, 9223372035781033984, 0) = -1 EXDEV (Invalid cross-device link) mmap(NULL, 1056768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f376f155000 read(3, "foo\n", 1048576) = 4 write(4, "foo\n", 4) = 4 read(3, "", 1048576) = 0 utimensat(4, NULL, [{tv_sec=1693071487, tv_nsec=732048574} /* 2023-08-26T19:38:07.732048574+0200 */, {tv_sec=1693071487, tv_nsec=732048574} /* 2023-08-26T19:38:07.732048574+0200 */], 0) = 0 flistxattr(3, NULL, 0) = 0 flistxattr(3, 0x7ffc663bbfb0, 0) = 0 fchmod(4, 0100664) = 0 flistxattr(3, NULL, 0) = 0 flistxattr(3, 0x7ffc663bbfc0, 0) = 0 close(4) = 0 close(3) = 0 munmap(0x7f376f155000, 1056768) = 0 utimensat(AT_FDCWD, "/media/nas/bruno/dir1", [{tv_sec=1693071473, tv_nsec=435890948} /* 2023-08-26T19:37:53.435890948+0200 */, {tv_sec=1693071487, tv_nsec=732048574} /* 2023-08-26T19:38:07.732048574+0200 */], 0) = 0 fchownat(AT_FDCWD, "/media/nas/bruno/dir1", 1000, 1000, AT_SYMLINK_NOFOLLOW) = -1 EACCES (Permission denied) openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2996, ...}, AT_EMPTY_PATH) = 0 read(3, "# Locale name alias data base.\n#"..., 4096) = 2996 read(3, "", 4096) = 0 close(3) = 0 openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=613, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 613, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3771462000 close(3) = 0 write(2, "mv: ", 4) = 4 write(2, "failed to preserve ownership for"..., 56) = 56 openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, ": Permission denied", 19) = 19 write(2, "\n", 1) = 1 llistxattr("dir1", NULL, 0) = 0 llistxattr("dir1", 0x7ffc663bc360, 0) = 0 chmod("/media/nas/bruno/dir1", 040775) = 0 llistxattr("dir1", NULL, 0) = 0 llistxattr("dir1", 0x7ffc663bc370, 0) = 0 newfstatat(AT_FDCWD, "/", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "dir1", {st_mode=S_IFDIR|0775, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0 openat(AT_FDCWD, "dir1", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY) = 3 newfstatat(3, "", {st_mode=S_IFDIR|0775, st_size=4096, ...}, AT_EMPTY_PATH) = 0 fcntl(3, F_GETFL) = 0x38800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_NOFOLLOW|O_DIRECTORY) fcntl(3, F_SETFD, FD_CLOEXEC) = 0 fstatfs(3, {f_type=EXT2_SUPER_MAGIC, f_bsize=4096, f_blocks=47783907, f_bfree=22909024, f_bavail=20463520, f_files=12214272, f_ffree=10395771, f_fsid={val=[0xfa5e3950, 0x7a0b4e4a]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID}) = 0 fcntl(3, F_DUPFD_CLOEXEC, 3) = 4 getdents64(3, 0xc88590 /* 3 entries */, 32768) = 80 getdents64(3, 0xc88590 /* 0 entries */, 32768) = 0 close(3) = 0 unlinkat(4, "file1", 0) = 0 close(4) = 0 unlinkat(AT_FDCWD, "dir1", AT_REMOVEDIR) = 0 lseek(0, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) close(0) = 0 close(1) = 0 close(2) = 0 exit_group(0) = ? +++ exited with 0 +++ --nextPart2185001.NgBsaNRSFp Content-Disposition: attachment; filename="cp.log" Content-Transfer-Encoding: 7Bit Content-Type: text/x-log; charset="UTF-8"; name="cp.log" execve("/media/develdata/devel/build/coreutils-9.3.147-d553ab/build-64/src/cp", ["cp", "-a", "dir2", "/media/nas/bruno/dir2"], 0x7fff3b013608 /* 76 vars */) = 0 brk(NULL) = 0xa30000 arch_prctl(0x3001 /* ARCH_??? */, 0x7ffcbbf10660) = -1 EINVAL (Invalid argument) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7efd8082d000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=130495, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 130495, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7efd8080d000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=166280, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 177672, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7efd807e1000 mprotect(0x7efd807e7000, 139264, PROT_NONE) = 0 mmap(0x7efd807e7000, 106496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7efd807e7000 mmap(0x7efd80801000, 28672, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0x7efd80801000 mmap(0x7efd80809000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0x7efd80809000 mmap(0x7efd8080b000, 5640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7efd8080b000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libacl.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=34888, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 36896, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7efd807d7000 mprotect(0x7efd807d9000, 24576, PROT_NONE) = 0 mmap(0x7efd807d9000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7efd807d9000 mmap(0x7efd807dd000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7efd807dd000 mmap(0x7efd807df000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7efd807df000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libattr.so.1", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=26696, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 28696, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7efd807cf000 mmap(0x7efd807d1000, 12288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7efd807d1000 mmap(0x7efd807d4000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7efd807d4000 mmap(0x7efd807d5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7efd807d5000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\237\2\0\0\0\0\0"..., 832) = 832 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 48, 848) = 48 pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0i8\235HZ\227\223\333\350s\360\352,\223\340."..., 68, 896) = 68 newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2216304, ...}, AT_EMPTY_PATH) = 0 pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784 mmap(NULL, 2260560, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7efd805a7000 mmap(0x7efd805cf000, 1658880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7efd805cf000 mmap(0x7efd80764000, 360448, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bd000) = 0x7efd80764000 mmap(0x7efd807bc000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x214000) = 0x7efd807bc000 mmap(0x7efd807c2000, 52816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7efd807c2000 close(3) = 0 openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=613064, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 615184, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7efd80510000 mmap(0x7efd80512000, 438272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7efd80512000 mmap(0x7efd8057d000, 163840, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6d000) = 0x7efd8057d000 mmap(0x7efd805a5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x94000) = 0x7efd805a5000 close(3) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7efd8050e000 arch_prctl(ARCH_SET_FS, 0x7efd8050f340) = 0 set_tid_address(0x7efd8050f610) = 76460 set_robust_list(0x7efd8050f620, 24) = 0 rseq(0x7efd8050fce0, 0x20, 0, 0x53053053) = 0 mprotect(0x7efd807bc000, 16384, PROT_READ) = 0 mprotect(0x7efd805a5000, 4096, PROT_READ) = 0 mprotect(0x7efd807d5000, 4096, PROT_READ) = 0 mprotect(0x7efd807df000, 4096, PROT_READ) = 0 mprotect(0x7efd80809000, 4096, PROT_READ) = 0 mprotect(0x424000, 4096, PROT_READ) = 0 mprotect(0x7efd80867000, 8192, PROT_READ) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 munmap(0x7efd8080d000, 130495) = 0 statfs("/sys/fs/selinux", 0x7ffcbbf106a0) = -1 ENOENT (No such file or directory) statfs("/selinux", 0x7ffcbbf106a0) = -1 ENOENT (No such file or directory) getrandom("\x88\x09\xa3\x30\xb2\x7e\xa7\x94", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0xa30000 brk(0xa51000) = 0xa51000 openat(AT_FDCWD, "/proc/filesystems", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0444, st_size=0, ...}, AT_EMPTY_PATH) = 0 read(3, "nodev\tsysfs\nnodev\ttmpfs\nnodev\tbd"..., 1024) = 436 read(3, "", 1024) = 0 close(3) = 0 access("/etc/selinux/config", F_OK) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=32189728, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 32189728, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7efd7e65b000 close(3) = 0 geteuid() = 1000 openat(AT_FDCWD, "/media/nas/bruno/dir2", O_RDONLY|O_PATH|O_DIRECTORY) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "dir2", {st_mode=S_IFDIR|0775, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "/media/nas/bruno/dir2", 0x7ffcbbf102f0, AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory) mkdirat(AT_FDCWD, "/media/nas/bruno/dir2", 0700) = 0 newfstatat(AT_FDCWD, "/media/nas/bruno/dir2", {st_mode=S_IFDIR|0700, st_size=0, ...}, AT_SYMLINK_NOFOLLOW) = 0 openat(AT_FDCWD, "dir2", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3 newfstatat(3, "", {st_mode=S_IFDIR|0775, st_size=4096, ...}, AT_EMPTY_PATH) = 0 getdents64(3, 0xa33480 /* 3 entries */, 32768) = 80 getdents64(3, 0xa33480 /* 0 entries */, 32768) = 0 close(3) = 0 newfstatat(AT_FDCWD, "dir2/file2", {st_mode=S_IFREG|0664, st_size=4, ...}, AT_SYMLINK_NOFOLLOW) = 0 openat(AT_FDCWD, "dir2/file2", O_RDONLY|O_NOFOLLOW) = 3 newfstatat(3, "", {st_mode=S_IFREG|0664, st_size=4, ...}, AT_EMPTY_PATH) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir2/file2", O_WRONLY|O_CREAT|O_EXCL, 0600) = 4 ioctl(4, BTRFS_IOC_CLONE or FICLONE, 3) = -1 EXDEV (Invalid cross-device link) newfstatat(4, "", {st_mode=S_IFREG|0600, st_size=0, ...}, AT_EMPTY_PATH) = 0 fadvise64(3, 0, 0, POSIX_FADV_SEQUENTIAL) = 0 uname({sysname="Linux", nodename="nimes", ...}) = 0 copy_file_range(3, NULL, 4, NULL, 9223372035781033984, 0) = -1 EXDEV (Invalid cross-device link) mmap(NULL, 1056768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7efd7e559000 read(3, "foo\n", 1048576) = 4 write(4, "foo\n", 4) = 4 read(3, "", 1048576) = 0 utimensat(4, NULL, [{tv_sec=1693332918, tv_nsec=177180560} /* 2023-08-29T20:15:18.177180560+0200 */, {tv_sec=1693332918, tv_nsec=177180560} /* 2023-08-29T20:15:18.177180560+0200 */], 0) = 0 flistxattr(3, NULL, 0) = 0 flistxattr(3, 0x7ffcbbf0fce0, 0) = 0 fchmod(4, 0100664) = 0 flistxattr(3, NULL, 0) = 0 flistxattr(3, 0x7ffcbbf0fcf0, 0) = 0 close(4) = 0 close(3) = 0 munmap(0x7efd7e559000, 1056768) = 0 utimensat(AT_FDCWD, "/media/nas/bruno/dir2", [{tv_sec=1693332911, tv_nsec=569156640} /* 2023-08-29T20:15:11.569156640+0200 */, {tv_sec=1693332918, tv_nsec=177180560} /* 2023-08-29T20:15:18.177180560+0200 */], 0) = 0 fchownat(AT_FDCWD, "/media/nas/bruno/dir2", 1000, 1000, AT_SYMLINK_NOFOLLOW) = -1 EACCES (Permission denied) openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2996, ...}, AT_EMPTY_PATH) = 0 read(3, "# Locale name alias data base.\n#"..., 4096) = 2996 read(3, "", 4096) = 0 close(3) = 0 openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/media/develdata/devel/inst-x86_64-64/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3 newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=613, ...}, AT_EMPTY_PATH) = 0 mmap(NULL, 613, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7efd80866000 close(3) = 0 write(2, "cp: ", 4) = 4 write(2, "failed to preserve ownership for"..., 56) = 56 openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) write(2, ": Permission denied", 19) = 19 write(2, "\n", 1) = 1 lseek(0, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) close(0) = 0 close(1) = 0 close(2) = 0 exit_group(1) = ? +++ exited with 1 +++ --nextPart2185001.NgBsaNRSFp-- From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 31 00:58:52 2023 Received: (at 65599) by debbugs.gnu.org; 31 Aug 2023 04:58:52 +0000 Received: from localhost ([127.0.0.1]:54600 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qbZlc-0001E9-Cr for submit@debbugs.gnu.org; Thu, 31 Aug 2023 00:58:52 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:43676) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qbZlX-0001Dl-Vf for 65599@debbugs.gnu.org; Thu, 31 Aug 2023 00:58:50 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id D5FAB3C011BD9; Wed, 30 Aug 2023 21:58:33 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id XxQXkPg06kqQ; Wed, 30 Aug 2023 21:58:33 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 742BB3C011BD6; Wed, 30 Aug 2023 21:58:33 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 742BB3C011BD6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1693457913; bh=9YzC6FHQ9+4nR3DGlPHmwiM95dr8QiSqdTrSVUQ6O1o=; h=Message-ID:Date:MIME-Version:To:From; b=fonVEengWV4tapbMTz9F2SFrmx5KIzfO6JZSmCwcirwtS1mDkRTLMt6I5yjJUJASN bS2nEUMOqDskp+p3HdCCqSeDuHGoxehLiB5HjwCF2T33UwZWL/cnvSBhTNyfjXW5wJ r8E4lOgy+RNaWgMRj/L83DaZpExbcj1zDClVvJ5DCz06Y1arvAEuc0A4IdsNoTK0Ma Hv6+2dGL/J031MoNovKlHGWewMbowZ2veUmJDgBIsWsitSoGlMLNgUmKM+uJ6W9/yi eU/eWK4qBvKbg2KEjzcVmCy6dmDsKO4xbiOw24UGOeUyMtd+aRuJ8KWy2ozuxuwa68 ueK3mwP7hVhyg== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id LwX5zvgY3HA5; Wed, 30 Aug 2023 21:58:33 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 529213C011BD5; Wed, 30 Aug 2023 21:58:33 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------VCXYxr74eMXNA0Nxspqvy4m5" Message-ID: <7215df8c-42e8-c736-b76d-f7bdf0c7c711@cs.ucla.edu> Date: Wed, 30 Aug 2023 21:58:33 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US To: Bruno Haible References: <2119537.OBFZWjSADL@nimes> From: Paul Eggert Organization: UCLA Computer Science Department Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory In-Reply-To: <2119537.OBFZWjSADL@nimes> X-Spam-Score: -1.0 (-) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) This is a multi-part message in MIME format. --------------VCXYxr74eMXNA0Nxspqvy4m5 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2023-08-29 11:20, Bruno Haible wrote: > People say that "chown only works for root anyway" [1] I don't think that is the issue here. fchownat is failing with EACCES, which is supposed to mean that search permission is denied on a component of the path prefix, but in Android I guess EACCES also means the calling process doesn't have the required permissions to change ownership (i.e., errno should be EPERM according to POSIX). Clearly search permission is allowed, since there's a successful utimensat call with the same file name. So EACCES does not mean search permission is denied; it means something else. Do fchown, chown, and lchown have similar bugs on Android? Although the attached hacky coreutils patch (which I haven't installed) might solve the immediate problem, it sounds like this is something that Gnulib's fchownat (and maybe related modules) should fix on Android, so that the fix is everywhere and not just in mv+cp. --------------VCXYxr74eMXNA0Nxspqvy4m5 Content-Type: text/x-patch; charset=UTF-8; name="android.diff" Content-Disposition: attachment; filename="android.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9jb3B5LmMgYi9zcmMvY29weS5jCmluZGV4IGI5ZmZmMDNhMy4u N2I5MDFmZmMzIDEwMDY0NAotLS0gYS9zcmMvY29weS5jCisrKyBiL3NyYy9jb3B5LmMKQEAg LTM0NjAsNiArMzQ2MCwxMiBAQCBjaG93bl9mYWlsdXJlX29rIChzdHJ1Y3QgY3Bfb3B0aW9u cyBjb25zdCAqeCkKICAgICAgQnV0IHJvb3QgcHJvYmFibHkgd2FudHMgdG8ga25vdywgZS5n LiBpZiBORlMgZGlzYWxsb3dzIGl0LAogICAgICBvciBpZiB0aGUgdGFyZ2V0IHN5c3RlbSBk b2Vzbid0IHN1cHBvcnQgZmlsZSBvd25lcnNoaXAuICAqLwogCisjaWZkZWYgX19BTkRST0lE X18KKyAgLyogV29yayBhcm91bmQgQW5kcm9pZCBidWcgPGh0dHBzOi8vYnVncy5nbnUub3Jn LzY1NTk5Pi4gICovCisgIGlmIChlcnJubyA9PSBFQUNDRVMgJiYgIXgtPmNob3duX3ByaXZp bGVnZXMpCisgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKwogICByZXR1cm4gKChlcnJubyA9 PSBFUEVSTSB8fCBlcnJubyA9PSBFSU5WQUwpICYmICF4LT5jaG93bl9wcml2aWxlZ2VzKTsK IH0KIAo= --------------VCXYxr74eMXNA0Nxspqvy4m5-- From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 31 05:26:04 2023 Received: (at 65599) by debbugs.gnu.org; 31 Aug 2023 09:26:04 +0000 Received: from localhost ([127.0.0.1]:54848 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qbdwC-0002as-I2 for submit@debbugs.gnu.org; Thu, 31 Aug 2023 05:26:04 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.219]:44553) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qbdw9-0002aQ-Nj for 65599@debbugs.gnu.org; Thu, 31 Aug 2023 05:26:02 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1693473951; cv=none; d=strato.com; s=strato-dkim-0002; b=Kziblk8pjRln7VNrViLxKHGuGslM5LeE6uRPN/XZ8gDSAKqrXy0ZPc8pqHl+5EJFj2 FqULiQaMxAPsE96F+rDcnJid8DWwrTZ5fkqQtbBOvpfLT9PX8AiyOSxv7Zkx9iKtgT+N NXJO9X7XqBjJ9c3buX9MwBP1ndf+SXSaRnbNnPRYL4UnzIDTOUDVHH9XH2JTXFtjf+3K eUj4OawzXIlsNk73rJLUzqYTml06s+Bg/lWKLwg5cKtu1QWlECPNrTwtpd3w04Mbaa1s 5SwR4a+UMiHVaRHUWHRS22b9tUUdc+bAsT/gcGzovZJFSdkPhC0x5L8epqxwQ8blYBVp 6MtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1693473951; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=uZPcj6vlJI9HPN8myJjqzmJLTjlmJGe6S0CBorA2DFU=; b=ftf4+etjOiVZEWetN51DkoQ/J2R06wXNnuGxD3sQLXec0iAFRPrrEOsvrsX/Yvhn3r /bm0NB+gbSV/hUaLg2R1BkgmOYxJGLZebM4OJSGPjPMMv2f7xjYrLqnKcfy0EeERhTT0 mAw4YqpTdp2w/Qu3CN2D/aV/iCIM0UGfViCulqUdZdh9228dAQVVewpcUurfaWNMUQLa IvL2BI4QjYuYKSLVyzMRop8iMcmHneG9CZ6Bkk6WGcQO9CnvySne5+OnnovwxtAVIpXd 06BU0s6DuYDBS7CZi6WIdrim3F/2p3WNf9UJtre01OFjWcz97E+AE+dWKbzrRxSl4KQ2 KPSg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1693473951; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=uZPcj6vlJI9HPN8myJjqzmJLTjlmJGe6S0CBorA2DFU=; b=CXheWeAwRDV+hb4LXtb5PapiDc2IYumE3NUA2PFJlFmFSGPofCVDRPfxhX9r/+wPzR ySmANxCXUJ6sDWS4CQCwPSASwDCBF57vMLDzAotnBO0MOAlguM1CB5wEfj6jiDTEFXs4 3/YbCUOrmotG9lRN3c/TWpydPAgANyS/mx/XFcKfpgav5ROPY+B01+ERcp+2cc9rpO7T NgYCp9PKWtCVJlBAGoMRl7gAPjNIxnwdHaXLtB29ERQ6oV+UjlzfjDlGz8JbElcrf+jy tQRtTgulOVH84M+yWaooswWQ+4rI48o0xJPUNhfV/uRxmWQh9gGY4L8sDXjmuc0mwrBJ A8FQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1693473951; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=uZPcj6vlJI9HPN8myJjqzmJLTjlmJGe6S0CBorA2DFU=; b=5/YXNmZPS0JMVViPl2SF9FZ5m/MZPLdi3xgYxr9QV/dFVUeY0+ibCYUYxeCT/aqCMd cbqKJnhcAencQXwTn+Cw== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpPE2PRSElrKzrvxtB+8jmt43OVJCw==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.8.2 AUTH) with ESMTPSA id z9213ez7V9Po6gf (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Thu, 31 Aug 2023 11:25:50 +0200 (CEST) From: Bruno Haible To: Paul Eggert Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory Date: Thu, 31 Aug 2023 11:25:50 +0200 Message-ID: <2820631.Y6S9NjorxK@nimes> In-Reply-To: <7215df8c-42e8-c736-b76d-f7bdf0c7c711@cs.ucla.edu> References: <2119537.OBFZWjSADL@nimes> <7215df8c-42e8-c736-b76d-f7bdf0c7c711@cs.ucla.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Thanks for looking into this, Paul. But there's a big misunderstanding. This is not on Android. It's on Linux with glibc (Ubuntu 22.04, to be precise), as can be seen from the log file: openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 and from the fact that I could write to /tmp. The fchownat() failure comes from the combination of a 'cifs' mount of the Linux kernel (mount options: rw,relatime,vers=1.0,cache=strict,username=bruno,uid=1000,forceuid,gid=1000,forcegid,addr=192.168.**.**,soft,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=1048576,bsize=1048576,echo_interval=60,actimeo=1,closetimeo=1 ) and the CIFS/SMB server on my NAS (an old Linux/mips machine). > Although the attached hacky coreutils patch (which I haven't installed) > might solve the immediate problem Unfortunately, this patch would also silence warnings that are justified (e.g. when a normal user moves a directory owned by 'root', whose parent directory has mode drwxrwxrwx). I think the diagnostic should only be supporessed when, despite the failed fchownat() call, the destination has the same uid and gid as the 3rd and 4th argument of the fchownat() invocation. > it sounds like this is something that Gnulib's fchownat Whether this is better done in Gnulib or in coreutils/src/copy.c, I can't judge. Bruno From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 01 10:12:52 2023 Received: (at 65599) by debbugs.gnu.org; 1 Sep 2023 14:12:52 +0000 Received: from localhost ([127.0.0.1]:33555 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qc4tI-0007CS-HV for submit@debbugs.gnu.org; Fri, 01 Sep 2023 10:12:52 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:50750) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qc4tF-0007CD-EK for 65599@debbugs.gnu.org; Fri, 01 Sep 2023 10:12:50 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 77D7B3C011BDF; Fri, 1 Sep 2023 07:12:33 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id bpBUup85sTZs; Fri, 1 Sep 2023 07:12:33 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 25E993C011BE0; Fri, 1 Sep 2023 07:12:33 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 25E993C011BE0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1693577553; bh=XOsLjhqUe/DR3f5fRlKDU8WA/gUIfGm+oPyp1l3pKDk=; h=Message-ID:Date:MIME-Version:To:From; b=JmSI105nzx24WsFl4NWastOliL+v26GCvCkqZgKqHEwDUuUuZIfSeNW+mcRt0qIQK PdAqe68MdlXt8S6BEo+8owoWtFNNPD1rHv51PRfFXeM22VOFaVtsO2wa6O0ioaLScb MNeZidZwx5xyuems23rddCHKNOicdigdJ12/04+gAjm6GeahX4HJZAVaypzNhnrH0N OS7omh3XF0tKDacN+LxQebfihA9pJ115VkOCzjHpB/4HOUZTTedZy6A/tFNcx5v3xO cenZJSgvJX/AZWkvNBts2ATqz3cX/PeToSQFYrxsAhT8BMgpoG+Qe6PMh2JzH1/362 pACAcz4t+L+Ew== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id lZVB4jBgh4dY; Fri, 1 Sep 2023 07:12:33 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 02DD73C011BDF; Fri, 1 Sep 2023 07:12:32 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------sW4sn4sec2G1PiAWpoNKo00e" Message-ID: <3a2518a9-fe94-3834-44ae-751864843c0f@cs.ucla.edu> Date: Fri, 1 Sep 2023 07:12:32 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US To: Bruno Haible References: <2119537.OBFZWjSADL@nimes> <7215df8c-42e8-c736-b76d-f7bdf0c7c711@cs.ucla.edu> <2820631.Y6S9NjorxK@nimes> From: Paul Eggert Organization: UCLA Computer Science Department Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory In-Reply-To: <2820631.Y6S9NjorxK@nimes> X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.5 (----) This is a multi-part message in MIME format. --------------sW4sn4sec2G1PiAWpoNKo00e Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Thanks for the followup. I looked into fixing it in Gnulib and it appears that this would require an extra syscall (or maybe even two) per file when copying to a CIFS filesystem, which I'd rather avoid. So I'm leaning more towards working around the bug in coreutils. Before doing that, it'd be helpful to know whether the bug is limited to fchownat or (as I suspect) applies also to the other chown variants. Could you try running the attached program on your platform, to see whether the bug affects these other variants? Also, could you let us know the kernel and glibc version? The bug should be documented in gnulib/doc, I'd think. (Plus, reported to the Linux and/or glibc maintainers....) --------------sW4sn4sec2G1PiAWpoNKo00e Content-Type: text/x-csrc; charset=UTF-8; name="fchownat-test.c" Content-Disposition: attachment; filename="fchownat-test.c" Content-Transfer-Encoding: base64 I2RlZmluZSBfR05VX1NPVVJDRQojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHN0ZGlv Lmg+CiNpbmNsdWRlIDxzeXMvc3RhdC5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CgppbnQKbWFp biAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQp7CiAgY2hhciBjb25zdCAqZmlsZSA9IGFyZ3Zb MV0gPyBhcmd2WzFdIDogIi4iOwogIHN0cnVjdCBzdGF0IHN0OwogIGlmIChsc3RhdCAoZmls ZSwgJnN0KSA8IDApCiAgICByZXR1cm4gcGVycm9yICgibHN0YXQiKSwgMTsKICBpbnQgc3Rh dHVzID0gMDsKICBpZiAobGNob3duIChmaWxlLCBzdC5zdF91aWQsIHN0LnN0X2dpZCkgPCAw KQogICAgcGVycm9yICgibGNob3duIiksIHN0YXR1cyA9IDE7CiAgaWYgKGZjaG93bmF0IChB VF9GRENXRCwgZmlsZSwgc3Quc3RfdWlkLCBzdC5zdF9naWQsIEFUX1NZTUxJTktfTk9GT0xM T1cpIDwgMCkKICAgIHBlcnJvciAoImZjaG93bmF0IiksIHN0YXR1cyA9IDE7CiAgaWYgKCFT X0lTTE5LIChzdC5zdF9tb2RlKSkKICAgIHsKICAgICAgaWYgKGNob3duIChmaWxlLCBzdC5z dF91aWQsIHN0LnN0X2dpZCkgPCAwKQoJcGVycm9yICgiY2hvd24iKSwgc3RhdHVzID0gMTsK ICAgICAgaW50IGZkID0gb3BlbmF0IChBVF9GRENXRCwgZmlsZSwgT19SRE9OTFkgfCBPX05P Rk9MTE9XKTsKICAgICAgaWYgKGZkIDwgMCkKCXBlcnJvciAoIm9wZW5hdCIpLCBzdGF0dXMg PSAxOwogICAgICBlbHNlIGlmIChmY2hvd24gKGZkLCBzdC5zdF91aWQsIHN0LnN0X2dpZCkg PCAwKQoJcGVycm9yICgiZmNob3duIiksIHN0YXR1cyA9IDE7CiAgICB9CiAgcmV0dXJuIHN0 YXR1czsKfQo= --------------sW4sn4sec2G1PiAWpoNKo00e-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 01 11:09:34 2023 Received: (at 65599) by debbugs.gnu.org; 1 Sep 2023 15:09:34 +0000 Received: from localhost ([127.0.0.1]:33657 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qc5mA-0002wA-AU for submit@debbugs.gnu.org; Fri, 01 Sep 2023 11:09:34 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.163]:35913) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qc5m8-0002w0-Om for 65599@debbugs.gnu.org; Fri, 01 Sep 2023 11:09:33 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1693580960; cv=none; d=strato.com; s=strato-dkim-0002; b=MlwB9bkq2wgb69LOdpjZvJ2u8OoAnSsVsKmuijrgFbvGcGNA+xm5bWtXWWI6Nc9OJK TeJtMpDD0TZST0n+vK5FQwH8+nSOFWONTQIjczMctJ+rJMGwgemXq8/0SDuAig09NepE UmG2en5wszDWlQOJYbqDU3CFwodm7jg5VF7iXSRaF/bh3OsWR9bsTYKBkd9tw/trpdSQ 0ALSoaxrFBluxWH3SbyJcSWFq10v0xJHoc2ir7P96WZmAYqDgXcllkMpNmDlsnk3yZpS wWwUqDueBDGB+4jy/OUV79lOCYTWvtYXbvP2+qc9rTqk3Ywtmt673jPEtnpQDhDi/Xw3 WPUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1693580960; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=3bycyPJQU/QOK7mEviu8r3T1Oo9wjZaB7pspgdwZYok=; b=M5L9EO5D8uTW284vwHUUsJiGC3OiyN9reFXlNM66erqUt/LI1tTPlUSAEVYGiCBaT8 UnnFsyBh2/i2qMlD4w7pVgpPdgGUhWWSIjgdpY3TSoXBcYCduZLTbLW3JL1PRXpzEcQb oMk5AdERXxKX6c79Eujj4QZTdhoJV2eSfAprgJaJYY97V9wMzCpNd9mizybTJGe29CHF IOmQ6vQOCSrbAzcmzX7JCWuyBeMzqiR/Qo8hXFsYC0Jn9S7U2jV2d5tncna3DJwi+xZp PB+2yiy/q5oh3R2iVNO5C1vay3pNyiLepBM0x9ncQFe6yQ3EMVz7vft976LhfiaZNq/G 1HUQ== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1693580960; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=3bycyPJQU/QOK7mEviu8r3T1Oo9wjZaB7pspgdwZYok=; b=pM8g2lAyG3dXzlA75z58Vy36GKBJ4SKuQ7GcDX7iuLqzj3mBxMLEwOkNkFeEXrbcvB OKQMh/9jq5FWjcqvkILo923GzunSb/Vw5U6OdEIrdAPDb+HZnVeebB6k5fVikCt2s7ZO E7gfY8Z7GzR6SMOUZrFY7nAC6ZT7v4XKRAYzLg2SyFGkJjhyuv8hEnEcdzMCVMBVJWzG 9/OTpcMNSmnb7oUYzC2/Z+r1zwjHsRnyRrZAd0MBkLwOwvp8NqQLfW1xBrrHaOWCTHR3 QmSeDq8GNaUV/fXCABiAXqtRoBd14Vfn7rqWG4OQ0CkIzC1tBNSY6ltwmx2S2l2z6Syz vwcA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1693580960; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=3bycyPJQU/QOK7mEviu8r3T1Oo9wjZaB7pspgdwZYok=; b=8fX7Pp73WGbmZQWVMxD5xJcNpqT1zWYcyR29odQsQCzBzYvt3wzGNqSkFHXGoP+++/ N0NeiR48l8fq2yCaVoCg== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpPA2qD2B+uFFTDZmXL3aBdcPM4H" Received: from nimes.localnet by smtp.strato.de (RZmta 49.8.2 AUTH) with ESMTPSA id z9213ez81F9KGXg (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Fri, 1 Sep 2023 17:09:20 +0200 (CEST) From: Bruno Haible To: Paul Eggert Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory Date: Fri, 01 Sep 2023 17:09:20 +0200 Message-ID: <2616421.tIAgqjz4sF@nimes> In-Reply-To: <3a2518a9-fe94-3834-44ae-751864843c0f@cs.ucla.edu> References: <2119537.OBFZWjSADL@nimes> <2820631.Y6S9NjorxK@nimes> <3a2518a9-fe94-3834-44ae-751864843c0f@cs.ucla.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Paul Eggert wrote: > it'd be helpful to know whether the bug is limited to fchownat or > (as I suspect) applies also to the other chown variants. Could you try > running the attached program on your platform, to see whether the bug > affects these other variants? It applies to all 4 variants, as can be seen from applying it to a directory: $ ./a.out /media/nas/bruno/dir1 lchown: Permission denied fchownat: Permission denied chown: Permission denied fchown: Permission denied $ strace ./a.out /media/nas/bruno/dir1 ... lchown("/media/nas/bruno/dir1", 1000, 1000) = -1 EACCES (Permission denied) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) getrandom("\x31\xd2\xe1\x4b\xa3\xa9\x0a\x95", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0x56031b7c9000 brk(0x56031b7ea000) = 0x56031b7ea000 newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(3, "lchown: Permission denied\n", 26lchown: Permission denied ) = 26 close(3) = 0 fchownat(AT_FDCWD, "/media/nas/bruno/dir1", 1000, 1000, AT_SYMLINK_NOFOLLOW) = -1 EACCES (Permission denied) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(3, "fchownat: Permission denied\n", 28fchownat: Permission denied ) = 28 close(3) = 0 chown("/media/nas/bruno/dir1", 1000, 1000) = -1 EACCES (Permission denied) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(3, "chown: Permission denied\n", 25chown: Permission denied ) = 25 close(3) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir1", O_RDONLY|O_NOFOLLOW) = 3 fchown(3, 1000, 1000) = -1 EACCES (Permission denied) dup(2) = 4 fcntl(4, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(4, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(4, "fchown: Permission denied\n", 26fchown: Permission denied ) = 26 close(4) = 0 exit_group(1) = ? +++ exited with 1 +++ or to a regular file: $ ./a.out /media/nas/bruno/dir1/file1 lchown: Permission denied fchownat: Permission denied chown: Permission denied fchown: Permission denied $ strace ./a.out /media/nas/bruno/dir1/file1 ... lchown("/media/nas/bruno/dir1/file1", 1000, 1000) = -1 EACCES (Permission denied) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) getrandom("\x59\x38\xf4\xfa\x24\xc4\x89\x64", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0x56337cdfa000 brk(0x56337ce1b000) = 0x56337ce1b000 newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(3, "lchown: Permission denied\n", 26lchown: Permission denied ) = 26 close(3) = 0 fchownat(AT_FDCWD, "/media/nas/bruno/dir1/file1", 1000, 1000, AT_SYMLINK_NOFOLLOW) = -1 EACCES (Permission denied) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(3, "fchownat: Permission denied\n", 28fchownat: Permission denied ) = 28 close(3) = 0 chown("/media/nas/bruno/dir1/file1", 1000, 1000) = -1 EACCES (Permission denied) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(3, "chown: Permission denied\n", 25chown: Permission denied ) = 25 close(3) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir1/file1", O_RDONLY|O_NOFOLLOW) = 3 fchown(3, 1000, 1000) = -1 EACCES (Permission denied) dup(2) = 4 fcntl(4, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(4, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(4, "fchown: Permission denied\n", 26fchown: Permission denied ) = 26 close(4) = 0 exit_group(1) = ? +++ exited with 1 +++ > Also, could you let us know the kernel and glibc version? The bug should > be documented in gnulib/doc, I'd think. (Plus, reported to the Linux > and/or glibc maintainers....) $ uname -srv Linux 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 $ /lib/x86_64-linux-gnu/libc.so.6 GNU C Library (Ubuntu GLIBC 2.35-0ubuntu3.1) stable release version 2.35. ... Bruno From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 01 13:47:59 2023 Received: (at 65599) by debbugs.gnu.org; 1 Sep 2023 17:47:59 +0000 Received: from localhost ([127.0.0.1]:33817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qc8FT-0001J8-CD for submit@debbugs.gnu.org; Fri, 01 Sep 2023 13:47:59 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:54766) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qc8FQ-0001IE-Nj for 65599@debbugs.gnu.org; Fri, 01 Sep 2023 13:47:57 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id EF3F13C011BDF; Fri, 1 Sep 2023 10:47:40 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id FzAeY9yK8b4G; Fri, 1 Sep 2023 10:47:40 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 97B373C011BE3; Fri, 1 Sep 2023 10:47:40 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 97B373C011BE3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1693590460; bh=FvGwaRS5uZukYk9FtSyZmEJ+AuJL3IuPm1K3+q6a0Ug=; h=Message-ID:Date:MIME-Version:To:From; b=YLj82SkrYkgDVi06ASVsQ0ZudH6U6aJkbJW+fZd5YXIRjxL7ojIYoKDFlW4Bsr2/A UCq91geZnuMQ/ziZXp/eMomnYUw4SARtdDs18ibPdRkot2UWrBtV92o0pYmsduKzd8 ZL05Mo8e4UrIwrnO/Wwr6U+2YE93vd26WoK1w5zNH4lq/fDAyKagm0Synj7WUDG7mT BPoGua7K9ObnOJjqdZ8vLROkRH3CvuAQAX1pcR8TtRetIjaLm9w5g74Tssw2RLHxHy nvuLAdVqCn8BC59IOAek4tRzqgU7jNzVjctYz9xJt4WfxVvc1HYe1/YaSRotU3SznI 7MhHSJWm6RGzA== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id PDhuMWn_wYPR; Fri, 1 Sep 2023 10:47:40 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 70A133C011BDF; Fri, 1 Sep 2023 10:47:40 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------7R4dxVHwfZGVXsa0mFgqFJW9" Message-ID: Date: Fri, 1 Sep 2023 10:47:40 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory Content-Language: en-US To: Bruno Haible References: <2119537.OBFZWjSADL@nimes> <2820631.Y6S9NjorxK@nimes> <3a2518a9-fe94-3834-44ae-751864843c0f@cs.ucla.edu> <2616421.tIAgqjz4sF@nimes> From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <2616421.tIAgqjz4sF@nimes> X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.5 (----) This is a multi-part message in MIME format. --------------7R4dxVHwfZGVXsa0mFgqFJW9 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2023-09-01 08:09, Bruno Haible wrote: > It applies to all 4 variants, as can be seen from applying it to a directory: > > $ ./a.out /media/nas/bruno/dir1 > lchown: Permission denied > fchownat: Permission denied > chown: Permission denied > fchown: Permission denied Thanks, for coreutils it'd be helpful to now whether there's a similar problem with chmod-related syscalls. If you compile and run the attached program on a file that you don't own (e.g., './a.out /'), does it incorrectly issue "Permission denied" instead of "Operation not permitted" diagnostics? --------------7R4dxVHwfZGVXsa0mFgqFJW9 Content-Type: text/x-csrc; charset=UTF-8; name="fchmodat-test.c" Content-Disposition: attachment; filename="fchmodat-test.c" Content-Transfer-Encoding: base64 I2RlZmluZSBfR05VX1NPVVJDRQojaW5jbHVkZSA8ZmNudGwuaD4KI2luY2x1ZGUgPHN0ZGlv Lmg+CiNpbmNsdWRlIDxzeXMvc3RhdC5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CgppbnQKbWFp biAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQp7CiAgY2hhciBjb25zdCAqZmlsZSA9IGFyZ3Zb MV0gPyBhcmd2WzFdIDogIi4iOwogIHN0cnVjdCBzdGF0IHN0OwogIGlmIChsc3RhdCAoZmls ZSwgJnN0KSA8IDApCiAgICByZXR1cm4gcGVycm9yICgibHN0YXQiKSwgMTsKICBtb2RlX3Qg bW9kZSA9IHN0LnN0X21vZGUgJiAwNzc3NzsKICBpbnQgc3RhdHVzID0gMDsKICBpZiAobGNo bW9kIChmaWxlLCBtb2RlKSA8IDApCiAgICBwZXJyb3IgKCJsY2htb2QiKSwgc3RhdHVzID0g MTsKICBpZiAoZmNobW9kYXQgKEFUX0ZEQ1dELCBmaWxlLCBtb2RlLCBBVF9TWU1MSU5LX05P Rk9MTE9XKSA8IDApCiAgICBwZXJyb3IgKCJmY2htb2RhdCIpLCBzdGF0dXMgPSAxOwogIGlm ICghU19JU0xOSyAoc3Quc3RfbW9kZSkpCiAgICB7CiAgICAgIGlmIChjaG1vZCAoZmlsZSwg bW9kZSkgPCAwKQoJcGVycm9yICgiY2htb2QiKSwgc3RhdHVzID0gMTsKICAgICAgaW50IGZk ID0gb3BlbmF0IChBVF9GRENXRCwgZmlsZSwgT19SRE9OTFkgfCBPX05PRk9MTE9XKTsKICAg ICAgaWYgKGZkIDwgMCkKCXBlcnJvciAoIm9wZW5hdCIpLCBzdGF0dXMgPSAxOwogICAgICBl bHNlIGlmIChmY2htb2QgKGZkLCBtb2RlKSA8IDApCglwZXJyb3IgKCJmY2htb2QiKSwgc3Rh dHVzID0gMTsKICAgIH0KICByZXR1cm4gc3RhdHVzOwp9Cg== --------------7R4dxVHwfZGVXsa0mFgqFJW9-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 01 14:00:05 2023 Received: (at 65599) by debbugs.gnu.org; 1 Sep 2023 18:00:05 +0000 Received: from localhost ([127.0.0.1]:33822 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qc8RA-0001fN-Od for submit@debbugs.gnu.org; Fri, 01 Sep 2023 14:00:05 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.163]:38287) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qc8R7-0001eO-O4 for 65599@debbugs.gnu.org; Fri, 01 Sep 2023 14:00:03 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1693591189; cv=none; d=strato.com; s=strato-dkim-0002; b=nTOrqNpJ9Ch4b/qtqUEkDyJBp4KNBScgzt1RGG7OFYu5VN3ERkO6iM7DKNCDTudC/f PRnR8Jb5Dq1zdrK73Sjz7jxKvhx1c9F9BQ914v7q0xxD1ISI5Nug8rwHO0xdeJJ+cOXK 9rpOPfnYOHvqBZwv+IaftLHcEKupG8IfNulnuezR07jsTX3QS2fUU/WWYApyiqGVUVUm RH0gvkqA1+EC6J5vA/ftNEzG5FhE6KKHbEcrOgtYUvCuvpTkC5o1wCh/LzNk0iwuLecf ots54oMDYLGCGaHIsPqrTJQNz+7ssdtPExZQ83c3USxu+JLIpEo9HZJXNks0Q7cyKgPf SLUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1693591189; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=rspXuktJhcXAoo5pou34DCLgJ1rQwwX2SjRold6OxDs=; b=PlAmT9Fc7ubf95YHwx9rad6QJah6zWDJ7H+0HzAO7ywQFnjtWk6frzdsSX63Fr+W1/ PKFmO75VW9lcHjoELZyo4RH9jG1FVFEJkBmCkB0e5ljNVohE9GbPRN1fLVDiB5DMEfIy sMWMexQOory/6pu2lQGG/lro4MCYXZ4VJBPDILGvBCvHFctDs4i00xyEleLECmMPwaCN MpOWFbA3apQ6YWt4hpppx3n6YQnQL6gL1mdd76mzdy1fZ+ZqHXPFkAq10bI6j2GcoUYb ydLxzDn9B1tUe042rCbbtrO4mBz7NL1C2Gugw7ZAVvOvs171gQYWGggLSdNImRJiou2A lLsQ== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1693591189; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=rspXuktJhcXAoo5pou34DCLgJ1rQwwX2SjRold6OxDs=; b=G0OR1PwKIXEXhoKQfL830t//be3/vzPFRMZ9LNlnEnvn5agGNcsnkuaqHgO3wf2Rzd JUTfpgvYF4QFPAORkTBhaNJ2RtGzAAdj2c+jD4yIgRvWBgyUdiKfKVNcPHJOrXmqBwCZ X5R9nBV2cPib1KRaqZWwCH3EkBMXtDLyG1zruZO/n38rOJX/oxhKGRkPURLt82m4dPuf GrLacgJIgHfMuooDtoF9Q1BF3SeT/UAh+bR9ZDt/cm9x0k8mBM0mPHBq/dVnNmAevjTc 6hMeAZmePoomd3VjZgpN8947ycNSytiWjVSibR2u05h1sf5MZ6i9Ng/4cwLmHiZSIDdZ 0d6g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1693591189; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=rspXuktJhcXAoo5pou34DCLgJ1rQwwX2SjRold6OxDs=; b=ZIkka0fjZpFx2nGAcb4eJlhRk+BuVA9B+L7bHv22bOpA+CG+JAVZaFJKiY8A565WUQ Yku1wNYqOXJ2mU0LttBg== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOe3f0kAGdVIT+WP7pip5InOxFfHQ==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.8.2 AUTH) with ESMTPSA id z9213ez81HxnH9V (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Fri, 1 Sep 2023 19:59:49 +0200 (CEST) From: Bruno Haible To: Paul Eggert Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory Date: Fri, 01 Sep 2023 19:59:49 +0200 Message-ID: <5413705.29KlJPOoH8@nimes> In-Reply-To: References: <2119537.OBFZWjSADL@nimes> <2616421.tIAgqjz4sF@nimes> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Paul Eggert wrote: > If you compile and run the attached > program on a file that you don't own (e.g., './a.out /'), does it > incorrectly issue "Permission denied" instead of "Operation not > permitted" diagnostics? In this case, the diagnostic is "Operation not permitted" (from EPERM): $ ./a.out / lchown: Operation not permitted fchownat: Operation not permitted chown: Operation not permitted fchown: Operation not permitted $ strace ./a.out / ... lchown("/", 0, 0) = -1 EPERM (Operation not permitted) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) getrandom("\x30\x26\x33\x40\x27\x47\x25\x78", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0x55f0af430000 brk(0x55f0af451000) = 0x55f0af451000 newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(3, "lchown: Operation not permitted\n", 32lchown: Operation not permitted ) = 32 close(3) = 0 fchownat(AT_FDCWD, "/", 0, 0, AT_SYMLINK_NOFOLLOW) = -1 EPERM (Operation not permitted) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(3, "fchownat: Operation not permitte"..., 34fchownat: Operation not permitted ) = 34 close(3) = 0 chown("/", 0, 0) = -1 EPERM (Operation not permitted) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(3, "chown: Operation not permitted\n", 31chown: Operation not permitted ) = 31 close(3) = 0 openat(AT_FDCWD, "/", O_RDONLY|O_NOFOLLOW) = 3 fchown(3, 0, 0) = -1 EPERM (Operation not permitted) dup(2) = 4 fcntl(4, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(4, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x9), ...}, AT_EMPTY_PATH) = 0 write(4, "fchown: Operation not permitted\n", 32fchown: Operation not permitted ) = 32 close(4) = 0 exit_group(1) = ? +++ exited with 1 +++ Bruno From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 01 18:12:28 2023 Received: (at 65599) by debbugs.gnu.org; 1 Sep 2023 22:12:28 +0000 Received: from localhost ([127.0.0.1]:34356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcCNP-0004Xi-L5 for submit@debbugs.gnu.org; Fri, 01 Sep 2023 18:12:28 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:55580) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcCNM-0004XT-UP for 65599@debbugs.gnu.org; Fri, 01 Sep 2023 18:12:26 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 5F1BA3C011BDF; Fri, 1 Sep 2023 15:12:09 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 25sz3MvbVV_A; Fri, 1 Sep 2023 15:12:09 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id DEA1F3C011BE6; Fri, 1 Sep 2023 15:12:08 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu DEA1F3C011BE6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1693606328; bh=/nD73S9JVXdh1gjjHGTL5Ks32/O7gxxx65B+33oGY7I=; h=Message-ID:Date:MIME-Version:To:From; b=Yfpf3/OJQ4JmU2SIy6aC3DK+pYSGwjyyZ1XaKPilNNpzXax4K8LWHzx0ebYEgyw/C 8uOrc6w5FaovzDOBjbP+bbgw4SWP33fBZL3pgNk3H7AEULuPYVxPuXWiydfWxQ4lit ZpLh6+7KzISbATqe4ot/Fb+pj5DYODukZdVB79YNrLiHnKjF8sc/0eliblGRahTte6 Jr6nZOhRnyQI7zyPAd4Hin3tvoy7LaZWmj+FxcRJUNhZE0ddAhkjsz79wL8tiyqzHi G6xE/tE5pUV9UgAtoiz2dinx50c+pOxnFPvE/W2PnFzWsRXZRvh9qJBgd3GndpVd6k 6gN3ZUa2SA2EA== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id eKpVyBq-rVMg; Fri, 1 Sep 2023 15:12:08 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id BB08B3C011BDF; Fri, 1 Sep 2023 15:12:08 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------wInKMWIyf0s9ccEHeAWTQBwR" Message-ID: <1e642014-71e8-9f38-c9b0-3a0f6265b237@cs.ucla.edu> Date: Fri, 1 Sep 2023 15:12:08 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US To: Bruno Haible References: <2119537.OBFZWjSADL@nimes> <2616421.tIAgqjz4sF@nimes> <5413705.29KlJPOoH8@nimes> From: Paul Eggert Organization: UCLA Computer Science Department Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory In-Reply-To: <5413705.29KlJPOoH8@nimes> X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.5 (----) This is a multi-part message in MIME format. --------------wInKMWIyf0s9ccEHeAWTQBwR Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Good, thanks for confirming that the chmod family does not have a similar bug. I installed the attached workaround into coreutils master on Savannah. Please give it a try. --------------wInKMWIyf0s9ccEHeAWTQBwR Content-Type: text/x-patch; charset=UTF-8; name="0001-cp-mv-install-fix-chown-on-Linux-CIFS.patch" Content-Disposition: attachment; filename="0001-cp-mv-install-fix-chown-on-Linux-CIFS.patch" Content-Transfer-Encoding: base64 RnJvbSA1Zjk3MTM2MTYwODc0OWUxMjQ1YzVlYjEyMDk2ZGUyYWNkMzJiZjgzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDEgU2VwIDIwMjMgMTU6MDU6MjEgLTA3MDAKU3ViamVjdDogW1BBVENI XSBjcCxtdixpbnN0YWxsOiBmaXggY2hvd24gb24gTGludXggQ0lGUwoKKiBzcmMvY29weS5j IChjaG93bl9mYWlsdXJlX29rKTogQWxzbyB0cmVhdCBFQUNDRVMgYXMgT0suCi0tLQogTkVX UyAgICAgICB8ICA0ICsrKysKIHNyYy9jb3B5LmMgfCAxMSArKysrKysrKystLQogMiBmaWxl cyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL05FV1MgYi9ORVdTCmluZGV4IGMwMGZmMGNmMi4uNjgwMTgzMmY3IDEwMDY0NAotLS0g YS9ORVdTCisrKyBiL05FV1MKQEAgLTQsNiArNCwxMCBAQCBHTlUgY29yZXV0aWxzIE5FV1Mg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gb3V0bGluZSAtKi0KIAog KiogQnVnIGZpeGVzCiAKKyAgY3AsIG12LCBpbnN0YWxsIG5vIGxvbmdlciBpc3N1ZSBzcHVy aW91cyAiZmFpbGVkIHRvIHByZXNlcnZlIG93bmVyc2hpcCIKKyAgZGlhZ25vc3RpY3Mgd2hl biBjb3B5aW5nIHRvIEdOVS9MaW51eCBDSUZTIGZpbGVzeXN0ZW1zLiAgVGhleSBkbworICB0 aGlzIGJ5IHdvcmtpbmcgYXJvdW5kIGEgTGludXggQ0lGUyBidWcuCisKICAgbnVtZm10IG9w dGlvbnMgbGlrZSAtLXN1ZmZpeCBubyBsb25nZXIgaGF2ZSBhbiBhcmJpdHJhcnkgMTI3LWJ5 dGUgbGltaXQuCiAgIFtidWcgaW50cm9kdWNlZCB3aXRoIG51bWZtdCBpbiBjb3JldXRpbHMt OC4yMV0KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcHkuYyBiL3NyYy9jb3B5LmMKaW5kZXggNDg1 ODc5NTI1Li4wYjNkZTA0ZjMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3B5LmMKKysrIGIvc3JjL2Nv cHkuYwpAQCAtMzQ0OSw5ICszNDQ5LDE2IEBAIGNob3duX2ZhaWx1cmVfb2sgKHN0cnVjdCBj cF9vcHRpb25zIGNvbnN0ICp4KQogewogICAvKiBJZiBub24tcm9vdCB1c2VzIC1wLCBpdCdz IG9rIGlmIHdlIGNhbid0IHByZXNlcnZlIG93bmVyc2hpcC4KICAgICAgQnV0IHJvb3QgcHJv YmFibHkgd2FudHMgdG8ga25vdywgZS5nLiBpZiBORlMgZGlzYWxsb3dzIGl0LAotICAgICBv ciBpZiB0aGUgdGFyZ2V0IHN5c3RlbSBkb2Vzbid0IHN1cHBvcnQgZmlsZSBvd25lcnNoaXAu ICAqLworICAgICBvciBpZiB0aGUgdGFyZ2V0IHN5c3RlbSBkb2Vzbid0IHN1cHBvcnQgZmls ZSBvd25lcnNoaXAuCiAKLSAgcmV0dXJuICgoZXJybm8gPT0gRVBFUk0gfHwgZXJybm8gPT0g RUlOVkFMKSAmJiAheC0+Y2hvd25fcHJpdmlsZWdlcyk7CisgICAgIFRyZWF0IEVBQ0NFUyBs aWtlIEVQRVJNIGFuZCBFSU5WQUwgdG8gd29yayBhcm91bmQgYSBidWcgaW4gTGludXgKKyAg ICAgQ0lGUyA8aHR0cHM6Ly9idWdzLmdudS5vcmcvNjU1OTk+LiAgQWx0aG91Z2ggdGhpcyBt ZWFucyBjb3JldXRpbHMKKyAgICAgd2lsbCBpZ25vcmUgRUFDQ0VTIGVycm9ycyB0aGF0IGl0 IHNob3VsZCByZXBvcnQsIHByb2JsZW1zIHNob3VsZAorICAgICBvY2N1ciBvbmx5IHdoZW4g c29tZSBvdGhlciBwcm9jZXNzIGlzIHJhY2luZyB3aXRoIGNvcmV1dGlscyBhbmQKKyAgICAg Y29yZXV0aWxzIGlzIG5vdCBpbW11bmUgdG8gcmFjZXMgYW55d2F5LiAgKi8KKworICByZXR1 cm4gKChlcnJubyA9PSBFUEVSTSB8fCBlcnJubyA9PSBFSU5WQUwgfHwgZXJybm8gPT0gRUFD Q0VTKQorICAgICAgICAgICYmICF4LT5jaG93bl9wcml2aWxlZ2VzKTsKIH0KIAogLyogU2lt aWxhcmx5LCByZXR1cm4gdHJ1ZSBpZiBpdCdzIE9LIGZvciBjaG1vZCBhbmQgc2ltaWxhciBv cGVyYXRpb25zCi0tIAoyLjM5LjIKCg== --------------wInKMWIyf0s9ccEHeAWTQBwR-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 01 19:05:39 2023 Received: (at 65599) by debbugs.gnu.org; 1 Sep 2023 23:05:39 +0000 Received: from localhost ([127.0.0.1]:34436 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcDCs-00060f-Ug for submit@debbugs.gnu.org; Fri, 01 Sep 2023 19:05:39 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.217]:45033) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcDCq-00060V-QZ for 65599@debbugs.gnu.org; Fri, 01 Sep 2023 19:05:37 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1693609524; cv=none; d=strato.com; s=strato-dkim-0002; b=EMs7CKpGsA+TVZF406GV7S2A3pC2fNiUueSfqyIwEI3QtM8OOIY2Jr5x7vY4/KleWN xrwym4tfoPP+fKGX7aAp/5WwsVOdmC3fKSGXfvt17OqgchPxB3FaB6r+JedFxCktJDYi XqRAEJSBGdwloo6G+uTHv0+3Kt4sBI/OL2N+uV7YQP4mT2CBYpvhejZZh3bWVVaZhjk2 93hpPt3OwEed0fvBPiKI/3narAk+k70rTBRW2hr79x8QmRBWN7Xlz5kvte6bx7QTZP3f wi+AQnnbAkPSZqpibrMCROqdiwBoM51SHNIS5PDHCYiMyk4zcs2qAH2T6xP3S6rIB2GQ CmhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1693609524; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=wcUzdfPXd7raESTEsikrqsrTz1gAEsF7Wdaldjdher8=; b=pI2v9bwoZKHDNVcy1VJWS7SvKv0NyZ9JgCkl6eOos9ThyRgxePG9M0w0TnKewkxK/7 sLCBQCWhGs6Gc4g03Bw/3rfkd0G90Pfy5uXfbrdaAGh0zmlUURwaNtTO44Q47DEa1eyh PHqQHpply2e13+M/WD2OWpU9uT0pNAv2B/p93WR0sxCJwNEJvUnjXFcznQOjMf0bnNL6 oXsr5eP4g3aWPuLkAythp7INFC130xTj5mXcHOdVKPPogCvXzbFajwuwbTf87yWRTs9I xHNi6wHn3Jx/UQPqq35V4ZDAyFyeEqVMPtQIotsGJsw+HI/MQ4dTmcjv3kobaADD1Mnl WGNQ== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1693609524; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=wcUzdfPXd7raESTEsikrqsrTz1gAEsF7Wdaldjdher8=; b=fLgXLn8I4VNF9zLQ2C5lsmQeLaUtOCQ7LAk1U1JzIg/i+4ElSaAcpRa+9R1B30xnkD cvYPH80ySYnaGG6lLXfWRZk5GO6z2IB/wVTErRTRwvP8q4yF4nKZpQv9lKnMJ0agcv4R XBregN1t6v6PixNzjMvubieS2wfC17tfdDVtGRDUWD7Nbk5vOxLJvPvOrwgONs3++FQs frajlrUWnQ9yOufj19VfeEacPHeCyoH8FwInNQP2jpr6jyw39vCwFlXEA1uNAdalm3Cz AK9+V4C/JklvrUQe36uF+zIu2mhvR3a4DLy3MwPMWhJ9yzZh6EZQd/56hU2FjFpiCmN7 /l5Q== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1693609524; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=wcUzdfPXd7raESTEsikrqsrTz1gAEsF7Wdaldjdher8=; b=xYWWLiMml/8bZQCokbW2Hq71zrsIUzCdZUdp0BL8M9qDBSokUFu/n6NnnpFw9ktyvC m/GpabANklC1bZTDSUDw== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOe3f0kAGdVIT+WP7pip5InOxFfHQ==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.8.2 AUTH) with ESMTPSA id z9213ez81N5OI3d (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Sat, 2 Sep 2023 01:05:24 +0200 (CEST) From: Bruno Haible To: Paul Eggert Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory Date: Sat, 02 Sep 2023 01:05:23 +0200 Message-ID: <48391714.MN2xkq1pzW@nimes> In-Reply-To: <5413705.29KlJPOoH8@nimes> References: <2119537.OBFZWjSADL@nimes> <5413705.29KlJPOoH8@nimes> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Paul Eggert wrote: > > If you compile and run the attached > > program on a file that you don't own (e.g., './a.out /'), does it > > incorrectly issue "Permission denied" instead of "Operation not > > permitted" diagnostics? and I replied: > In this case, the diagnostic is "Operation not permitted" (from EPERM): > > $ ./a.out / > lchown: Operation not permitted > fchownat: Operation not permitted > chown: Operation not permitted > fchown: Operation not permitted Oops, I mistakenly compiled and ran the wrong test program. Here are the results for the test program you meant: $ ./a.out / lchmod: Operation not permitted fchmodat: Operation not permitted chmod: Operation not permitted fchmod: Operation not permitted $ strace ./a.out / ... chmod("/proc/self/fd/3", 0755) = -1 EPERM (Operation not permitted) close(3) = 0 dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) getrandom("\xd5\xae\x46\x10\x0d\x5a\x98\x9a", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0x5575761c2000 brk(0x5575761e3000) = 0x5575761e3000 newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0xd), ...}, AT_EMPTY_PATH) = 0 write(3, "lchmod: Operation not permitted\n", 32lchmod: Operation not permitted ) = 32 close(3) = 0 openat(AT_FDCWD, "/", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_PATH) = 3 newfstatat(3, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0 chmod("/proc/self/fd/3", 0755) = -1 EPERM (Operation not permitted) close(3) = 0 dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0xd), ...}, AT_EMPTY_PATH) = 0 write(3, "fchmodat: Operation not permitte"..., 34fchmodat: Operation not permitted ) = 34 close(3) = 0 chmod("/", 0755) = -1 EPERM (Operation not permitted) dup(2) = 3 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0xd), ...}, AT_EMPTY_PATH) = 0 write(3, "chmod: Operation not permitted\n", 31chmod: Operation not permitted ) = 31 close(3) = 0 openat(AT_FDCWD, "/", O_RDONLY|O_NOFOLLOW) = 3 fchmod(3, 0755) = -1 EPERM (Operation not permitted) dup(2) = 4 fcntl(4, F_GETFL) = 0x2 (flags O_RDWR) newfstatat(4, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0xd), ...}, AT_EMPTY_PATH) = 0 write(4, "fchmod: Operation not permitted\n", 32fchmod: Operation not permitted ) = 32 close(4) = 0 exit_group(1) = ? +++ exited with 1 +++ From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 01 19:12:43 2023 Received: (at 65599) by debbugs.gnu.org; 1 Sep 2023 23:12:43 +0000 Received: from localhost ([127.0.0.1]:34440 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcDJi-0006As-TD for submit@debbugs.gnu.org; Fri, 01 Sep 2023 19:12:43 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.160]:42959) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcDJg-0006Ag-Dm for 65599@debbugs.gnu.org; Fri, 01 Sep 2023 19:12:41 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1693609949; cv=none; d=strato.com; s=strato-dkim-0002; b=slv7CGwpqVpPXbwr4LWrIntGkHLdX4fHMHatW6Eu09kGq50Z1l0xl5mUMo1UqD5IQB bUdiTri5uUuzYaXDjKJ+N17IYbi1+AG0SoOn91HDlrTqYcSJWkqMUcXyLaf/70BMkYJ5 8A3xuf6BUFXuS/e2LeCebVQOSVvPb55qzbPz6roVQNZ+z8YRPoZ9XZDWIr0v32Y3+B2H HcgYVTaTWxs54cX0H8xX2KrSoFzxCrFg3BAIHvvsDQKsinjg4mwIM90QE6wsak2kuKx/ iB7TkWwPeMa7Qhrk2vB6TK1TU2DddVtDEeslUB2tGI9BfAq316/QHCqwqxd/ZEsWT8MC KmEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1693609949; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=ZyRTZxv7C3qXt+xWS6ILn3TNi8fWTDskjxezBNYkXZc=; b=OD22QLBo6jsrD48J7J5UHrTuVbnWBOUnLaJAaDvTmlloVfRu8kqnjxXRW+6NvMXeKh X/m13pYFkzkCdaWyIB2OZIfh+coZWI2IO8OzTLsn5guSXaN37Y1u48MxWFYKGicWFXsN 4V63nIeBOhIEpYnhfa+eFr1VbDvk75AQ03JBLqxKmnLhWTlp1HRR+l88O3K2hCyd1MQX 3gx6KW6luZCzk+GyGCuXeTX4Iur0uXzYVO5WPQayqtjinN0N8rOhOXwZR9AT5dmuzUN4 /Lst8o03pN6j3dmgHqfu2L3zgnFDXAQxXPjQUf29WtMT6MIewngShUIv46qSry/W9Ax7 LuFg== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1693609949; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=ZyRTZxv7C3qXt+xWS6ILn3TNi8fWTDskjxezBNYkXZc=; b=jZKYhTHBvpPwgAp5CBzrv1PPpcLwnYGNZ4k2QD0W95TpohDYElXEmZJCG0NCne9Kk5 EZcgeZeTSCOWqodTtieYmrpI+AZ4ypUf/IAiWNbvLMDO51Yv2br5+C1k9kuZ0EbbNcjq 71qvlXQ6OYiOiRIbzslQXrycq0LRJA8zdJDKU3U03eNWfYIYU0kopLDSiGaSbONelqCP lDXnc5KAJS90bj75PPMUihTCAFfUuaUMDePZP9WQk2ucH6exniH0esRpDkGy7CKRxpa4 /vq32Lb4suqdWhr7DjRFKnSK5gjZJGlTYTRv/O+PyAZ/uck2rWequOVsPHB7MMn64ZUq qJbw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1693609949; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=ZyRTZxv7C3qXt+xWS6ILn3TNi8fWTDskjxezBNYkXZc=; b=tI5ciK2fPLnLZ6GH9rL99raFQRVNFxDXffegAvzsG9PwJQp5Wp/0MY/tc652/4uHUo jB6nNwVx/EELIJWduyAg== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOe3f0kAGdVIT+WP7pip5InOxFfHQ==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.8.2 AUTH) with ESMTPSA id z9213ez81NCTI49 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Sat, 2 Sep 2023 01:12:29 +0200 (CEST) From: Bruno Haible To: Paul Eggert Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory Date: Sat, 02 Sep 2023 01:12:28 +0200 Message-ID: <1741690.vCJZsxu672@nimes> In-Reply-To: <1e642014-71e8-9f38-c9b0-3a0f6265b237@cs.ucla.edu> References: <2119537.OBFZWjSADL@nimes> <5413705.29KlJPOoH8@nimes> <1e642014-71e8-9f38-c9b0-3a0f6265b237@cs.ucla.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Paul Eggert wrote: > Good, thanks for confirming that the chmod family does not have a > similar bug. Well, you asked me to try it on / but / is an ext4 FS, not a CIFS FS on my system. Should I try it also on a directory inside the CIFS mount? > I installed the attached workaround into coreutils master on Savannah. > Please give it a try. It does remove the diagnostic as intended: Preparations: $ mkdir dir3 dir4 $ echo foo > dir3/file3 $ echo foo > dir4/file4 With coreutils-9.4: $ mv dir3 /media/nas/bruno/ /gnu-inst-coreutils/9.4/bin/mv: failed to preserve ownership for '/media/nas/bruno/dir3': Permission denied With coreutils from git now: $ src/mv dir4 /media/nas/bruno/ I had worries regarding losing diagnostics that would be worth seeing. But in fact, coreutils-9.4 did not actually produce such a diagnostic. So, there is no regression for this case. Preparations: $ mkdir dir1 dir2 $ echo foo > dir1/file1 $ echo foo > dir2/file2 $ chmod a+rwx dir1 dir2 $ sudo chown root:root dir1 dir2 With coreutils-9.4: $ mv dir1 /media/nas/bruno/dir1 With coreutils from git now: $ src/mv dir2 /media/nas/bruno/dir2 Bruno From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 01 22:53:19 2023 Received: (at 65599) by debbugs.gnu.org; 2 Sep 2023 02:53:19 +0000 Received: from localhost ([127.0.0.1]:34621 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcGlC-0005bC-Pw for submit@debbugs.gnu.org; Fri, 01 Sep 2023 22:53:19 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:46838) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcGlA-0005ax-5p for 65599@debbugs.gnu.org; Fri, 01 Sep 2023 22:53:17 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 3162A3C011BDF; Fri, 1 Sep 2023 19:53:00 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 6ogXx9wfMjBr; Fri, 1 Sep 2023 19:53:00 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id EB6D63C011BE8; Fri, 1 Sep 2023 19:52:59 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu EB6D63C011BE8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1693623180; bh=ykLQYWZs1pLMiZWm293yxZf4E0hJs0UvPp1XjNuJgKM=; h=Message-ID:Date:MIME-Version:To:From; b=j+/82cw1SwHcDrrthkt72XFApUEuQ0xHKc91tqgne9HlCS9NamtA3swu7VVl1Rlwa Rjl0mPsTEz558S2SqPuIj4AHewPyPpIUJBzODXR+xWnpBOFuWOSKeNBGF6Ca0wTIzm ZakF9So1znI0FPyOEgGr5Scanx1NmJQxMAqidV/0ZSWjI/m6kF5nNZriBKRIEthYDz HjMPhqZ1kkaMW8cWlYYFliGC5vN/OLdh7lmVAm8sDZ+ZuPzWvGt47oNP3aXw+ssngC EFEM/u1+H6crm65Ia3O8P9iRO2XIQGHnw8cgbfXgVibqhCOWAiT1+bxzCH7GUGW7TW NXyzhHjYTYPog== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Upao3dVT2-J8; Fri, 1 Sep 2023 19:52:59 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id CBB973C011BDF; Fri, 1 Sep 2023 19:52:59 -0700 (PDT) Message-ID: Date: Fri, 1 Sep 2023 19:52:59 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory Content-Language: en-US To: Bruno Haible References: <2119537.OBFZWjSADL@nimes> <5413705.29KlJPOoH8@nimes> <1e642014-71e8-9f38-c9b0-3a0f6265b237@cs.ucla.edu> <1741690.vCJZsxu672@nimes> From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <1741690.vCJZsxu672@nimes> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.5 (----) On 2023-09-01 16:12, Bruno Haible wrote: > Well, you asked me to try it on / but / is an ext4 FS, not a CIFS FS > on my system. Should I try it also on a directory inside the CIFS mount? Yes please. If chmod also does not work coreutils might need more workarounds. From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 01 22:57:16 2023 Received: (at 65599) by debbugs.gnu.org; 2 Sep 2023 02:57:16 +0000 Received: from localhost ([127.0.0.1]:34638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcGp2-0005hr-6z for submit@debbugs.gnu.org; Fri, 01 Sep 2023 22:57:16 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:45620) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcGp1-0005hd-3t for 65599@debbugs.gnu.org; Fri, 01 Sep 2023 22:57:15 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id EB9883C011BDF; Fri, 1 Sep 2023 19:56:59 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id n-mhFZo95NoH; Fri, 1 Sep 2023 19:56:59 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id B28063C011BE8; Fri, 1 Sep 2023 19:56:59 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu B28063C011BE8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1693623419; bh=UGyo4snByU31fLbbAf0okLOgdZ3kLQjNteOki3B6gh0=; h=Message-ID:Date:MIME-Version:From:To; b=lk9WIdbteOk1B+ARCupUKgJ7hOxHu0RIlWY/Y8tV3anKN+A8NvhxGXN678gzoTeEH PDwNj+UiQu4C9C6wjrw178Q8JxkhpoYhpO87PumVq43sZ/Zofc4M3L4EE+2vBSq/YE R4Ca6D7Sa05FRCtiENeedM+8zgdb9HEknjqVdo6tE74EBeHNwHrSNluJ9j9r0nJUbJ ypmyG9GAHX4+Y1Hh/ArJXX/6GoDksRrrAhTCkqh+l1ssSPSWg1xXNgpmPjoqpldOkn KOmFHMJRaVdxcRmlyE0moGsOU+fKOK+DIQ0i/nd/8aDfonYn0uVCCoKPjD83MZm+RP NEnf1r+IJ0Ocw== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Oertv8LkX6jj; Fri, 1 Sep 2023 19:56:59 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 90EB23C011BDF; Fri, 1 Sep 2023 19:56:59 -0700 (PDT) Message-ID: <14ed6c5b-157b-cb68-751a-34be0732dcab@cs.ucla.edu> Date: Fri, 1 Sep 2023 19:56:59 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory Content-Language: en-US From: Paul Eggert To: Bruno Haible References: <2119537.OBFZWjSADL@nimes> <5413705.29KlJPOoH8@nimes> <1e642014-71e8-9f38-c9b0-3a0f6265b237@cs.ucla.edu> <1741690.vCJZsxu672@nimes> Organization: UCLA Computer Science Department In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.5 (----) On 2023-09-01 19:52, Paul Eggert wrote: > Yes please. If chmod also does not work coreutils might need more > workarounds. Just to be clear; please try it on a file where chmod should fail because you don't own the file and you're not root. chmod should fail with EPERM in this case; it it fails with EACCES it's buggy. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 02 07:18:34 2023 Received: (at 65599) by debbugs.gnu.org; 2 Sep 2023 11:18:34 +0000 Received: from localhost ([127.0.0.1]:35312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcOeA-0001MT-64 for submit@debbugs.gnu.org; Sat, 02 Sep 2023 07:18:34 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.161]:46707) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcOe6-0001MF-Dt for 65599@debbugs.gnu.org; Sat, 02 Sep 2023 07:18:32 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1693653498; cv=none; d=strato.com; s=strato-dkim-0002; b=OAWv8sajRqxzvWiwlpIK+DmhAqlme6QwbHG4ikP7nftJiP4bHyxSCgcmIioLMev+qg emJOiHpR1cnLRlOcVQW2wDqPMz5H42DHiogeHgmyiKxc6fFZvMWuKfGuh/AaUdH7Eo93 tvcl9qr83js1FbuvGsqFXkicMini27HmdWxuxKqieUbWZhEfxp9Jz16ui6wTff2sli6c 4/ITg4C257X0KEiYPhafHnVCuUmDiIp00Vhkf/cXBc5AMFRakzEweko4qeH2fXzQJzFx AkJErm1DepYjh71LlKFY40OJZMYB6YPp4syGVcAnMdxfCYSRbd3FIPugRdZ6L/RPhWWi DLqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1693653498; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=5zHJ8fgZD7sSSffXUkc0wOqW5uZrHjSorYw2SXrvBoI=; b=bjh3Pt0n19LGiKHYF34rT8Y8ST06a4R0FYs5ZrFecwLRrNg5mHAxyIfKpgtrpvZ/n6 450ExAiUuQXCnpDJFOQ+LkAcPhKbqIDxt/OlnACGCqIdJZcgUm392qnOrPkX7Q1Q42Q9 w4N5VLvSEEXNW6dnuEUq5eFqkr20b+30HgGdA3m1i85L3iUfd/U28N17oFZWEylfMMpQ sswmEmS48glvQ6bYBE1etDqjoQFVw8vQ8XI/WwgMFmYE3uWi+2NGu7/uAvEqR8ZysQi/ I0fBStnZ84vss+G5YT2z+95aHUwjtJEiBS58IPAj2oBZNU04bJ4tLGRd0PVBWDgcwpav AW+g== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1693653498; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=5zHJ8fgZD7sSSffXUkc0wOqW5uZrHjSorYw2SXrvBoI=; b=WlZh5kngXjks0W8a5kpMXBrtSrHuxf6MnTT7kegO8tbvkIWBrJT0ZTRvlHeOb6eelv Xi6ZEHbFmAysowbfNii0SsRfET1mHMp9w8x012qvGmik2KXrLHOuVlwRvcK1D6zzOcfx kO0Moj76b7dvdFNeOvRkd0iSCx6bXqjtCT0hRndL7nxoMytBZtLbFEdl66/kOC19t9ZQ B76fVboEM1dkUSa9W81218UzxhVuBxTbZ6gd5UmQh50qRKk04QHgDap5oOdhT5JPYvxk TS9qXLbaypussmE6/nthT1p3fMhcelw4jlNZtaaT6urPVrHYDZRhaSNuYcoJYU5l5imZ avdw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1693653498; s=strato-dkim-0003; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=5zHJ8fgZD7sSSffXUkc0wOqW5uZrHjSorYw2SXrvBoI=; b=2Txt6Z2zxeam2MA4nzYKgiQYKpYWnChlCzQBrBlQdTOZOWXBGDc3af8bXhGufX1UlA DCM6PqIZ5GHwT2BNwzAw== X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zq68+3cfpOe3f0kAGdVIT+WP7pip5InOxFfHQ==" Received: from nimes.localnet by smtp.strato.de (RZmta 49.8.2 AUTH) with ESMTPSA id z9213ez82BIHJEb (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate); Sat, 2 Sep 2023 13:18:17 +0200 (CEST) From: Bruno Haible To: Paul Eggert Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory Date: Sat, 02 Sep 2023 13:18:17 +0200 Message-ID: <3350012.usfYGdeWWP@nimes> In-Reply-To: <14ed6c5b-157b-cb68-751a-34be0732dcab@cs.ucla.edu> References: <2119537.OBFZWjSADL@nimes> <14ed6c5b-157b-cb68-751a-34be0732dcab@cs.ucla.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 65599 Cc: 65599@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Paul Eggert wrote: > Yes please. If chmod also does not work coreutils might need more > workarounds. > > Just to be clear; please try it on a file where chmod should fail > because you don't own the file and you're not root. chmod should fail > with EPERM in this case; it it fails with EACCES it's buggy. Thanks. chmod fails with EACCES, hence per POSIX it's buggy. See: On the server I have 2 files and 2 directories: # ls -ld dir1 dir1/file1 dir2 dir2/file2 drwxrwxr-x 2 bruno everyone 4096 Sep 2 12:58 dir1/ -rw-rw-r-- 1 bruno everyone 4 Sep 2 00:52 dir1/file1 drwxrwxrwx 2 admin administ 4096 Sep 2 00:54 dir2/ -rw-rw-r-- 1 admin administ 4 Sep 2 00:54 dir2/file2 The user that exports the mount point is 'bruno'. But since dir2 and dir2/file2 are not owned by 'bruno', an error will (and should) occur when these two are manipulated through the CIFS client. chown fails; that's the problem you already committed a workaround for: $ ./fchownat-test /media/nas/bruno/dir1/file1 lchown: Permission denied fchownat: Permission denied chown: Permission denied fchown: Permission denied $ ./fchownat-test /media/nas/bruno/dir1 lchown: Permission denied fchownat: Permission denied chown: Permission denied fchown: Permission denied $ ./fchownat-test /media/nas/bruno/dir2/file2 lchown: Permission denied fchownat: Permission denied chown: Permission denied fchown: Permission denied $ ./fchownat-test /media/nas/bruno/dir2 lchown: Permission denied fchownat: Permission denied chown: Permission denied fchown: Permission denied chmod also fails with EACCES instead of EPERM: $ ./fchmodat-test /media/nas/bruno/dir1/file1 $ ./fchmodat-test /media/nas/bruno/dir1 $ ./fchmodat-test /media/nas/bruno/dir2/file2 lchmod: Permission denied fchmodat: Permission denied chmod: Permission denied fchmod: Permission denied $ ./fchmodat-test /media/nas/bruno/dir2 lchmod: Permission denied fchmodat: Permission denied chmod: Permission denied fchmod: Permission denied The same thing with strace: $ strace ./fchmodat-test /media/nas/bruno/dir2/file2 ... newfstatat(AT_FDCWD, "/media/nas/bruno/dir2/file2", {st_mode=S_IFREG|0664, st_size=4, ...}, AT_SYMLINK_NOFOLLOW) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir2/file2", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_PATH) = 3 newfstatat(3, "", {st_mode=S_IFREG|0664, st_size=4, ...}, AT_EMPTY_PATH) = 0 chmod("/proc/self/fd/3", 0664) = -1 EACCES (Permission denied) close(3) = 0 dup(2) = 3 fcntl(3, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND) getrandom("\x68\x8f\xbd\x08\xf8\x4b\xa9\xa5", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0x5563c5d01000 brk(0x5563c5d22000) = 0x5563c5d22000 newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x5), ...}, AT_EMPTY_PATH) = 0 write(3, "lchmod: Permission denied\n", 26lchmod: Permission denied ) = 26 close(3) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir2/file2", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_PATH) = 3 newfstatat(3, "", {st_mode=S_IFREG|0664, st_size=4, ...}, AT_EMPTY_PATH) = 0 chmod("/proc/self/fd/3", 0664) = -1 EACCES (Permission denied) close(3) = 0 dup(2) = 3 fcntl(3, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x5), ...}, AT_EMPTY_PATH) = 0 write(3, "fchmodat: Permission denied\n", 28fchmodat: Permission denied ) = 28 close(3) = 0 chmod("/media/nas/bruno/dir2/file2", 0664) = -1 EACCES (Permission denied) dup(2) = 3 fcntl(3, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x5), ...}, AT_EMPTY_PATH) = 0 write(3, "chmod: Permission denied\n", 25chmod: Permission denied ) = 25 close(3) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir2/file2", O_RDONLY|O_NOFOLLOW) = 3 fchmod(3, 0664) = -1 EACCES (Permission denied) dup(2) = 4 fcntl(4, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND) newfstatat(4, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x5), ...}, AT_EMPTY_PATH) = 0 write(4, "fchmod: Permission denied\n", 26fchmod: Permission denied ) = 26 close(4) = 0 exit_group(1) = ? +++ exited with 1 +++ $ strace ./fchmodat-test /media/nas/bruno/dir2 ... newfstatat(AT_FDCWD, "/media/nas/bruno/dir2", {st_mode=S_IFDIR|0777, st_size=0, ...}, AT_SYMLINK_NOFOLLOW) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir2", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_PATH) = 3 newfstatat(3, "", {st_mode=S_IFDIR|0777, st_size=0, ...}, AT_EMPTY_PATH) = 0 chmod("/proc/self/fd/3", 0777) = -1 EACCES (Permission denied) close(3) = 0 dup(2) = 3 fcntl(3, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND) getrandom("\xf3\x8f\xf7\xff\xb4\x91\xcf\xcf", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0x55b7056a1000 brk(0x55b7056c2000) = 0x55b7056c2000 newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x5), ...}, AT_EMPTY_PATH) = 0 write(3, "lchmod: Permission denied\n", 26lchmod: Permission denied ) = 26 close(3) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir2", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_PATH) = 3 newfstatat(3, "", {st_mode=S_IFDIR|0777, st_size=0, ...}, AT_EMPTY_PATH) = 0 chmod("/proc/self/fd/3", 0777) = -1 EACCES (Permission denied) close(3) = 0 dup(2) = 3 fcntl(3, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x5), ...}, AT_EMPTY_PATH) = 0 write(3, "fchmodat: Permission denied\n", 28fchmodat: Permission denied ) = 28 close(3) = 0 chmod("/media/nas/bruno/dir2", 0777) = -1 EACCES (Permission denied) dup(2) = 3 fcntl(3, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND) newfstatat(3, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x5), ...}, AT_EMPTY_PATH) = 0 write(3, "chmod: Permission denied\n", 25chmod: Permission denied ) = 25 close(3) = 0 openat(AT_FDCWD, "/media/nas/bruno/dir2", O_RDONLY|O_NOFOLLOW) = 3 fchmod(3, 0777) = -1 EACCES (Permission denied) dup(2) = 4 fcntl(4, F_GETFL) = 0x402 (flags O_RDWR|O_APPEND) newfstatat(4, "", {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0x5), ...}, AT_EMPTY_PATH) = 0 write(4, "fchmod: Permission denied\n", 26fchmod: Permission denied ) = 26 close(4) = 0 exit_group(1) = ? +++ exited with 1 +++ Bruno From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 02 16:44:33 2023 Received: (at 65599-done) by debbugs.gnu.org; 2 Sep 2023 20:44:33 +0000 Received: from localhost ([127.0.0.1]:38756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcXTt-0007Su-5U for submit@debbugs.gnu.org; Sat, 02 Sep 2023 16:44:33 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:34110) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qcXTq-0007SQ-HE for 65599-done@debbugs.gnu.org; Sat, 02 Sep 2023 16:44:32 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id D87C23C011BDF; Sat, 2 Sep 2023 13:44:13 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id esZriMIq2SZq; Sat, 2 Sep 2023 13:44:13 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 7F4F33C011BEA; Sat, 2 Sep 2023 13:44:13 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 7F4F33C011BEA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1693687453; bh=XE9H1zjrPJcJ9aY6n1PQJCF+kqQsNdkTI3PUDk3HL+4=; h=Message-ID:Date:MIME-Version:To:From; b=FzhDJhk8FfxV6VoXOxYZshOzvaXjIgQSfKpuLWXtRReXkghopoZ9i8ThS+lroGYSy oXs3AtOEP3nPQlCMq+tiMYULQIJmqwaF+Wsvhgg9hr7O3zIIl2jc2jKuqxDFELNeGq HlFTHxm7vj/a+UHSb0fxm/cprzAEb5FLmNgssgNZfAWVbiqkjT31YnlPWZf7j0aAEg wshCiLjGq+PDx6eVYAWp/YWPZpUorq0wJq9r033onyDVaRxxbCP0CSSg+NNIy9Ue5p ykizCWw1dhEcLcLxhGcTMiN694XlWPRECRS1W0Y02I8HU29i/NxFVzjxR7n0hTAWNX hIAIF5enmGK3A== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id YBT-_AtGQl0k; Sat, 2 Sep 2023 13:44:13 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 5C9643C011BDF; Sat, 2 Sep 2023 13:44:13 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------0OvXLnEoXxefjXiNw96bzCd9" Message-ID: Date: Sat, 2 Sep 2023 13:44:11 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US To: Bruno Haible References: <2119537.OBFZWjSADL@nimes> <14ed6c5b-157b-cb68-751a-34be0732dcab@cs.ucla.edu> <3350012.usfYGdeWWP@nimes> From: Paul Eggert Organization: UCLA Computer Science Department Subject: Re: bug#65599: mv and cp give a pointless warning when moving/copying a directory In-Reply-To: <3350012.usfYGdeWWP@nimes> X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: 65599-done Cc: 65599-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.5 (----) This is a multi-part message in MIME format. --------------0OvXLnEoXxefjXiNw96bzCd9 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2023-09-02 04:18, Bruno Haible wrote: > chmod fails with EACCES, hence per POSIX > > it's buggy. Thanks, I reported the bug with chmod, chown, etc. to the linux-cifs mailing list, here: https://lore.kernel.org/linux-cifs/fe8ab586-c697-583b-650d-3adac64df7b2@cs.ucla.edu/T/#u I did some testing with fsetxattr and found that it has a similar issue even with ext4; for example, setxattr("/", "a", "b", 1, 0) fails with EACCES. This is not a POSIX violation, since POSIX lacks setxattr. However it's bad form. And it means coreutils needs the attached workaround not just for CIFS, but also for ext4 in some (rare) cases. I installed the attached workaround on coreutils and am closing the bug report. Thanks again for mentioning it. --------------0OvXLnEoXxefjXiNw96bzCd9 Content-Type: text/x-patch; charset=UTF-8; name="0001-cp-mv-install-fix-chmod-on-Linux-CIFS.patch" Content-Disposition: attachment; filename="0001-cp-mv-install-fix-chmod-on-Linux-CIFS.patch" Content-Transfer-Encoding: base64 RnJvbSA5Y2Q1MmJkOTk5MzE2M2MyZWY4YjNkNjJiNzU3YzU3M2ZiNTMyMGRmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDIgU2VwIDIwMjMgMTM6Mjc6NDUgLTA3MDAKU3ViamVjdDogW1BBVENI XSBjcCxtdixpbnN0YWxsOiBmaXggY2htb2Qgb24gTGludXggQ0lGUwoKVGhpcyBidWcgb2Nj dXJzIG9ubHkgd2hlbiB0ZW1wb3JhcmlseSBzZXR0aW5nIHRoZSBtb2RlIHRvIHRoZQppbnRl cnNlY3Rpb24gb2Ygb2xkIGFuZCBuZXcgbW9kZXMgd2hlbiBjaGFuZ2luZyBvd25lcnNoaXAu Ciogc3JjL2NvcHkuYyAob3duZXJfZmFpbHVyZV9vayk6IFRyZWF0IEVBQ0NFUyBsaWtlIEVQ RVJNLgotLS0KIE5FV1MgICAgICAgfCA2ICsrKy0tLQogc3JjL2NvcHkuYyB8IDMgKystCiAy IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9ORVdTIGIvTkVXUwppbmRleCA2ODAxODMyZjcuLjJhZGVhMWUxMSAxMDA2NDQK LS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC00LDkgKzQsOSBAQCBHTlUgY29yZXV0aWxzIE5F V1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gb3V0bGluZSAtKi0K IAogKiogQnVnIGZpeGVzCiAKLSAgY3AsIG12LCBpbnN0YWxsIG5vIGxvbmdlciBpc3N1ZSBz cHVyaW91cyAiZmFpbGVkIHRvIHByZXNlcnZlIG93bmVyc2hpcCIKLSAgZGlhZ25vc3RpY3Mg d2hlbiBjb3B5aW5nIHRvIEdOVS9MaW51eCBDSUZTIGZpbGVzeXN0ZW1zLiAgVGhleSBkbwot ICB0aGlzIGJ5IHdvcmtpbmcgYXJvdW5kIGEgTGludXggQ0lGUyBidWcuCisgIGNwLCBtdiwg YW5kIGluc3RhbGwgbm8gbG9uZ2VyIGlzc3VlIHNwdXJpb3VzIGRpYWdub3N0aWNzIGxpa2Ug ImZhaWxlZAorICB0byBwcmVzZXJ2ZSBvd25lcnNoaXAiIHdoZW4gY29weWluZyB0byBHTlUv TGludXggQ0lGUyBmaWxlIHN5c3RlbXMuCisgIFRoZXkgZG8gdGhpcyBieSB3b3JraW5nIGFy b3VuZCBzb21lIExpbnV4IENJRlMgYnVncy4KIAogICBudW1mbXQgb3B0aW9ucyBsaWtlIC0t c3VmZml4IG5vIGxvbmdlciBoYXZlIGFuIGFyYml0cmFyeSAxMjctYnl0ZSBsaW1pdC4KICAg W2J1ZyBpbnRyb2R1Y2VkIHdpdGggbnVtZm10IGluIGNvcmV1dGlscy04LjIxXQpkaWZmIC0t Z2l0IGEvc3JjL2NvcHkuYyBiL3NyYy9jb3B5LmMKaW5kZXggMGIzZGUwNGYzLi45ZjFmM2U4 NWEgMTAwNjQ0Ci0tLSBhL3NyYy9jb3B5LmMKKysrIGIvc3JjL2NvcHkuYwpAQCAtMzQ2OCw3 ICszNDY4LDggQEAgY2hvd25fZmFpbHVyZV9vayAoc3RydWN0IGNwX29wdGlvbnMgY29uc3Qg KngpCiBzdGF0aWMgYm9vbAogb3duZXJfZmFpbHVyZV9vayAoc3RydWN0IGNwX29wdGlvbnMg Y29uc3QgKngpCiB7Ci0gIHJldHVybiAoKGVycm5vID09IEVQRVJNIHx8IGVycm5vID09IEVJ TlZBTCkgJiYgIXgtPm93bmVyX3ByaXZpbGVnZXMpOworICByZXR1cm4gKChlcnJubyA9PSBF UEVSTSB8fCBlcnJubyA9PSBFSU5WQUwgfHwgZXJybm8gPT0gRUFDQ0VTKQorICAgICAgICAg ICYmICF4LT5vd25lcl9wcml2aWxlZ2VzKTsKIH0KIAogLyogUmV0dXJuIHRoZSB1c2VyJ3Mg dW1hc2ssIGNhY2hpbmcgdGhlIHJlc3VsdC4KLS0gCjIuMzkuMgoK --------------0OvXLnEoXxefjXiNw96bzCd9-- From unknown Fri Sep 19 23:02:06 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 01 Oct 2023 11:24:34 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator