Revision b928095b0a7cff7fb9fcf4c706348ceb8ab2c295 authored by Miklos Szeredi on 24 September 2014, 15:56:17 UTC, committed by Al Viro on 27 September 2014, 01:16:42 UTC
If overwriting an empty directory with rename, then need to drop the extra nlink. Test prog: #include <stdio.h> #include <fcntl.h> #include <err.h> #include <sys/stat.h> int main(void) { const char *test_dir1 = "test-dir1"; const char *test_dir2 = "test-dir2"; int res; int fd; struct stat statbuf; res = mkdir(test_dir1, 0777); if (res == -1) err(1, "mkdir(\"%s\")", test_dir1); res = mkdir(test_dir2, 0777); if (res == -1) err(1, "mkdir(\"%s\")", test_dir2); fd = open(test_dir2, O_RDONLY); if (fd == -1) err(1, "open(\"%s\")", test_dir2); res = rename(test_dir1, test_dir2); if (res == -1) err(1, "rename(\"%s\", \"%s\")", test_dir1, test_dir2); res = fstat(fd, &statbuf); if (res == -1) err(1, "fstat(%i)", fd); if (statbuf.st_nlink != 0) { fprintf(stderr, "nlink is %lu, should be 0\n", statbuf.st_nlink); return 1; } return 0; } Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Cc: stable@vger.kernel.org Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
1 parent 0f33be0
File | Mode | Size |
---|---|---|
devices | ||
3ds_debugboard.c | -rw-r--r-- | 5.6 KB |
3ds_debugboard.h | -rw-r--r-- | 542 bytes |
Kconfig | -rw-r--r-- | 19.6 KB |
Makefile | -rw-r--r-- | 4.1 KB |
anatop.c | -rw-r--r-- | 3.1 KB |
avic.c | -rw-r--r-- | 5.8 KB |
board-mx31lilly.h | -rw-r--r-- | 1.3 KB |
board-mx31lite.h | -rw-r--r-- | 1.3 KB |
board-mx31moboard.h | -rw-r--r-- | 1.3 KB |
board-pcm038.h | -rw-r--r-- | 1.3 KB |
clk-busy.c | -rw-r--r-- | 4.4 KB |
clk-fixup-div.c | -rw-r--r-- | 3.3 KB |
clk-fixup-mux.c | -rw-r--r-- | 2.6 KB |
clk-gate2.c | -rw-r--r-- | 3.3 KB |
clk-imx1.c | -rw-r--r-- | 5.0 KB |
clk-imx21.c | -rw-r--r-- | 9.0 KB |
clk-imx25.c | -rw-r--r-- | 17.6 KB |
clk-imx27.c | -rw-r--r-- | 14.7 KB |
clk-imx31.c | -rw-r--r-- | 10.2 KB |
clk-imx35.c | -rw-r--r-- | 14.0 KB |
clk-imx51-imx53.c | -rw-r--r-- | 31.5 KB |
clk-imx6q.c | -rw-r--r-- | 33.2 KB |
clk-imx6sl.c | -rw-r--r-- | 23.6 KB |
clk-imx6sx.c | -rw-r--r-- | 38.1 KB |
clk-pfd.c | -rw-r--r-- | 3.3 KB |
clk-pllv1.c | -rw-r--r-- | 2.4 KB |
clk-pllv2.c | -rw-r--r-- | 6.3 KB |
clk-pllv3.c | -rw-r--r-- | 8.5 KB |
clk-vf610.c | -rw-r--r-- | 18.6 KB |
clk.c | -rw-r--r-- | 1.7 KB |
clk.h | -rw-r--r-- | 4.0 KB |
common.h | -rw-r--r-- | 4.4 KB |
cpu-imx25.c | -rw-r--r-- | 955 bytes |
cpu-imx27.c | -rw-r--r-- | 1.9 KB |
cpu-imx31.c | -rw-r--r-- | 1.8 KB |
cpu-imx35.c | -rw-r--r-- | 927 bytes |
cpu-imx5.c | -rw-r--r-- | 2.4 KB |
cpu.c | -rw-r--r-- | 3.1 KB |
cpuidle-imx5.c | -rw-r--r-- | 965 bytes |
cpuidle-imx6q.c | -rw-r--r-- | 1.7 KB |
cpuidle-imx6sl.c | -rw-r--r-- | 1.2 KB |
cpuidle.h | -rw-r--r-- | 696 bytes |
crmregs-imx3.h | -rw-r--r-- | 11.0 KB |
devices-imx1.h | -rw-r--r-- | 1.1 KB |
devices-imx21.h | -rw-r--r-- | 2.2 KB |
devices-imx25.h | -rw-r--r-- | 3.4 KB |
devices-imx27.h | -rw-r--r-- | 3.4 KB |
devices-imx31.h | -rw-r--r-- | 3.3 KB |
devices-imx35.h | -rw-r--r-- | 3.5 KB |
ehci-imx25.c | -rw-r--r-- | 2.7 KB |
ehci-imx27.c | -rw-r--r-- | 2.3 KB |
ehci-imx31.c | -rw-r--r-- | 2.3 KB |
ehci-imx35.c | -rw-r--r-- | 2.7 KB |
ehci.h | -rw-r--r-- | 1.4 KB |
epit.c | -rw-r--r-- | 5.4 KB |
eukrea-baseboards.h | -rw-r--r-- | 1.9 KB |
eukrea_mbimx27-baseboard.c | -rw-r--r-- | 8.5 KB |
eukrea_mbimxsd25-baseboard.c | -rw-r--r-- | 7.8 KB |
eukrea_mbimxsd35-baseboard.c | -rw-r--r-- | 8.3 KB |
gpc.c | -rw-r--r-- | 3.1 KB |
hardware.h | -rw-r--r-- | 4.6 KB |
headsmp.S | -rw-r--r-- | 764 bytes |
hotplug.c | -rw-r--r-- | 1.5 KB |
iim.h | -rw-r--r-- | 2.9 KB |
imx25-dt.c | -rw-r--r-- | 1006 bytes |
imx27-dt.c | -rw-r--r-- | 1.1 KB |
imx31-dt.c | -rw-r--r-- | 1.1 KB |
imx35-dt.c | -rw-r--r-- | 1.1 KB |
iomux-imx31.c | -rw-r--r-- | 4.4 KB |
iomux-mx1.h | -rw-r--r-- | 8.2 KB |
iomux-mx21.h | -rw-r--r-- | 5.6 KB |
iomux-mx25.h | -rw-r--r-- | 30.4 KB |
iomux-mx27.h | -rw-r--r-- | 10.5 KB |
iomux-mx2x.h | -rw-r--r-- | 12.5 KB |
iomux-mx3.h | -rw-r--r-- | 38.1 KB |
iomux-mx35.h | -rw-r--r-- | 87.0 KB |
iomux-v1.c | -rw-r--r-- | 4.8 KB |
iomux-v1.h | -rw-r--r-- | 3.1 KB |
iomux-v3.c | -rw-r--r-- | 2.3 KB |
iomux-v3.h | -rw-r--r-- | 4.7 KB |
irq-common.c | -rw-r--r-- | 1.2 KB |
irq-common.h | -rw-r--r-- | 979 bytes |
mach-apf9328.c | -rw-r--r-- | 3.4 KB |
mach-armadillo5x0.c | -rw-r--r-- | 14.7 KB |
mach-bug.c | -rw-r--r-- | 1.7 KB |
mach-cpuimx27.c | -rw-r--r-- | 8.2 KB |
mach-cpuimx35.c | -rw-r--r-- | 5.5 KB |
mach-eukrea_cpuimx25.c | -rw-r--r-- | 4.7 KB |
mach-imx27_visstrim_m10.c | -rw-r--r-- | 15.1 KB |
mach-imx50.c | -rw-r--r-- | 960 bytes |
mach-imx51.c | -rw-r--r-- | 2.0 KB |
mach-imx53.c | -rw-r--r-- | 1.4 KB |
mach-imx6q.c | -rw-r--r-- | 9.9 KB |
mach-imx6sl.c | -rw-r--r-- | 2.0 KB |
mach-imx6sx.c | -rw-r--r-- | 1.3 KB |
mach-kzm_arm11_01.c | -rw-r--r-- | 7.4 KB |
mach-mx1ads.c | -rw-r--r-- | 3.2 KB |
mach-mx21ads.c | -rw-r--r-- | 8.4 KB |
mach-mx25_3ds.c | -rw-r--r-- | 6.7 KB |
mach-mx27_3ds.c | -rw-r--r-- | 12.9 KB |
mach-mx27ads.c | -rw-r--r-- | 9.2 KB |
mach-mx31_3ds.c | -rw-r--r-- | 20.0 KB |
mach-mx31ads.c | -rw-r--r-- | 15.4 KB |
mach-mx31lilly.c | -rw-r--r-- | 8.8 KB |
mach-mx31lite.c | -rw-r--r-- | 7.5 KB |
mach-mx31moboard.c | -rw-r--r-- | 16.1 KB |
mach-mx35_3ds.c | -rw-r--r-- | 14.9 KB |
mach-mxt_td60.c | -rw-r--r-- | 6.1 KB |
mach-pca100.c | -rw-r--r-- | 10.0 KB |
mach-pcm037.c | -rw-r--r-- | 17.8 KB |
mach-pcm037_eet.c | -rw-r--r-- | 4.2 KB |
mach-pcm038.c | -rw-r--r-- | 8.4 KB |
mach-pcm043.c | -rw-r--r-- | 10.1 KB |
mach-qong.c | -rw-r--r-- | 6.6 KB |
mach-scb9328.c | -rw-r--r-- | 3.2 KB |
mach-vf610.c | -rw-r--r-- | 908 bytes |
mach-vpr200.c | -rw-r--r-- | 8.7 KB |
mm-imx1.c | -rw-r--r-- | 1.8 KB |
mm-imx21.c | -rw-r--r-- | 2.9 KB |
mm-imx25.c | -rw-r--r-- | 2.8 KB |
mm-imx27.c | -rw-r--r-- | 3.0 KB |
mm-imx3.c | -rw-r--r-- | 8.3 KB |
mmdc.c | -rw-r--r-- | 1.6 KB |
mx1.h | -rw-r--r-- | 6.5 KB |
mx21.h | -rw-r--r-- | 8.0 KB |
mx25.h | -rw-r--r-- | 4.6 KB |
mx27.h | -rw-r--r-- | 10.2 KB |
mx2x.h | -rw-r--r-- | 6.2 KB |
mx31.h | -rw-r--r-- | 8.5 KB |
mx31lilly-db.c | -rw-r--r-- | 5.2 KB |
mx31lite-db.c | -rw-r--r-- | 5.0 KB |
mx31moboard-devboard.c | -rw-r--r-- | 6.1 KB |
mx31moboard-marxbot.c | -rw-r--r-- | 9.3 KB |
mx31moboard-smartbot.c | -rw-r--r-- | 5.3 KB |
mx35.h | -rw-r--r-- | 7.8 KB |
mx3x.h | -rw-r--r-- | 7.1 KB |
mxc.h | -rw-r--r-- | 4.5 KB |
pcm037.h | -rw-r--r-- | 308 bytes |
pcm970-baseboard.c | -rw-r--r-- | 5.3 KB |
platsmp.c | -rw-r--r-- | 2.5 KB |
pm-imx27.c | -rw-r--r-- | 979 bytes |
pm-imx3.c | -rw-r--r-- | 1.0 KB |
pm-imx5.c | -rw-r--r-- | 5.9 KB |
pm-imx6.c | -rw-r--r-- | 16.0 KB |
src.c | -rw-r--r-- | 3.3 KB |
ssi-fiq-ksym.c | -rw-r--r-- | 554 bytes |
ssi-fiq.S | -rw-r--r-- | 2.9 KB |
suspend-imx6.S | -rw-r--r-- | 8.2 KB |
system.c | -rw-r--r-- | 3.8 KB |
time.c | -rw-r--r-- | 9.3 KB |
tzic.c | -rw-r--r-- | 6.0 KB |
ulpi.h | -rw-r--r-- | 369 bytes |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...