[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.