TO: Dave Chinner <da...@fromorbit.com> tree: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: b0a12fb5bc87820b12df22c64dd680a96443de00 commit: 7dcf5c3e4527cfa2807567b00387cf2ed5e07f00 [6253/8741] xfs: add RENAME_WHITEOUT support :::::: branch date: 3 days ago :::::: commit date: 12 days ago
New smatch warnings: fs/xfs/xfs_inode.c:2914 xfs_rename() warn: variable dereferenced before check 'wip' (see line 2874) Old smatch warnings: fs/xfs/xfs_inode.c:357 xfs_lock_inodes() error: buffer overflow 'ips' 4 <= 4 fs/xfs/xfs_inode.c:359 xfs_lock_inodes() error: buffer overflow 'ips' 4 <= 4 fs/xfs/xfs_inode.c:381 xfs_lock_inodes() error: buffer overflow 'ips' 4 <= 4 fs/xfs/xfs_inode.c:387 xfs_lock_inodes() error: buffer overflow 'ips' 4 <= 4 fs/xfs/xfs_inode.c:401 xfs_lock_inodes() error: buffer overflow 'ips' 4 <= 4 fs/xfs/xfs_inode.c:2932 xfs_rename() error: we previously assumed 'target_ip' could be null (see line 2912) git remote add next git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git remote update next git checkout 7dcf5c3e4527cfa2807567b00387cf2ed5e07f00 vim +/wip +2914 fs/xfs/xfs_inode.c 7dcf5c3e Dave Chinner 2015-03-25 2868 return error; 7dcf5c3e Dave Chinner 2015-03-25 2869 7dcf5c3e Dave Chinner 2015-03-25 2870 /* setup target dirent info as whiteout */ 7dcf5c3e Dave Chinner 2015-03-25 2871 src_name->type = XFS_DIR3_FT_CHRDEV; 7dcf5c3e Dave Chinner 2015-03-25 2872 } f6bba201 Dave Chinner 2013-08-12 2873 7dcf5c3e Dave Chinner 2015-03-25 @2874 xfs_sort_for_rename(src_dp, target_dp, src_ip, target_ip, wip, f6bba201 Dave Chinner 2013-08-12 2875 inodes, &num_inodes); f6bba201 Dave Chinner 2013-08-12 2876 f6bba201 Dave Chinner 2013-08-12 2877 tp = xfs_trans_alloc(mp, XFS_TRANS_RENAME); f6bba201 Dave Chinner 2013-08-12 2878 spaceres = XFS_RENAME_SPACE_RES(mp, target_name->len); 3d3c8b52 Jie Liu 2013-08-12 2879 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, spaceres, 0); 2451337d Dave Chinner 2014-06-25 2880 if (error == -ENOSPC) { f6bba201 Dave Chinner 2013-08-12 2881 spaceres = 0; 3d3c8b52 Jie Liu 2013-08-12 2882 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_rename, 0, 0); f6bba201 Dave Chinner 2013-08-12 2883 } 445883e8 Dave Chinner 2015-03-25 2884 if (error) 445883e8 Dave Chinner 2015-03-25 2885 goto out_trans_cancel; 445883e8 Dave Chinner 2015-03-25 2886 cancel_flags = XFS_TRANS_RELEASE_LOG_RES; f6bba201 Dave Chinner 2013-08-12 2887 f6bba201 Dave Chinner 2013-08-12 2888 /* f6bba201 Dave Chinner 2013-08-12 2889 * Attach the dquots to the inodes f6bba201 Dave Chinner 2013-08-12 2890 */ f6bba201 Dave Chinner 2013-08-12 2891 error = xfs_qm_vop_rename_dqattach(inodes); 445883e8 Dave Chinner 2015-03-25 2892 if (error) 445883e8 Dave Chinner 2015-03-25 2893 goto out_trans_cancel; f6bba201 Dave Chinner 2013-08-12 2894 f6bba201 Dave Chinner 2013-08-12 2895 /* f6bba201 Dave Chinner 2013-08-12 2896 * Lock all the participating inodes. Depending upon whether f6bba201 Dave Chinner 2013-08-12 2897 * the target_name exists in the target directory, and f6bba201 Dave Chinner 2013-08-12 2898 * whether the target directory is the same as the source f6bba201 Dave Chinner 2013-08-12 2899 * directory, we can lock from 2 to 4 inodes. f6bba201 Dave Chinner 2013-08-12 2900 */ f6bba201 Dave Chinner 2013-08-12 2901 xfs_lock_inodes(inodes, num_inodes, XFS_ILOCK_EXCL); f6bba201 Dave Chinner 2013-08-12 2902 f6bba201 Dave Chinner 2013-08-12 2903 /* f6bba201 Dave Chinner 2013-08-12 2904 * Join all the inodes to the transaction. From this point on, f6bba201 Dave Chinner 2013-08-12 2905 * we can rely on either trans_commit or trans_cancel to unlock f6bba201 Dave Chinner 2013-08-12 2906 * them. f6bba201 Dave Chinner 2013-08-12 2907 */ f6bba201 Dave Chinner 2013-08-12 2908 xfs_trans_ijoin(tp, src_dp, XFS_ILOCK_EXCL); f6bba201 Dave Chinner 2013-08-12 2909 if (new_parent) f6bba201 Dave Chinner 2013-08-12 2910 xfs_trans_ijoin(tp, target_dp, XFS_ILOCK_EXCL); f6bba201 Dave Chinner 2013-08-12 2911 xfs_trans_ijoin(tp, src_ip, XFS_ILOCK_EXCL); f6bba201 Dave Chinner 2013-08-12 2912 if (target_ip) f6bba201 Dave Chinner 2013-08-12 2913 xfs_trans_ijoin(tp, target_ip, XFS_ILOCK_EXCL); 7dcf5c3e Dave Chinner 2015-03-25 @2914 if (wip) 7dcf5c3e Dave Chinner 2015-03-25 2915 xfs_trans_ijoin(tp, wip, XFS_ILOCK_EXCL); f6bba201 Dave Chinner 2013-08-12 2916 f6bba201 Dave Chinner 2013-08-12 2917 /* --- 0-DAY kernel test infrastructure Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation _______________________________________________ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild