Milk-V Jupiter Linux kernel
Find a file
Konstantin Komarov e4fd2dce71 fs/ntfs3: Taking DOS names into account during link counting
commit 110b24eb1a749bea3440f3ca2ff890a26179050a upstream.

When counting and checking hard links in an ntfs file record,

  struct MFT_REC {
    struct NTFS_RECORD_HEADER rhdr; // 'FILE'
    __le16 seq;		    // 0x10: Sequence number for this record.
>>  __le16 hard_links;	// 0x12: The number of hard links to record.
    __le16 attr_off;	// 0x14: Offset to attributes.
  ...

the ntfs3 driver ignored short names (DOS names), causing the link count
to be reduced by 1 and messages to be output to dmesg.

For Windows, such a situation is a minor error, meaning chkdsk does not report
errors on such a volume, and in the case of using the /f switch, it silently
corrects them, reporting that no errors were found. This does not affect
the consistency of the file system.

Nevertheless, the behavior in the ntfs3 driver is incorrect and
changes the content of the file system. This patch should fix that.

PS: most likely, there has been a confusion of concepts
MFT_REC::hard_links and inode::__i_nlink.

Fixes: 82cae269cf ("fs/ntfs3: Add initialization of super block")
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-12 11:11:20 +02:00
arch x86/tsc: Trust initial offset in architectural TSC-adjust MSRs 2024-06-12 11:11:17 +02:00
block block: add a partscan sysfs attribute for disks 2024-05-25 16:22:55 +02:00
certs certs: Reference revocation list for all keyrings 2023-08-17 20:12:41 +00:00
crypto crypto: jitter - fix CRYPTO_JITTERENTROPY help text 2024-03-26 18:19:52 -04:00
Documentation block: add a partscan sysfs attribute for disks 2024-05-25 16:22:55 +02:00
drivers net: smc91x: Fix m68k kernel compilation for ColdFire CPU 2024-06-12 11:11:20 +02:00
fs fs/ntfs3: Taking DOS names into account during link counting 2024-06-12 11:11:20 +02:00
include block: add a disk_has_partscan helper 2024-05-25 16:22:55 +02:00
init rust: make mutually exclusive with CFI_CLANG 2024-05-02 16:32:42 +02:00
io_uring io_uring: fail NOP if non-zero op flags is passed in 2024-06-12 11:11:18 +02:00
ipc Add x86 shadow stack support 2023-08-31 12:20:12 -07:00
kernel ring-buffer: Fix a race between readers and resize checks 2024-06-12 11:11:19 +02:00
lib dyndbg: fix old BUG_ON in >control parser 2024-05-17 12:02:33 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm mm/hugetlb: fix DEBUG_LOCKS_WARN_ON(1) when dissolve_free_hugetlb_folio() 2024-05-17 12:02:39 +02:00
net Bluetooth: L2CAP: Fix div-by-zero in l2cap_le_flowctl_init() 2024-05-25 16:22:53 +02:00
rust rust: kernel: require Send for Module implementations 2024-05-17 12:01:56 +02:00
samples work around gcc bugs with 'asm goto' with outputs 2024-02-23 09:24:47 +01:00
scripts kbuild: Disable KCSAN for autogenerated *.mod.c intermediaries 2024-05-17 12:02:12 +02:00
security KEYS: trusted: Do not use WARN when encode fails 2024-05-25 16:22:55 +02:00
sound ASoC: ti: davinci-mcasp: Fix race condition during probe 2024-05-17 12:02:32 +02:00
tools tools/nolibc/stdlib: fix memory error in realloc() 2024-06-12 11:11:19 +02:00
usr initramfs: Encode dependency on KBUILD_BUILD_TIMESTAMP 2023-06-06 17:54:49 +09:00
virt KVM: Always flush async #PF workqueue when vCPU is being destroyed 2024-04-03 15:28:18 +02:00
.clang-format iommu: Add for_each_group_device() 2023-05-23 08:15:51 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: rpm-pkg: rename binkernel.spec to kernel.spec 2023-07-25 00:59:33 +09:00
.mailmap 20 hotfixes. 12 are cc:stable and the remainder address post-6.5 issues 2023-10-24 09:52:16 -10:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS USB: Remove Wireless USB and UWB documentation 2023-08-09 14:17:32 +02:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS ALSA: scarlett2: Rename scarlett_gen2 to scarlett2 2024-04-27 17:11:36 +02:00
Makefile Linux 6.6.32 2024-05-25 16:22:56 +02:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.