[android-common:main-16k-gs-shusky-5.15 36/36] fs/ksmbd/smb2pdu.c:5736: warning: Function parameter or member 'req' not described in 'smb2_set_info_file'
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild-all |
|---|---|
| Message-ID | <[email protected]> |
Hi Namjae, FYI, the error/warning still remains. tree: https://android.googlesource.com/kernel/common main-16k-gs-shusky-5.15 head: 3b83adad5dbcce249f6042cc64bf4ae9fddf5262 commit: 9496e268e3af78a92778bf635488a8ec2dca8996 [36/36] ksmbd: add request buffer validation in smb2_set_info config: i386-buildonly-randconfig-004-20260813 (https://download.01.org/0day-ci/archive/20260814/[email protected]/config) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260814/[email protected]/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 | Fixes: 9496e268e3af ("ksmbd: add request buffer validation in smb2_set_info") | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All warnings (new ones prefixed by >>): fs/ksmbd/smb2pdu.c:645: warning: Function parameter or member 'local_nls' not described in 'smb2_get_name' fs/ksmbd/smb2pdu.c:645: warning: Excess function parameter 'nls_table' description in 'smb2_get_name' fs/ksmbd/smb2pdu.c:3321: warning: Excess function parameter 'user_ns' description in 'smb2_populate_readdir_entry' >> fs/ksmbd/smb2pdu.c:5736: warning: Function parameter or member 'req' not described in 'smb2_set_info_file' >> fs/ksmbd/smb2pdu.c:5736: warning: Excess function parameter 'info_class' description in 'smb2_set_info_file' vim +5736 fs/ksmbd/smb2pdu.c e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5722 e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5723 /** e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5724 * smb2_set_info_file() - handler for smb2 set info command e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5725 * @work: smb work containing set info command buffer 95fa1ce947d60b fs/cifsd/smb2pdu.c Hyunchul Lee 2021-03-21 5726 * @fp: ksmbd_file pointer 95fa1ce947d60b fs/cifsd/smb2pdu.c Hyunchul Lee 2021-03-21 5727 * @info_class: smb2 set info class 95fa1ce947d60b fs/cifsd/smb2pdu.c Hyunchul Lee 2021-03-21 5728 * @share: ksmbd_share_config pointer e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5729 * e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5730 * Return: 0 on success, otherwise error e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5731 * TODO: need to implement an error handling for STATUS_INFO_LENGTH_MISMATCH e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5732 */ 64b39f4a2fd293 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-30 5733 static int smb2_set_info_file(struct ksmbd_work *work, struct ksmbd_file *fp, 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5734 struct smb2_set_info_req *req, 070fb21e5912b6 fs/cifsd/smb2pdu.c Namjae Jeon 2021-05-26 5735 struct ksmbd_share_config *share) e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 @5736 { 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5737 unsigned int buf_len = le32_to_cpu(req->BufferLength); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5738 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5739 switch (req->FileInfoClass) { e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5740 case FILE_BASIC_INFORMATION: 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5741 { 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5742 if (buf_len < sizeof(struct smb2_file_basic_info)) 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5743 return -EINVAL; e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5744 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5745 return set_file_basic_info(fp, (struct smb2_file_basic_info *)req->Buffer, share); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5746 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5747 case FILE_ALLOCATION_INFORMATION: 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5748 { 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5749 if (buf_len < sizeof(struct smb2_file_alloc_info)) 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5750 return -EINVAL; e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5751 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5752 return set_file_allocation_info(work, fp, 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5753 (struct smb2_file_alloc_info *)req->Buffer); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5754 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5755 case FILE_END_OF_FILE_INFORMATION: 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5756 { 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5757 if (buf_len < sizeof(struct smb2_file_eof_info)) 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5758 return -EINVAL; e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5759 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5760 return set_end_of_file_info(work, fp, 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5761 (struct smb2_file_eof_info *)req->Buffer); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5762 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5763 case FILE_RENAME_INFORMATION: 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5764 { 64b39f4a2fd293 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-30 5765 if (!test_tree_conn_flag(work->tcon, KSMBD_TREE_CONN_FLAG_WRITABLE)) { e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5766 ksmbd_debug(SMB, e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5767 "User does not have write permission\n"); e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5768 return -EACCES; e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5769 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5770 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5771 if (buf_len < sizeof(struct smb2_file_rename_info)) 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5772 return -EINVAL; 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5773 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5774 return set_rename_info(work, fp, 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5775 (struct smb2_file_rename_info *)req->Buffer, 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5776 buf_len); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5777 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5778 case FILE_LINK_INFORMATION: 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5779 { 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5780 if (buf_len < sizeof(struct smb2_file_link_info)) 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5781 return -EINVAL; 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5782 e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5783 return smb2_create_link(work, work->tcon->share_conf, 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5784 (struct smb2_file_link_info *)req->Buffer, 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5785 buf_len, fp->filp, e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5786 work->sess->conn->local_nls); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5787 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5788 case FILE_DISPOSITION_INFORMATION: 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5789 { 64b39f4a2fd293 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-30 5790 if (!test_tree_conn_flag(work->tcon, KSMBD_TREE_CONN_FLAG_WRITABLE)) { e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5791 ksmbd_debug(SMB, e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5792 "User does not have write permission\n"); e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5793 return -EACCES; e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5794 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5795 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5796 if (buf_len < sizeof(struct smb2_file_disposition_info)) 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5797 return -EINVAL; 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5798 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5799 return set_file_disposition_info(fp, 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5800 (struct smb2_file_disposition_info *)req->Buffer); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5801 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5802 case FILE_FULL_EA_INFORMATION: e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5803 { e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5804 if (!(fp->daccess & FILE_WRITE_EA_LE)) { bde1694aecdb53 fs/cifsd/smb2pdu.c Namjae Jeon 2021-06-28 5805 pr_err("Not permitted to write ext attr: 0x%x\n", e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5806 fp->daccess); e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5807 return -EACCES; e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5808 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5809 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5810 if (buf_len < sizeof(struct smb2_ea_info)) 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5811 return -EINVAL; e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5812 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5813 return smb2_set_ea((struct smb2_ea_info *)req->Buffer, 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5814 buf_len, &fp->filp->f_path); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5815 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5816 case FILE_POSITION_INFORMATION: 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5817 { 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5818 if (buf_len < sizeof(struct smb2_file_pos_info)) 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5819 return -EINVAL; e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5820 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5821 return set_file_position_info(fp, (struct smb2_file_pos_info *)req->Buffer); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5822 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5823 case FILE_MODE_INFORMATION: 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5824 { 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5825 if (buf_len < sizeof(struct smb2_file_mode_info)) 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5826 return -EINVAL; 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5827 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5828 return set_file_mode_info(fp, (struct smb2_file_mode_info *)req->Buffer); 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5829 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5830 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5831 9496e268e3af78 fs/ksmbd/smb2pdu.c Namjae Jeon 2021-09-29 5832 pr_err("Unimplemented Fileinfoclass :%d\n", req->FileInfoClass); e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5833 return -EOPNOTSUPP; e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5834 } e2f34481b24db2 fs/cifsd/smb2pdu.c Namjae Jeon 2021-03-16 5835 :::::: The code at line 5736 was first introduced by commit :::::: e2f34481b24db2fd634b5edb0a5bd0e4d38cc6e9 cifsd: add server-side procedures for SMB3 :::::: TO: Namjae Jeon <[email protected]> :::::: CC: Steve French <[email protected]> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki