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.

Merge tag 'jfs-6.18' of github.com:kleikamp/linux-shaggy

Pull jfs updates from Dave Kleikamp:
"A few fixes and cleanups for JFS"

* tag 'jfs-6.18' of github.com:kleikamp/linux-shaggy:
jfs: replace hardcoded magic number with DTPAGEMAXSLOT constant
JFS: Remove redundant 0 value initialization
JFS: Remove unnecessary parentheses
jfs: fix uninitialized waitqueue in transaction manager
jfs: Verify inode mode when loading from disk

+19 -13
+7 -1
fs/jfs/inode.c
··· 59 59 */ 60 60 inode->i_link[inode->i_size] = '\0'; 61 61 } 62 - } else { 62 + } else if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode) || 63 + S_ISFIFO(inode->i_mode) || S_ISSOCK(inode->i_mode)) { 63 64 inode->i_op = &jfs_file_inode_operations; 64 65 init_special_inode(inode, inode->i_mode, inode->i_rdev); 66 + } else { 67 + printk(KERN_DEBUG "JFS: Invalid file type 0%04o for inode %lu.\n", 68 + inode->i_mode, inode->i_ino); 69 + iget_failed(inode); 70 + return ERR_PTR(-EIO); 65 71 } 66 72 unlock_new_inode(inode); 67 73 return inode;
+2 -2
fs/jfs/jfs_dtree.c
··· 2903 2903 stbl = DT_GETSTBL(p); 2904 2904 2905 2905 for (i = index; i < p->header.nextindex; i++) { 2906 - if (stbl[i] < 0 || stbl[i] > 127) { 2906 + if (stbl[i] < 0 || stbl[i] >= DTPAGEMAXSLOT) { 2907 2907 jfs_err("JFS: Invalid stbl[%d] = %d for inode %ld, block = %lld", 2908 2908 i, stbl[i], (long)ip->i_ino, (long long)bn); 2909 2909 free_page(dirent_buf); ··· 3108 3108 /* get the leftmost entry */ 3109 3109 stbl = DT_GETSTBL(p); 3110 3110 3111 - if (stbl[0] < 0 || stbl[0] > 127) { 3111 + if (stbl[0] < 0 || stbl[0] >= DTPAGEMAXSLOT) { 3112 3112 DT_PUTPAGE(mp); 3113 3113 jfs_error(ip->i_sb, "stbl[0] out of bound\n"); 3114 3114 return -EIO;
-1
fs/jfs/jfs_logmgr.c
··· 1199 1199 init_waitqueue_head(&dummy_log->syncwait); 1200 1200 dummy_log->no_integrity = 1; 1201 1201 /* Make up some stuff */ 1202 - dummy_log->base = 0; 1203 1202 dummy_log->size = 1024; 1204 1203 rc = lmLogInit(dummy_log); 1205 1204 if (rc) {
+5 -5
fs/jfs/jfs_mount.c
··· 325 325 if ((j_sb->s_flag & cpu_to_le32(JFS_BAD_SAIT)) != 326 326 cpu_to_le32(JFS_BAD_SAIT)) { 327 327 expected_AIM_bytesize = 2 * PSIZE; 328 - AIM_bytesize = lengthPXD(&(j_sb->s_aim2)) * bsize; 328 + AIM_bytesize = lengthPXD(&j_sb->s_aim2) * bsize; 329 329 expected_AIT_bytesize = 4 * PSIZE; 330 - AIT_bytesize = lengthPXD(&(j_sb->s_ait2)) * bsize; 331 - AIM_byte_addr = addressPXD(&(j_sb->s_aim2)) * bsize; 332 - AIT_byte_addr = addressPXD(&(j_sb->s_ait2)) * bsize; 330 + AIT_bytesize = lengthPXD(&j_sb->s_ait2) * bsize; 331 + AIM_byte_addr = addressPXD(&j_sb->s_aim2) * bsize; 332 + AIT_byte_addr = addressPXD(&j_sb->s_ait2) * bsize; 333 333 byte_addr_diff0 = AIT_byte_addr - AIM_byte_addr; 334 - fsckwsp_addr = addressPXD(&(j_sb->s_fsckpxd)) * bsize; 334 + fsckwsp_addr = addressPXD(&j_sb->s_fsckpxd) * bsize; 335 335 byte_addr_diff1 = fsckwsp_addr - AIT_byte_addr; 336 336 if ((AIM_bytesize != expected_AIM_bytesize) || 337 337 (AIT_bytesize != expected_AIT_bytesize) ||
+5 -4
fs/jfs/jfs_txnmgr.c
··· 272 272 if (TxBlock == NULL) 273 273 return -ENOMEM; 274 274 275 - for (k = 1; k < nTxBlock - 1; k++) { 276 - TxBlock[k].next = k + 1; 275 + for (k = 0; k < nTxBlock; k++) { 277 276 init_waitqueue_head(&TxBlock[k].gcwait); 278 277 init_waitqueue_head(&TxBlock[k].waitor); 279 278 } 279 + 280 + for (k = 1; k < nTxBlock - 1; k++) { 281 + TxBlock[k].next = k + 1; 282 + } 280 283 TxBlock[k].next = 0; 281 - init_waitqueue_head(&TxBlock[k].gcwait); 282 - init_waitqueue_head(&TxBlock[k].waitor); 283 284 284 285 TxAnchor.freetid = 1; 285 286 init_waitqueue_head(&TxAnchor.freewait);