Skip to content

Commit 7844d50

Browse files
ZhangGuoDongsmfrench
authored andcommitted
smb: move smb_sockaddr_in and smb_sockaddr_in6 to common/smb2pdu.h
Rename 4 places: - iface_info_ipv4 -> smb_sockaddr_in - iface_info_ipv6 -> smb_sockaddr_in6 - IPv4address -> IPv4Address - IPv6address -> IPv6Address Then move duplicate definitions to common header file. Co-developed-by: ChenXiaoSong <chenxiaosong@kylinos.cn> Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn> Signed-off-by: ZhangGuoDong <zhangguodong@kylinos.cn> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
1 parent cd31144 commit 7844d50

5 files changed

Lines changed: 21 additions & 32 deletions

File tree

fs/smb/client/smb2ops.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -624,8 +624,8 @@ parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf,
624624
struct network_interface_info_ioctl_rsp *p;
625625
struct sockaddr_in *addr4;
626626
struct sockaddr_in6 *addr6;
627-
struct iface_info_ipv4 *p4;
628-
struct iface_info_ipv6 *p6;
627+
struct smb_sockaddr_in *p4;
628+
struct smb_sockaddr_in6 *p6;
629629
struct cifs_server_iface *info = NULL, *iface = NULL, *niface = NULL;
630630
struct cifs_server_iface tmp_iface;
631631
ssize_t bytes_left;
@@ -685,7 +685,7 @@ parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf,
685685
*/
686686
case INTERNETWORK:
687687
addr4 = (struct sockaddr_in *)&tmp_iface.sockaddr;
688-
p4 = (struct iface_info_ipv4 *)p->Buffer;
688+
p4 = (struct smb_sockaddr_in *)p->Buffer;
689689
addr4->sin_family = AF_INET;
690690
memcpy(&addr4->sin_addr, &p4->IPv4Address, 4);
691691

@@ -697,7 +697,7 @@ parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf,
697697
break;
698698
case INTERNETWORKV6:
699699
addr6 = (struct sockaddr_in6 *)&tmp_iface.sockaddr;
700-
p6 = (struct iface_info_ipv6 *)p->Buffer;
700+
p6 = (struct smb_sockaddr_in6 *)p->Buffer;
701701
addr6->sin6_family = AF_INET6;
702702
memcpy(&addr6->sin6_addr, &p6->IPv6Address, 16);
703703

fs/smb/client/smb2pdu.h

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -279,19 +279,6 @@ struct network_interface_info_ioctl_rsp {
279279
__u8 Buffer[126];
280280
} __packed;
281281

282-
struct iface_info_ipv4 {
283-
__be16 Port;
284-
__be32 IPv4Address;
285-
__be64 Reserved;
286-
} __packed;
287-
288-
struct iface_info_ipv6 {
289-
__be16 Port;
290-
__be32 FlowInfo;
291-
__u8 IPv6Address[16];
292-
__be32 ScopeId;
293-
} __packed;
294-
295282
#define NO_FILE_ID 0xFFFFFFFFFFFFFFFFULL /* general ioctls to srv not to file */
296283

297284
struct compress_ioctl {

fs/smb/common/smb2pdu.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1404,6 +1404,21 @@ struct smb2_ioctl_rsp {
14041404
__u8 Buffer[];
14051405
} __packed;
14061406

1407+
/* See MS-SMB2 2.2.32.5.1.1 */
1408+
struct smb_sockaddr_in {
1409+
__be16 Port;
1410+
__be32 IPv4Address;
1411+
__u8 Reserved[8];
1412+
} __packed;
1413+
1414+
/* See MS-SMB2 2.2.32.5.1.2 */
1415+
struct smb_sockaddr_in6 {
1416+
__be16 Port;
1417+
__be32 FlowInfo;
1418+
__u8 IPv6Address[16];
1419+
__be32 ScopeId;
1420+
} __packed;
1421+
14071422
/* this goes in the ioctl buffer when doing FSCTL_SET_ZERO_DATA */
14081423
struct file_zero_data_information {
14091424
__le64 FileOffset;

fs/smb/server/smb2pdu.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7900,15 +7900,15 @@ static int fsctl_query_iface_info_ioctl(struct ksmbd_conn *conn,
79007900
idev = __in_dev_get_rtnl(netdev);
79017901
if (!idev)
79027902
continue;
7903-
sockaddr_storage->addr4.IPv4address =
7903+
sockaddr_storage->addr4.IPv4Address =
79047904
idev_ipv4_address(idev);
79057905
nbytes += sizeof(struct network_interface_info_ioctl_rsp);
79067906
ipv4_set = true;
79077907
goto ipv6_retry;
79087908
} else {
79097909
struct inet6_dev *idev6;
79107910
struct inet6_ifaddr *ifa;
7911-
__u8 *ipv6_addr = sockaddr_storage->addr6.IPv6address;
7911+
__u8 *ipv6_addr = sockaddr_storage->addr6.IPv6Address;
79127912

79137913
sockaddr_storage->Family = cpu_to_le16(INTERNETWORKV6);
79147914
sockaddr_storage->addr6.Port = 0;

fs/smb/server/smb2pdu.h

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -138,19 +138,6 @@ struct create_posix_rsp {
138138

139139
#define SMB2_0_IOCTL_IS_FSCTL 0x00000001
140140

141-
struct smb_sockaddr_in {
142-
__be16 Port;
143-
__be32 IPv4address;
144-
__u8 Reserved[8];
145-
} __packed;
146-
147-
struct smb_sockaddr_in6 {
148-
__be16 Port;
149-
__be32 FlowInfo;
150-
__u8 IPv6address[16];
151-
__be32 ScopeId;
152-
} __packed;
153-
154141
#define INTERNETWORK 0x0002
155142
#define INTERNETWORKV6 0x0017
156143

0 commit comments

Comments
 (0)