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 '4.17-rc1-SMB3-CIFS' of git://git.samba.org/sfrench/cifs-2.6

Pull cifs fixes from Steve French:
"Various SMB3/CIFS fixes.

There are three more security related fixes in progress that are not
included in this set but they are still being tested and reviewed, so
sending this unrelated set of smaller fixes now"

* tag '4.17-rc1-SMB3-CIFS' of git://git.samba.org/sfrench/cifs-2.6:
CIFS: fix typo in cifs_dbg
cifs: do not allow creating sockets except with SMB1 posix exensions
cifs: smbd: Dump SMB packet when configured
cifs: smbd: Check for iov length on sending the last iov
fs: cifs: Adding new return type vm_fault_t
cifs: smb2ops: Fix NULL check in smb2_query_symlink

+16 -9
+1 -1
fs/cifs/cifs_debug.h
··· 54 54 pr_debug_ ## ratefunc("%s: " \ 55 55 fmt, __FILE__, ##__VA_ARGS__); \ 56 56 } else if ((type) & VFS) { \ 57 - pr_err_ ## ratefunc("CuIFS VFS: " \ 57 + pr_err_ ## ratefunc("CIFS VFS: " \ 58 58 fmt, ##__VA_ARGS__); \ 59 59 } else if ((type) & NOISY && (NOISY != 0)) { \ 60 60 pr_debug_ ## ratefunc(fmt, ##__VA_ARGS__); \
+5 -4
fs/cifs/dir.c
··· 684 684 goto mknod_out; 685 685 } 686 686 687 + if (!S_ISCHR(mode) && !S_ISBLK(mode)) 688 + goto mknod_out; 689 + 687 690 if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL)) 688 691 goto mknod_out; 689 692 ··· 695 692 696 693 buf = kmalloc(sizeof(FILE_ALL_INFO), GFP_KERNEL); 697 694 if (buf == NULL) { 698 - kfree(full_path); 699 695 rc = -ENOMEM; 700 - free_xid(xid); 701 - return rc; 696 + goto mknod_out; 702 697 } 703 698 704 699 if (backup_cred(cifs_sb)) ··· 743 742 pdev->minor = cpu_to_le64(MINOR(device_number)); 744 743 rc = tcon->ses->server->ops->sync_write(xid, &fid, &io_parms, 745 744 &bytes_written, iov, 1); 746 - } /* else if (S_ISFIFO) */ 745 + } 747 746 tcon->ses->server->ops->close(xid, tcon, &fid); 748 747 d_drop(direntry); 749 748
+1 -1
fs/cifs/file.c
··· 3462 3462 * If the page is mmap'ed into a process' page tables, then we need to make 3463 3463 * sure that it doesn't change while being written back. 3464 3464 */ 3465 - static int 3465 + static vm_fault_t 3466 3466 cifs_page_mkwrite(struct vm_fault *vmf) 3467 3467 { 3468 3468 struct page *page = vmf->page;
+2 -2
fs/cifs/smb2ops.c
··· 1452 1452 struct cifs_open_parms oparms; 1453 1453 struct cifs_fid fid; 1454 1454 struct kvec err_iov = {NULL, 0}; 1455 - struct smb2_err_rsp *err_buf = NULL; 1455 + struct smb2_err_rsp *err_buf; 1456 1456 struct smb2_symlink_err_rsp *symlink; 1457 1457 unsigned int sub_len; 1458 1458 unsigned int sub_offset; ··· 1476 1476 1477 1477 rc = SMB2_open(xid, &oparms, utf16_path, &oplock, NULL, &err_iov); 1478 1478 1479 - if (!rc || !err_buf) { 1479 + if (!rc || !err_iov.iov_base) { 1480 1480 kfree(utf16_path); 1481 1481 return -ENOENT; 1482 1482 }
+7 -1
fs/cifs/smbdirect.c
··· 1028 1028 for (i = 0; i < request->num_sge; i++) { 1029 1029 log_rdma_send(INFO, 1030 1030 "rdma_request sge[%d] addr=%llu length=%u\n", 1031 - i, request->sge[0].addr, request->sge[0].length); 1031 + i, request->sge[i].addr, request->sge[i].length); 1032 1032 ib_dma_sync_single_for_device( 1033 1033 info->id->device, 1034 1034 request->sge[i].addr, ··· 2139 2139 goto done; 2140 2140 } 2141 2141 2142 + cifs_dbg(FYI, "Sending smb (RDMA): smb_len=%u\n", buflen); 2143 + for (i = 0; i < rqst->rq_nvec-1; i++) 2144 + dump_smb(iov[i].iov_base, iov[i].iov_len); 2145 + 2142 2146 remaining_data_length = buflen; 2143 2147 2144 2148 log_write(INFO, "rqst->rq_nvec=%d rqst->rq_npages=%d rq_pagesz=%d " ··· 2198 2194 goto done; 2199 2195 } 2200 2196 i++; 2197 + if (i == rqst->rq_nvec) 2198 + break; 2201 2199 } 2202 2200 start = i; 2203 2201 buflen = 0;