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

Bug#818096: linux-image-4.3.0-1-amd64: vfat mount option "shortname=lower" makes uppercase directories unremovable



Package: src:linux
Version: 4.3.5-1
Severity: normal

{ Not sure if this is the right package to report this bug against;
please move appropriately, if necessary. }

Symptoms
--------

When mounting a FAT32, FAT16, or FAT12 file system with the option
"shortname=lower" and creating a directory with an all-uppercase name,
the directory cannot be removed afterwards, neither by "rm -r" nor
"rmdir".

Note that otherwise, accessibility of the directory is not affected;
one can cd to it, and access files below it without problems.

Mount version used: 2.27.1-6.

Mount options

  shortname=win95
  shortname=winnt
  shortname=mixed

do not show this behavior.


Steps to reproduce
------------------
# dd if=/dev/zero of=test.img seek=100M count=0 bs=1M oflag=seek_bytes
0+0 records in
0+0 records out
0 bytes copied, 0.000146967 s, 0.0 kB/s
# mkfs.fat -F 32 test.img  # FAT16 and FAT12 affected as well
# mkdir -m 0 /mnt/test
# mount -o loop,shortname=lower test.img /mnt/test
# mkdir /mnt/test/FOO
# ls -l /mnt/test 
total 1
drwxr-xr-x 2 root root 512 Mar 13 16:56 foo
# rmdir /mnt/test/foo
rmdir: failed to remove '/mnt/test/foo': No such file or directory
# echo $?
1
# rmdir /mnt/test/FOO
rmdir: failed to remove '/mnt/test/FOO': No such file or directory
# echo $?
1
# rmdir /mnt/test/Foo
rmdir: failed to remove '/mnt/test/Foo': No such file or directory
# echo $?
1
# rm -r /mnt/test/foo
rm: cannot remove '/mnt/test/foo': No such file or directory
# echo $?
1
# rm -r /mnt/test/FOO
rm: cannot remove '/mnt/test/FOO': No such file or directory
# echo $?
1
# rm -r /mnt/test/Foo
rm: cannot remove '/mnt/test/Foo': No such file or directory
# echo $?
1


-- Package-specific info:
** Version:
Linux version 4.3.0-1-amd64 (debian-kernel@lists.debian.org) (gcc version 5.3.1 20160121 (Debian 5.3.1-7) ) #1 SMP Debian 4.3.5-1 (2016-02-06)

** Command line:
BOOT_IMAGE=/vmlinuz-4.3.0-1-amd64 root=/dev/mapper/vg13-lv--root ro libata.force=7:1.5Gbps

** Tainted: PO (4097)
 * Proprietary module has been loaded.
 * Out-of-tree module has been loaded.

** Kernel log:
[...]
[14112.215110] FAT-fs (loop0): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

** Model information
[...]

** Loaded modules:
loop
nls_utf8
nls_cp437
vfat
fat
nfsv3
bnep
bluetooth
iptable_filter
ip_tables
autofs4
x_tables
snd_hrtimer
snd_seq_midi
snd_seq_midi_event
snd_rawmidi
snd_seq
snd_seq_device
cpufreq_stats
cpufreq_userspace
cpufreq_conservative
cpufreq_powersave
pci_stub
vboxpci(O)
vboxnetadp(O)
vboxnetflt(O)
vboxdrv(O)
binfmt_misc
nfsd
auth_rpcgss
oid_registry
nfs_acl
nfs
lockd
grace
fscache
sunrpc
msr
i2c_dev
it87
hwmon_vid
parport_pc
ppdev
lp
parport
snd_hda_codec_realtek
nvidia(PO)
snd_hda_codec_generic
snd_hda_codec_hdmi
eeepc_wmi
asus_wmi
sparse_keymap
rfkill
video
mxm_wmi
snd_hda_intel
kvm_amd
snd_hda_codec
snd_hda_core
kvm
snd_hwdep
pcspkr
evdev
serio_raw
snd_pcm_oss
k10temp
snd_mixer_oss
amd64_edac_mod
edac_mce_amd
edac_core
snd_pcm
snd_timer
8250_fintek
drm
sp5100_tco
tpm_infineon
snd
soundcore
sg
wmi
shpchp
button
i2c_piix4
acpi_cpufreq
tpm_tis
tpm
processor
ext4
crc16
mbcache
jbd2
crc32c_generic
btrfs
xor
raid6_pq
sha256_generic
hmac
drbg
ansi_cprng
cbc
dm_crypt
dm_mod
md_mod
hid_generic
usbhid
hid
sd_mod
uas
usb_storage
ohci_pci
ahci
libahci
xhci_pci
ehci_pci
ohci_hcd
xhci_hcd
ehci_hcd
libata
e1000e
ptp
usbcore
pps_core
usb_common
scsi_mod

** Network interface configuration:
[...]

** Network status:
*** IP interfaces and addresses:
[...]

*** Device statistics:
[...]

*** Protocol statistics:
[...]

** PCI devices:
[...]

** USB devices:
[...]


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (501, 'testing'), (50, 'unstable'), (25, 'experimental'), (12, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.3.0-1-amd64 (SMP w/6 CPU cores)
Locale: LANG=en_US.ISO-8859-15, LC_CTYPE=en_US.ISO-8859-15 (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash
Init: sysvinit (via /sbin/init)

Versions of packages linux-image-4.3.0-1-amd64 depends on:
ii  debconf [debconf-2.0]                   1.5.58
ii  initramfs-tools [linux-initramfs-tool]  0.123
ii  kmod                                    22-1
ii  linux-base                              4.0

Versions of packages linux-image-4.3.0-1-amd64 recommends:
ii  firmware-linux-free  3.4
ii  irqbalance           1.1.0-2

Versions of packages linux-image-4.3.0-1-amd64 suggests:
pn  debian-kernel-handbook  <none>
ii  extlinux                3:6.03+dfsg-11
ii  grub-pc                 2.02~beta2-36
pn  linux-doc-4.3           <none>

Versions of packages linux-image-4.3.0-1-amd64 is related to:
pn  firmware-atheros                         <none>
pn  firmware-bnx2                            <none>
pn  firmware-bnx2x                           <none>
pn  firmware-brcm80211                       <none>
pn  firmware-intelwimax                      <none>
pn  firmware-ipw2x00                         <none>
pn  firmware-ivtv                            <none>
pn  firmware-iwlwifi                         <none>
pn  firmware-libertas                        <none>
ii  firmware-linux                           20160110-1
ii  firmware-linux-nonfree                   20160110-1
ii  firmware-misc-nonfree [firmware-ralink]  20160110-1
pn  firmware-myricom                         <none>
pn  firmware-netxen                          <none>
pn  firmware-qlogic                          <none>
pn  firmware-realtek                         <none>
pn  xen-hypervisor                           <none>

-- debconf information:
  linux-image-4.3.0-1-amd64/postinst/depmod-error-initrd-4.3.0-1-amd64: false
  linux-image-4.3.0-1-amd64/postinst/mips-initrd-4.3.0-1-amd64:
  linux-image-4.3.0-1-amd64/prerm/removing-running-kernel-4.3.0-1-amd64: true


Reply to: