Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

hpfs: fix warnings when the filesystem fills up

This patch fixes warnings due to missing lock on write error path.

WARNING: at fs/hpfs/hpfs_fn.h:353 hpfs_truncate+0x75/0x80 [hpfs]()
Hardware name: empty
Pid: 26563, comm: dd Tainted: P O 3.9.4 #12
Call Trace:
hpfs_truncate+0x75/0x80 [hpfs]
hpfs_write_begin+0x84/0x90 [hpfs]
_hpfs_bmap+0x10/0x10 [hpfs]
generic_file_buffered_write+0x121/0x2c0
__generic_file_aio_write+0x1c7/0x3f0
generic_file_aio_write+0x7c/0x100
do_sync_write+0x98/0xd0
hpfs_file_write+0xd/0x50 [hpfs]
vfs_write+0xa2/0x160
sys_write+0x51/0xa0
page_fault+0x22/0x30
system_call_fastpath+0x1a/0x1f

Signed-off-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Cc: stable@kernel.org # 2.6.39+
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Mikulas Patocka and committed by
Linus Torvalds
bbd465df 81db4dbf

+4
+4
fs/hpfs/file.c
··· 109 109 { 110 110 struct inode *inode = mapping->host; 111 111 112 + hpfs_lock(inode->i_sb); 113 + 112 114 if (to > inode->i_size) { 113 115 truncate_pagecache(inode, to, inode->i_size); 114 116 hpfs_truncate(inode); 115 117 } 118 + 119 + hpfs_unlock(inode->i_sb); 116 120 } 117 121 118 122 static int hpfs_write_begin(struct file *file, struct address_space *mapping,