lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 12 Aug 2021 08:45:42 +0200
From:   Jan Marek <jmarek@....cz>
To:     linux-kernel@...r.kernel.org
Subject: Corrupted files on "network" filesystem in 5.x kernels

Hello lkml,

I have problem with two "network" filesystems in 5.x kernels.

I've Debian Buster server with Postfix and Dovecot, users have
Maildir mailboxes on CEPHfs. Backup of these mailboxes are making
by the borgbackup to the remote machine, using CIFS.

Debian Buster have "normal" distro kernel v. 4.19 (in my case
4.19.194-3), which works fine. I've tried to use kernel from
buster-backports, linux-image-5.10.0-0.bpo.8-amd64, which is
5.10.46-2~bpo10+1.

From time of booting this kernel, I've problems with massive corruption
of dovecot index files on CEPHfs. I've tried to set up dovecot in
the similar manner, as for NFS filesystem, although mailboxes are not
sharing by multiple machines, but it not works.

As the second problem, I've cannot do borg backup of mailboxes to
CIFS directory - borgbackup had problem with corrupted archives.

When I reboot back to 4.19.194-3, problems disappeared.

I've tried to reproduce from my work computer, where I have
Debian Buster and kernel 5.12.0-19.2-liquorix-amd64, which is
5.12-28.1~buster, and there is the same problem with CIFS
filesystem and borg backup. You can easily reproduce it:

1) mount CIFS filesystem
2) make directory on it
3) try to init borg archive direcory from this directory

In my case:

mount /mnt/smb
cd /mnt/smb/tmp
mkdir tmp
borg init -e none tmp

I've got this (the same problem, as on email machine):
Inconsistency detected. Please run "borg check /mnt/smb/tmp/tmp" - although likely this is "beyond repair".
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/borg/archiver.py", line 4455, in main
    exit_code = archiver.run(args)
  File "/usr/lib/python3/dist-packages/borg/archiver.py", line 4387, in run
    return set_ec(func(args))
  File "/usr/lib/python3/dist-packages/borg/archiver.py", line 154, in wrapper
    return method(self, args, repository=repository, **kwargs)
  File "/usr/lib/python3/dist-packages/borg/archiver.py", line 276, in do_init
    with Cache(repository, key, manifest, warn_if_unencrypted=False):
  File "/usr/lib/python3/dist-packages/borg/cache.py", line 380, in __new__
    return local()
  File "/usr/lib/python3/dist-packages/borg/cache.py", line 374, in local
    lock_wait=lock_wait, cache_mode=cache_mode)
  File "/usr/lib/python3/dist-packages/borg/cache.py", line 467, in __init__
    self.sync()
  File "/usr/lib/python3/dist-packages/borg/cache.py", line 851, in sync
    self.chunks = create_master_idx(self.chunks)
  File "/usr/lib/python3/dist-packages/borg/cache.py", line 786, in create_master_idx
    master_index_capacity = int(len(self.repository) / ChunkIndex.MAX_LOAD_FACTOR)
  File "/usr/lib/python3/dist-packages/borg/repository.py", line 1009, in __len__
    self.index = self.open_index(self.get_transaction_id())
  File "/usr/lib/python3/dist-packages/borg/repository.py", line 376, in get_transaction_id
    self.check_transaction()
  File "/usr/lib/python3/dist-packages/borg/repository.py", line 365, in check_transaction
    raise self.CheckNeeded(msg)
borg.repository.Repository.CheckNeeded: Inconsistency detected. Please run "borg check /mnt/smb/tmp/tmp" - although likely this is "beyond repair".

Platform: Linux hazard 5.12.0-19.2-liquorix-amd64 #1 ZEN SMP PREEMPT liquorix 5.12-28.1~buster (2021-07-22) x86_64
Linux: debian 10.10
Borg: 1.1.9  Python: CPython 3.7.3
PID: 3320  CWD: /mnt/smb/tmp
sys.argv: ['/usr/bin/borg', 'init', '-e', 'none', 'tmp']
SSH_ORIGINAL_COMMAND: None

You can try repair this archive directory, but it didn't happend:

borg check tmp

Data integrity error: Invalid segment entry size 0 - too small [segment 1, offset 17]
Completed repository check, errors found.

On local filesystems, there is no problem, everythink works fine
- tested on ext4, JFS and XFS.

It seems, there is problem with caching of this filesystems?

Questions are welcome.

Sincerely
Jan Marek
-- 
Ing. Jan Marek
University of South Bohemia
Academic Computer Centre
Phone: +420389032080
http://www.gnu.org/philosophy/no-word-attachments.cs.html

Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ