Re: [PATCH] smb/client: clean up a type issue in cifs_xattr_get()

From: Dan Carpenter

Date: Fri Jun 12 2026 - 07:29:18 EST


On Thu, Jun 11, 2026 at 03:33:50PM -0500, Steve French wrote:
> Doesn't your patch need a cast in the following code in xattr.c since
> it returns a ssize_t and you changed rc to int with your patch?
>
> 315 if (pTcon->ses->server->ops->query_all_EAs)
> 316 rc =
> pTcon->ses->server->ops->query_all_EAs(xid, pTcon,
> 317 full_path, name, value, size, cifs_sb);
>

It's not required. The ->query_all_EAs() pointer returns ssize_t but
the two functions which implement ->query_all_EAs(), CIFSSMBQAllEAs()
and smb2_query_eas() return an rc variable which is an int.

I would tend to leave it out, but if you want I can add it if you
would prefer.

My real motivation for making this change is that we have an
"acllen = -ERANGE;" assignment where acllen is a u32. Then we
store the -ERANGE in a signed long and Smatch triggers a warning
at that point. But then we truncate away the upper 32 bits so it
ends being fine.

regards,
dan carpenter