* [PATCH 1/2] fat: Add FS_IOC_GETFSLABEL ioctl
2026-02-10 22:23 [PATCH 0/2] fat: Add FS_IOC_GETFSLABEL / FS_IOC_SETFSLABEL ioctls Ethan Ferguson
@ 2026-02-10 22:23 ` Ethan Ferguson
2026-02-11 10:57 ` Dan Carpenter
2026-02-10 22:23 ` [PATCH 2/2] fat: Add FS_IOC_SETFSLABEL ioctl Ethan Ferguson
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Ethan Ferguson @ 2026-02-10 22:23 UTC (permalink / raw)
To: hirofumi; +Cc: linux-fsdevel, linux-kernel, Ethan Ferguson
Add support for reading the volume label of a FAT filesystem via the
FS_IOC_GETFSLABEL ioctl.
Signed-off-by: Ethan Ferguson <ethan.ferguson@zetier.com>
---
fs/fat/fat.h | 1 +
fs/fat/file.c | 9 +++++++++
fs/fat/inode.c | 11 +++++++++--
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/fs/fat/fat.h b/fs/fat/fat.h
index d3e426de5f01..db9c854ddef8 100644
--- a/fs/fat/fat.h
+++ b/fs/fat/fat.h
@@ -89,6 +89,7 @@ struct msdos_sb_info {
int dir_per_block; /* dir entries per block */
int dir_per_block_bits; /* log2(dir_per_block) */
unsigned int vol_id; /*volume ID*/
+ char vol_label[MSDOS_NAME]; /* volume label */
int fatent_shift;
const struct fatent_operations *fatent_ops;
diff --git a/fs/fat/file.c b/fs/fat/file.c
index 4fc49a614fb8..c55a99009a9c 100644
--- a/fs/fat/file.c
+++ b/fs/fat/file.c
@@ -153,6 +153,13 @@ static int fat_ioctl_fitrim(struct inode *inode, unsigned long arg)
return 0;
}
+static int fat_ioctl_get_volume_label(struct inode *inode, char __user *arg)
+{
+ struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
+
+ return copy_to_user(arg, sbi->vol_label, MSDOS_NAME);
+}
+
long fat_generic_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
struct inode *inode = file_inode(filp);
@@ -165,6 +172,8 @@ long fat_generic_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
return fat_ioctl_set_attributes(filp, user_attr);
case FAT_IOCTL_GET_VOLUME_ID:
return fat_ioctl_get_volume_id(inode, user_attr);
+ case FS_IOC_GETFSLABEL:
+ return fat_ioctl_get_volume_label(inode, (char __user *) arg);
case FITRIM:
return fat_ioctl_fitrim(inode, arg);
default:
diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index 0b6009cd1844..f6bd3f079e74 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -53,12 +53,14 @@ struct fat_bios_param_block {
u8 fat16_state;
u32 fat16_vol_id;
+ u8 fat16_vol_label[MSDOS_NAME];
u32 fat32_length;
u32 fat32_root_cluster;
u16 fat32_info_sector;
u8 fat32_state;
u32 fat32_vol_id;
+ u8 fat32_vol_label[MSDOS_NAME];
};
static int fat_default_codepage = CONFIG_FAT_DEFAULT_CODEPAGE;
@@ -1406,12 +1408,14 @@ static int fat_read_bpb(struct super_block *sb, struct fat_boot_sector *b,
bpb->fat16_state = b->fat16.state;
bpb->fat16_vol_id = get_unaligned_le32(b->fat16.vol_id);
+ memcpy(bpb->fat16_vol_label, b->fat16.vol_label, MSDOS_NAME);
bpb->fat32_length = le32_to_cpu(b->fat32.length);
bpb->fat32_root_cluster = le32_to_cpu(b->fat32.root_cluster);
bpb->fat32_info_sector = le16_to_cpu(b->fat32.info_sector);
bpb->fat32_state = b->fat32.state;
bpb->fat32_vol_id = get_unaligned_le32(b->fat32.vol_id);
+ memcpy(bpb->fat32_vol_label, b->fat32.vol_label, MSDOS_NAME);
/* Validate this looks like a FAT filesystem BPB */
if (!bpb->fat_reserved) {
@@ -1708,10 +1712,13 @@ int fat_fill_super(struct super_block *sb, struct fs_context *fc,
}
/* interpret volume ID as a little endian 32 bit integer */
- if (is_fat32(sbi))
+ if (is_fat32(sbi)) {
sbi->vol_id = bpb.fat32_vol_id;
- else /* fat 16 or 12 */
+ memcpy(sbi->vol_label, bpb.fat32_vol_label, MSDOS_NAME);
+ } else { /* fat 16 or 12 */
sbi->vol_id = bpb.fat16_vol_id;
+ memcpy(sbi->vol_label, bpb.fat16_vol_label, MSDOS_NAME);
+ }
__le32 vol_id_le = cpu_to_le32(sbi->vol_id);
super_set_uuid(sb, (void *) &vol_id_le, sizeof(vol_id_le));
--
2.53.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 1/2] fat: Add FS_IOC_GETFSLABEL ioctl
2026-02-10 22:23 ` [PATCH 1/2] fat: Add FS_IOC_GETFSLABEL ioctl Ethan Ferguson
@ 2026-02-11 10:57 ` Dan Carpenter
0 siblings, 0 replies; 7+ messages in thread
From: Dan Carpenter @ 2026-02-11 10:57 UTC (permalink / raw)
To: oe-kbuild, Ethan Ferguson, hirofumi
Cc: lkp, oe-kbuild-all, linux-fsdevel, linux-kernel, Ethan Ferguson
Hi Ethan,
kernel test robot noticed the following build warnings:
url: https://github.com/intel-lab-lkp/linux/commits/Ethan-Ferguson/fat-Add-FS_IOC_GETFSLABEL-ioctl/20260211-062606
base: 9f2693489ef8558240d9e80bfad103650daed0af
patch link: https://lore.kernel.org/r/20260210222310.357755-2-ethan.ferguson%40zetier.com
patch subject: [PATCH 1/2] fat: Add FS_IOC_GETFSLABEL ioctl
config: riscv-randconfig-r071-20260211 (https://download.01.org/0day-ci/archive/20260211/202602111747.QIBXIwpw-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 9.5.0
smatch version: v0.5.0-8994-gd50c5a4c
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202602111747.QIBXIwpw-lkp@intel.com/
smatch warnings:
fs/fat/file.c:160 fat_ioctl_get_volume_label() warn: maybe return -EFAULT instead of the bytes remaining?
vim +160 fs/fat/file.c
5fc1746d68b8fb Ethan Ferguson 2026-02-10 156 static int fat_ioctl_get_volume_label(struct inode *inode, char __user *arg)
5fc1746d68b8fb Ethan Ferguson 2026-02-10 157 {
5fc1746d68b8fb Ethan Ferguson 2026-02-10 158 struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
5fc1746d68b8fb Ethan Ferguson 2026-02-10 159
5fc1746d68b8fb Ethan Ferguson 2026-02-10 @160 return copy_to_user(arg, sbi->vol_label, MSDOS_NAME);
This should be:
if (copy_to_user(arg, sbi->vol_label, MSDOS_NAME))
return -EFAULT;
return 0;
5fc1746d68b8fb Ethan Ferguson 2026-02-10 161 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] fat: Add FS_IOC_SETFSLABEL ioctl
2026-02-10 22:23 [PATCH 0/2] fat: Add FS_IOC_GETFSLABEL / FS_IOC_SETFSLABEL ioctls Ethan Ferguson
2026-02-10 22:23 ` [PATCH 1/2] fat: Add FS_IOC_GETFSLABEL ioctl Ethan Ferguson
@ 2026-02-10 22:23 ` Ethan Ferguson
2026-02-11 2:26 ` kernel test robot
2026-02-11 9:21 ` [syzbot ci] Re: fat: Add FS_IOC_GETFSLABEL / FS_IOC_SETFSLABEL ioctls syzbot ci
2026-02-11 13:25 ` [PATCH 0/2] " OGAWA Hirofumi
3 siblings, 1 reply; 7+ messages in thread
From: Ethan Ferguson @ 2026-02-10 22:23 UTC (permalink / raw)
To: hirofumi; +Cc: linux-fsdevel, linux-kernel, Ethan Ferguson
Add support for writing to the volume label of a FAT filesystem via the
FS_IOC_SETFSLABEL ioctl.
Signed-off-by: Ethan Ferguson <ethan.ferguson@zetier.com>
---
fs/fat/dir.c | 22 ++++++++++++++++++++++
fs/fat/fat.h | 1 +
fs/fat/file.c | 19 +++++++++++++++++++
fs/fat/inode.c | 15 +++++++++++++++
4 files changed, 57 insertions(+)
diff --git a/fs/fat/dir.c b/fs/fat/dir.c
index 92b091783966..13e87f4c6bf3 100644
--- a/fs/fat/dir.c
+++ b/fs/fat/dir.c
@@ -1423,3 +1423,25 @@ int fat_add_entries(struct inode *dir, void *slots, int nr_slots,
return err;
}
EXPORT_SYMBOL_GPL(fat_add_entries);
+
+int fat_rename_volume_label_dentry(struct super_block *sb, char *vol_label)
+{
+ struct inode *root_inode = sb->s_root->d_inode;
+ struct buffer_head *bh;
+ struct msdos_dir_entry *de;
+ loff_t cpos = 0;
+
+ while (1) {
+ if (fat_get_entry(root_inode, &cpos, &bh, &de) == -1)
+ return -ENOENT;
+
+ if (de->attr == ATTR_VOLUME) {
+ memcpy(de->name, vol_label, MSDOS_NAME);
+ mark_inode_dirty(root_inode);
+ return 0;
+ }
+
+ brelse(bh);
+ }
+}
+EXPORT_SYMBOL_GPL(fat_rename_volume_label_dentry);
diff --git a/fs/fat/fat.h b/fs/fat/fat.h
index db9c854ddef8..5f1536c21adf 100644
--- a/fs/fat/fat.h
+++ b/fs/fat/fat.h
@@ -341,6 +341,7 @@ extern int fat_alloc_new_dir(struct inode *dir, struct timespec64 *ts);
extern int fat_add_entries(struct inode *dir, void *slots, int nr_slots,
struct fat_slot_info *sinfo);
extern int fat_remove_entries(struct inode *dir, struct fat_slot_info *sinfo);
+extern int fat_rename_volume_label_dentry(struct super_block *sb, char *vol_label);
/* fat/fatent.c */
struct fat_entry {
diff --git a/fs/fat/file.c b/fs/fat/file.c
index c55a99009a9c..2475a8f58596 100644
--- a/fs/fat/file.c
+++ b/fs/fat/file.c
@@ -160,6 +160,23 @@ static int fat_ioctl_get_volume_label(struct inode *inode, char __user *arg)
return copy_to_user(arg, sbi->vol_label, MSDOS_NAME);
}
+static int fat_ioctl_set_volume_label(struct inode *inode, char __user *arg)
+{
+ struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
+ char new_vol_label[MSDOS_NAME];
+
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
+ if (copy_from_user(new_vol_label, arg, MSDOS_NAME))
+ return -EFAULT;
+
+ fat_rename_volume_label_dentry(inode->i_sb, new_vol_label);
+
+ memcpy(sbi->vol_label, new_vol_label, MSDOS_NAME);
+ return 0;
+}
+
long fat_generic_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
struct inode *inode = file_inode(filp);
@@ -174,6 +191,8 @@ long fat_generic_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
return fat_ioctl_get_volume_id(inode, user_attr);
case FS_IOC_GETFSLABEL:
return fat_ioctl_get_volume_label(inode, (char __user *) arg);
+ case FS_IOC_SETFSLABEL:
+ return fat_ioctl_set_volume_label(inode, (char __user *) arg);
case FITRIM:
return fat_ioctl_fitrim(inode, arg);
default:
diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index f6bd3f079e74..b40abb2b0010 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -736,6 +736,21 @@ static void delayed_free(struct rcu_head *p)
static void fat_put_super(struct super_block *sb)
{
struct msdos_sb_info *sbi = MSDOS_SB(sb);
+ struct buffer_head *bh = NULL;
+ struct fat_boot_sector *bs;
+
+ bh = sb_bread(sb, 0);
+ if (bh == NULL)
+ fat_msg(sb, KERN_ERR, "unable to read boot sector");
+ else if (!sb_rdonly(sb)) {
+ bs = (struct fat_boot_sector *)bh->b_data;
+ if (is_fat32(sbi))
+ memcpy(bs->fat32.vol_label, sbi->vol_label, MSDOS_NAME);
+ else
+ memcpy(bs->fat16.vol_label, sbi->vol_label, MSDOS_NAME);
+ mark_buffer_dirty(bh);
+ }
+ brelse(bh);
fat_set_state(sb, 0, 0);
--
2.53.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 2/2] fat: Add FS_IOC_SETFSLABEL ioctl
2026-02-10 22:23 ` [PATCH 2/2] fat: Add FS_IOC_SETFSLABEL ioctl Ethan Ferguson
@ 2026-02-11 2:26 ` kernel test robot
0 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2026-02-11 2:26 UTC (permalink / raw)
To: Ethan Ferguson, hirofumi
Cc: oe-kbuild-all, linux-fsdevel, linux-kernel, Ethan Ferguson
Hi Ethan,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 9f2693489ef8558240d9e80bfad103650daed0af]
url: https://github.com/intel-lab-lkp/linux/commits/Ethan-Ferguson/fat-Add-FS_IOC_GETFSLABEL-ioctl/20260211-062606
base: 9f2693489ef8558240d9e80bfad103650daed0af
patch link: https://lore.kernel.org/r/20260210222310.357755-3-ethan.ferguson%40zetier.com
patch subject: [PATCH 2/2] fat: Add FS_IOC_SETFSLABEL ioctl
config: parisc-defconfig (https://download.01.org/0day-ci/archive/20260211/202602111002.F4q2b5Gx-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260211/202602111002.F4q2b5Gx-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602111002.F4q2b5Gx-lkp@intel.com/
All warnings (new ones prefixed by >>):
In function 'fat_get_entry',
inlined from 'fat_rename_volume_label_dentry' at fs/fat/dir.c:1435:7:
>> fs/fat/dir.c:121:12: warning: 'bh' is used uninitialized [-Wuninitialized]
121 | if (*bh && *de &&
| ^
fs/fat/dir.c: In function 'fat_rename_volume_label_dentry':
fs/fat/dir.c:1430:29: note: 'bh' was declared here
1430 | struct buffer_head *bh;
| ^~
vim +/bh +121 fs/fat/dir.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 115
^1da177e4c3f41 Linus Torvalds 2005-04-16 116 static inline int fat_get_entry(struct inode *dir, loff_t *pos,
^1da177e4c3f41 Linus Torvalds 2005-04-16 117 struct buffer_head **bh,
^1da177e4c3f41 Linus Torvalds 2005-04-16 118 struct msdos_dir_entry **de)
^1da177e4c3f41 Linus Torvalds 2005-04-16 119 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 120 /* Fast stuff first */
^1da177e4c3f41 Linus Torvalds 2005-04-16 @121 if (*bh && *de &&
f08b4988f229fb Cruz Julian Bishop 2012-10-04 122 (*de - (struct msdos_dir_entry *)(*bh)->b_data) <
f08b4988f229fb Cruz Julian Bishop 2012-10-04 123 MSDOS_SB(dir->i_sb)->dir_per_block - 1) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 124 *pos += sizeof(struct msdos_dir_entry);
^1da177e4c3f41 Linus Torvalds 2005-04-16 125 (*de)++;
^1da177e4c3f41 Linus Torvalds 2005-04-16 126 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 127 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 128 return fat__get_entry(dir, pos, bh, de);
^1da177e4c3f41 Linus Torvalds 2005-04-16 129 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 130
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* [syzbot ci] Re: fat: Add FS_IOC_GETFSLABEL / FS_IOC_SETFSLABEL ioctls
2026-02-10 22:23 [PATCH 0/2] fat: Add FS_IOC_GETFSLABEL / FS_IOC_SETFSLABEL ioctls Ethan Ferguson
2026-02-10 22:23 ` [PATCH 1/2] fat: Add FS_IOC_GETFSLABEL ioctl Ethan Ferguson
2026-02-10 22:23 ` [PATCH 2/2] fat: Add FS_IOC_SETFSLABEL ioctl Ethan Ferguson
@ 2026-02-11 9:21 ` syzbot ci
2026-02-11 13:25 ` [PATCH 0/2] " OGAWA Hirofumi
3 siblings, 0 replies; 7+ messages in thread
From: syzbot ci @ 2026-02-11 9:21 UTC (permalink / raw)
To: ethan.ferguson, hirofumi, linux-fsdevel, linux-kernel
Cc: syzbot, syzkaller-bugs
syzbot ci has tested the following series
[v1] fat: Add FS_IOC_GETFSLABEL / FS_IOC_SETFSLABEL ioctls
https://lore.kernel.org/all/20260210222310.357755-1-ethan.ferguson@zetier.com
* [PATCH 1/2] fat: Add FS_IOC_GETFSLABEL ioctl
* [PATCH 2/2] fat: Add FS_IOC_SETFSLABEL ioctl
and found the following issue:
WARNING in __brelse
Full report is available here:
https://ci.syzbot.org/series/2497ea10-8eee-4346-a692-2f79990b4572
***
WARNING in __brelse
tree: bpf
URL: https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf.git
base: 9f2693489ef8558240d9e80bfad103650daed0af
arch: amd64
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
config: https://ci.syzbot.org/builds/1d8ee174-a672-4f80-98f2-369e5475eb4f/config
C repro: https://ci.syzbot.org/findings/4c8d33e8-6c68-4ab8-ab0c-7be7952f7dcf/c_repro
syz repro: https://ci.syzbot.org/findings/4c8d33e8-6c68-4ab8-ab0c-7be7952f7dcf/syz_repro
loop0: detected capacity change from 0 to 8192
------------[ cut here ]------------
VFS: brelse: Trying to free free buffer
WARNING: fs/buffer.c:1237 at __brelse+0x6a/0x90 fs/buffer.c:1237, CPU#1: syz.0.17/5957
Modules linked in:
CPU: 1 UID: 0 PID: 5957 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
RIP: 0010:__brelse+0x6a/0x90 fs/buffer.c:1237
Code: 75 72 ff 85 ed 74 17 e8 c4 70 72 ff 48 89 df be 04 00 00 00 e8 27 c3 da ff f0 ff 0b eb 11 e8 ad 70 72 ff 48 8d 3d d6 ff a2 0d <67> 48 0f b9 3a 5b 5d c3 cc cc cc cc cc 89 d9 80 e1 07 80 c1 03 38
RSP: 0018:ffffc90003f07b48 EFLAGS: 00010293
RAX: ffffffff825206a3 RBX: ffff8881b6fd5d10 RCX: ffff888177b557c0
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff8ff50680
RBP: 0000000000000000 R08: ffff8881b6fd5d13 R09: 1ffff11036dfaba2
R10: dffffc0000000000 R11: ffffed1036dfaba3 R12: ffffc90003f07b78
R13: ffffc90003f07b70 R14: ffff8881bba28db0 R15: ffffc90003f07b68
FS: 0000555560eae500(0000) GS:ffff8882a96f5000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000000080 CR3: 000000010b660000 CR4: 00000000000006f0
Call Trace:
<TASK>
brelse include/linux/buffer_head.h:324 [inline]
fat_rename_volume_label_dentry+0x11f/0x1c0 fs/fat/dir.c:1444
fat_ioctl_set_volume_label fs/fat/file.c:174 [inline]
fat_generic_ioctl+0x751/0xfe0 fs/fat/file.c:195
fat_dir_ioctl+0x166/0x320 fs/fat/dir.c:816
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xe2/0xf80 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fce15b9bf79
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe48117898 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fce15e15fa0 RCX: 00007fce15b9bf79
RDX: 00002000000004c0 RSI: 0000000041009432 RDI: 0000000000000004
RBP: 00007fce15c327e0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fce15e15fac R14: 00007fce15e15fa0 R15: 00007fce15e15fa0
</TASK>
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 72 ff jb 0x1
2: 85 ed test %ebp,%ebp
4: 74 17 je 0x1d
6: e8 c4 70 72 ff call 0xff7270cf
b: 48 89 df mov %rbx,%rdi
e: be 04 00 00 00 mov $0x4,%esi
13: e8 27 c3 da ff call 0xffdac33f
18: f0 ff 0b lock decl (%rbx)
1b: eb 11 jmp 0x2e
1d: e8 ad 70 72 ff call 0xff7270cf
22: 48 8d 3d d6 ff a2 0d lea 0xda2ffd6(%rip),%rdi # 0xda2ffff
* 29: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction
2e: 5b pop %rbx
2f: 5d pop %rbp
30: c3 ret
31: cc int3
32: cc int3
33: cc int3
34: cc int3
35: cc int3
36: 89 d9 mov %ebx,%ecx
38: 80 e1 07 and $0x7,%cl
3b: 80 c1 03 add $0x3,%cl
3e: 38 .byte 0x38
***
If these findings have caused you to resend the series or submit a
separate fix, please add the following tag to your commit message:
Tested-by: syzbot@syzkaller.appspotmail.com
---
This report is generated by a bot. It may contain errors.
syzbot ci engineers can be reached at syzkaller@googlegroups.com.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] fat: Add FS_IOC_GETFSLABEL / FS_IOC_SETFSLABEL ioctls
2026-02-10 22:23 [PATCH 0/2] fat: Add FS_IOC_GETFSLABEL / FS_IOC_SETFSLABEL ioctls Ethan Ferguson
` (2 preceding siblings ...)
2026-02-11 9:21 ` [syzbot ci] Re: fat: Add FS_IOC_GETFSLABEL / FS_IOC_SETFSLABEL ioctls syzbot ci
@ 2026-02-11 13:25 ` OGAWA Hirofumi
3 siblings, 0 replies; 7+ messages in thread
From: OGAWA Hirofumi @ 2026-02-11 13:25 UTC (permalink / raw)
To: Ethan Ferguson; +Cc: linux-fsdevel, linux-kernel
Ethan Ferguson <ethan.ferguson@zetier.com> writes:
> Add support for reading / writing to the volume label of a FAT filesystem
> via the FS_IOC_GETFSLABEL and FS_IOC_SETFSLABEL ioctls.
>
> Volume label changes are persisted in the volume label dentry in the root
> directory as well as the bios parameter block.
>
> Some notes about possile deficiencies with this patch:
> 1. If there is no current volume label directory entry present, one is not
> created.
> 2. Changes to the volume label are not checked for validity against the
> current codepage.
As you know, those will be required to implement. Additionally it looks
like missing proper locking.
Thanks.
> Ethan Ferguson (2):
> fat: Add FS_IOC_GETFSLABEL ioctl
> fat: Add FS_IOC_SETFSLABEL ioctl
>
> fs/fat/dir.c | 22 ++++++++++++++++++++++
> fs/fat/fat.h | 2 ++
> fs/fat/file.c | 28 ++++++++++++++++++++++++++++
> fs/fat/inode.c | 26 ++++++++++++++++++++++++--
> 4 files changed, 76 insertions(+), 2 deletions(-)
>
>
> base-commit: 9f2693489ef8558240d9e80bfad103650daed0af
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
^ permalink raw reply [flat|nested] 7+ messages in thread