* [Patch 0/3] NetworkPkg/TcpDxe: Fix some issues in TcpDxe driver.
@ 2017-12-22 7:07 Jiaxin Wu
2017-12-22 7:07 ` [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use Jiaxin Wu
2017-12-22 7:07 ` [Patch 2/3] NetworkPkg/TcpDxe: Remove the redundant code Jiaxin Wu
0 siblings, 2 replies; 5+ messages in thread
From: Jiaxin Wu @ 2017-12-22 7:07 UTC (permalink / raw)
To: edk2-devel; +Cc: Fu Siyuan, Wang Fan, Ye Ting, Wu Jiaxin
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Wang Fan <fan.wang@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
Jiaxin Wu (3):
NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use
NetworkPkg/TcpDxe: Remove the redundant code.
NetworkPkg/TcpDxe: Check TCP payload for release version.
NetworkPkg/TcpDxe/SockInterface.c | 46 --------------
NetworkPkg/TcpDxe/Socket.h | 21 +------
NetworkPkg/TcpDxe/TcpInput.c | 125 ++++++++++++++++++++++++++++++--------
NetworkPkg/TcpDxe/TcpMain.c | 3 +
NetworkPkg/TcpDxe/TcpOutput.c | 29 ++++++---
5 files changed, 126 insertions(+), 98 deletions(-)
--
1.9.5.msysgit.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use
2017-12-22 7:07 [Patch 0/3] NetworkPkg/TcpDxe: Fix some issues in TcpDxe driver Jiaxin Wu
@ 2017-12-22 7:07 ` Jiaxin Wu
2017-12-22 7:18 ` Fu, Siyuan
2017-12-22 7:07 ` [Patch 2/3] NetworkPkg/TcpDxe: Remove the redundant code Jiaxin Wu
1 sibling, 1 reply; 5+ messages in thread
From: Jiaxin Wu @ 2017-12-22 7:07 UTC (permalink / raw)
To: edk2-devel; +Cc: Fu Siyuan, Wang Fan, Ye Ting, Wu Jiaxin
According the Spec, the FragmentBuffers in FragmentTable are allocated
by the application when calling Receive() function. This patch is to
check whether the FragmentBuffer is valid or not.
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Wang Fan <fan.wang@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
---
NetworkPkg/TcpDxe/TcpMain.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/NetworkPkg/TcpDxe/TcpMain.c b/NetworkPkg/TcpDxe/TcpMain.c
index fc3713e..e349d2d 100644
--- a/NetworkPkg/TcpDxe/TcpMain.c
+++ b/NetworkPkg/TcpDxe/TcpMain.c
@@ -38,10 +38,13 @@ TcpChkDataBuf (
UINT32 Index;
UINT32 Len;
for (Index = 0, Len = 0; Index < FragmentCount; Index++) {
+ if (FragmentTable[Index].FragmentBuffer == NULL) {
+ return EFI_INVALID_PARAMETER;
+ }
Len = Len + FragmentTable[Index].FragmentLength;
}
if (DataLen != Len) {
return EFI_INVALID_PARAMETER;
--
1.9.5.msysgit.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Patch 2/3] NetworkPkg/TcpDxe: Remove the redundant code.
2017-12-22 7:07 [Patch 0/3] NetworkPkg/TcpDxe: Fix some issues in TcpDxe driver Jiaxin Wu
2017-12-22 7:07 ` [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use Jiaxin Wu
@ 2017-12-22 7:07 ` Jiaxin Wu
2017-12-22 7:18 ` Fu, Siyuan
1 sibling, 1 reply; 5+ messages in thread
From: Jiaxin Wu @ 2017-12-22 7:07 UTC (permalink / raw)
To: edk2-devel; +Cc: Fu Siyuan, Wang Fan, Ye Ting, Wu Jiaxin
The function SockGroup() is not used by any other code. So,
it can be deleted.
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Wang Fan <fan.wang@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
---
NetworkPkg/TcpDxe/SockInterface.c | 46 ---------------------------------------
NetworkPkg/TcpDxe/Socket.h | 21 +-----------------
2 files changed, 1 insertion(+), 66 deletions(-)
diff --git a/NetworkPkg/TcpDxe/SockInterface.c b/NetworkPkg/TcpDxe/SockInterface.c
index 0248cdf..0dfc0a7 100644
--- a/NetworkPkg/TcpDxe/SockInterface.c
+++ b/NetworkPkg/TcpDxe/SockInterface.c
@@ -1078,56 +1078,10 @@ SockGetMode (
{
return Sock->ProtoHandler (Sock, SOCK_MODE, Mode);
}
/**
- Configure the low level protocol to join a multicast group for
- this socket's connection.
-
- @param[in] Sock Pointer to the socket of the connection to join the
- specific multicast group.
- @param[in] GroupInfo Pointer to the multicast group info.
-
- @retval EFI_SUCCESS The configuration completed successfully.
- @retval EFI_ACCESS_DENIED Failed to get the lock to access the socket.
- @retval EFI_NOT_STARTED The socket is not configured.
-
-**/
-EFI_STATUS
-SockGroup (
- IN SOCKET *Sock,
- IN VOID *GroupInfo
- )
-{
- EFI_STATUS Status;
-
- Status = EfiAcquireLockOrFail (&(Sock->Lock));
-
- if (EFI_ERROR (Status)) {
-
- DEBUG (
- (EFI_D_ERROR,
- "SockGroup: Get the access for socket failed with %r",
- Status)
- );
-
- return EFI_ACCESS_DENIED;
- }
-
- if (SOCK_IS_UNCONFIGURED (Sock)) {
- Status = EFI_NOT_STARTED;
- goto Exit;
- }
-
- Status = Sock->ProtoHandler (Sock, SOCK_GROUP, GroupInfo);
-
-Exit:
- EfiReleaseLock (&(Sock->Lock));
- return Status;
-}
-
-/**
Add or remove route information in IP route table associated
with this socket.
@param[in] Sock Pointer to the socket associated with the IP route
table to operate on.
diff --git a/NetworkPkg/TcpDxe/Socket.h b/NetworkPkg/TcpDxe/Socket.h
index f7f4a7a..26c5f4e 100644
--- a/NetworkPkg/TcpDxe/Socket.h
+++ b/NetworkPkg/TcpDxe/Socket.h
@@ -1,9 +1,9 @@
/** @file
Common head file for TCP socket.
- Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
@@ -898,29 +898,10 @@ SockGetMode (
IN SOCKET *Sock,
IN OUT VOID *Mode
);
/**
- Configure the low level protocol to join a multicast group for
- this socket's connection.
-
- @param[in] Sock Pointer to the socket of the connection to join the
- specific multicast group.
- @param[in] GroupInfo Pointer to the multicast group information.
-
- @retval EFI_SUCCESS The configuration completed successfully.
- @retval EFI_ACCESS_DENIED Failed to get the lock to access the socket.
- @retval EFI_NOT_STARTED The socket is not configured.
-
-**/
-EFI_STATUS
-SockGroup (
- IN SOCKET *Sock,
- IN VOID *GroupInfo
- );
-
-/**
Add or remove route information in IP route table associated
with this socket.
@param[in] Sock Pointer to the socket associated with the IP route
table to operate on.
--
1.9.5.msysgit.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use
2017-12-22 7:07 ` [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use Jiaxin Wu
@ 2017-12-22 7:18 ` Fu, Siyuan
0 siblings, 0 replies; 5+ messages in thread
From: Fu, Siyuan @ 2017-12-22 7:18 UTC (permalink / raw)
To: Wu, Jiaxin, edk2-devel@lists.01.org; +Cc: Wang, Fan, Ye, Ting
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
> -----Original Message-----
> From: Wu, Jiaxin
> Sent: Friday, December 22, 2017 3:07 PM
> To: edk2-devel@lists.01.org
> Cc: Fu, Siyuan <siyuan.fu@intel.com>; Wang, Fan <fan.wang@intel.com>; Ye,
> Ting <ting.ye@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>
> Subject: [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL
> before use
>
> According the Spec, the FragmentBuffers in FragmentTable are allocated
> by the application when calling Receive() function. This patch is to
> check whether the FragmentBuffer is valid or not.
>
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Cc: Wang Fan <fan.wang@intel.com>
> Cc: Ye Ting <ting.ye@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
> ---
> NetworkPkg/TcpDxe/TcpMain.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/NetworkPkg/TcpDxe/TcpMain.c b/NetworkPkg/TcpDxe/TcpMain.c
> index fc3713e..e349d2d 100644
> --- a/NetworkPkg/TcpDxe/TcpMain.c
> +++ b/NetworkPkg/TcpDxe/TcpMain.c
> @@ -38,10 +38,13 @@ TcpChkDataBuf (
> UINT32 Index;
>
> UINT32 Len;
>
> for (Index = 0, Len = 0; Index < FragmentCount; Index++) {
> + if (FragmentTable[Index].FragmentBuffer == NULL) {
> + return EFI_INVALID_PARAMETER;
> + }
> Len = Len + FragmentTable[Index].FragmentLength;
> }
>
> if (DataLen != Len) {
> return EFI_INVALID_PARAMETER;
> --
> 1.9.5.msysgit.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Patch 2/3] NetworkPkg/TcpDxe: Remove the redundant code.
2017-12-22 7:07 ` [Patch 2/3] NetworkPkg/TcpDxe: Remove the redundant code Jiaxin Wu
@ 2017-12-22 7:18 ` Fu, Siyuan
0 siblings, 0 replies; 5+ messages in thread
From: Fu, Siyuan @ 2017-12-22 7:18 UTC (permalink / raw)
To: Wu, Jiaxin, edk2-devel@lists.01.org; +Cc: Ye, Ting, Wang, Fan, Wu, Jiaxin
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Jiaxin Wu
> Sent: Friday, December 22, 2017 3:07 PM
> To: edk2-devel@lists.01.org
> Cc: Ye, Ting <ting.ye@intel.com>; Wang, Fan <fan.wang@intel.com>; Fu,
> Siyuan <siyuan.fu@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>
> Subject: [edk2] [Patch 2/3] NetworkPkg/TcpDxe: Remove the redundant code.
>
> The function SockGroup() is not used by any other code. So,
> it can be deleted.
>
> Cc: Fu Siyuan <siyuan.fu@intel.com>
> Cc: Wang Fan <fan.wang@intel.com>
> Cc: Ye Ting <ting.ye@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
> ---
> NetworkPkg/TcpDxe/SockInterface.c | 46 ----------------------------------
> -----
> NetworkPkg/TcpDxe/Socket.h | 21 +-----------------
> 2 files changed, 1 insertion(+), 66 deletions(-)
>
> diff --git a/NetworkPkg/TcpDxe/SockInterface.c
> b/NetworkPkg/TcpDxe/SockInterface.c
> index 0248cdf..0dfc0a7 100644
> --- a/NetworkPkg/TcpDxe/SockInterface.c
> +++ b/NetworkPkg/TcpDxe/SockInterface.c
> @@ -1078,56 +1078,10 @@ SockGetMode (
> {
> return Sock->ProtoHandler (Sock, SOCK_MODE, Mode);
> }
>
> /**
> - Configure the low level protocol to join a multicast group for
> - this socket's connection.
> -
> - @param[in] Sock Pointer to the socket of the connection to
> join the
> - specific multicast group.
> - @param[in] GroupInfo Pointer to the multicast group info.
> -
> - @retval EFI_SUCCESS The configuration completed successfully.
> - @retval EFI_ACCESS_DENIED Failed to get the lock to access the
> socket.
> - @retval EFI_NOT_STARTED The socket is not configured.
> -
> -**/
> -EFI_STATUS
> -SockGroup (
> - IN SOCKET *Sock,
> - IN VOID *GroupInfo
> - )
> -{
> - EFI_STATUS Status;
> -
> - Status = EfiAcquireLockOrFail (&(Sock->Lock));
> -
> - if (EFI_ERROR (Status)) {
> -
> - DEBUG (
> - (EFI_D_ERROR,
> - "SockGroup: Get the access for socket failed with %r",
> - Status)
> - );
> -
> - return EFI_ACCESS_DENIED;
> - }
> -
> - if (SOCK_IS_UNCONFIGURED (Sock)) {
> - Status = EFI_NOT_STARTED;
> - goto Exit;
> - }
> -
> - Status = Sock->ProtoHandler (Sock, SOCK_GROUP, GroupInfo);
> -
> -Exit:
> - EfiReleaseLock (&(Sock->Lock));
> - return Status;
> -}
> -
> -/**
> Add or remove route information in IP route table associated
> with this socket.
>
> @param[in] Sock Pointer to the socket associated with the
> IP route
> table to operate on.
> diff --git a/NetworkPkg/TcpDxe/Socket.h b/NetworkPkg/TcpDxe/Socket.h
> index f7f4a7a..26c5f4e 100644
> --- a/NetworkPkg/TcpDxe/Socket.h
> +++ b/NetworkPkg/TcpDxe/Socket.h
> @@ -1,9 +1,9 @@
> /** @file
> Common head file for TCP socket.
>
> - Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
> + Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the
> BSD License
> which accompanies this distribution. The full text of the license may
> be found at
> http://opensource.org/licenses/bsd-license.php.
> @@ -898,29 +898,10 @@ SockGetMode (
> IN SOCKET *Sock,
> IN OUT VOID *Mode
> );
>
> /**
> - Configure the low level protocol to join a multicast group for
> - this socket's connection.
> -
> - @param[in] Sock Pointer to the socket of the connection to
> join the
> - specific multicast group.
> - @param[in] GroupInfo Pointer to the multicast group information.
> -
> - @retval EFI_SUCCESS The configuration completed successfully.
> - @retval EFI_ACCESS_DENIED Failed to get the lock to access the
> socket.
> - @retval EFI_NOT_STARTED The socket is not configured.
> -
> -**/
> -EFI_STATUS
> -SockGroup (
> - IN SOCKET *Sock,
> - IN VOID *GroupInfo
> - );
> -
> -/**
> Add or remove route information in IP route table associated
> with this socket.
>
> @param[in] Sock Pointer to the socket associated with the
> IP route
> table to operate on.
> --
> 1.9.5.msysgit.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-12-22 7:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-22 7:07 [Patch 0/3] NetworkPkg/TcpDxe: Fix some issues in TcpDxe driver Jiaxin Wu
2017-12-22 7:07 ` [Patch 1/3] NetworkPkg/TcpDxe: Check FragmentBuffer for NULL before use Jiaxin Wu
2017-12-22 7:18 ` Fu, Siyuan
2017-12-22 7:07 ` [Patch 2/3] NetworkPkg/TcpDxe: Remove the redundant code Jiaxin Wu
2017-12-22 7:18 ` Fu, Siyuan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox