netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] NFC: nci: Add bounds checking in nci_hci_create_pipe()
@ 2025-01-17  9:38 Dan Carpenter
  2025-01-22 10:11 ` Simon Horman
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Dan Carpenter @ 2025-01-17  9:38 UTC (permalink / raw)
  To: Christophe Ricard, Samuel Ortiz
  Cc: Krzysztof Kozlowski, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Simon Horman, netdev, linux-kernel,
	kernel-janitors

The "pipe" variable is a u8 which comes from the network.  If it's more
than 127, then it results in memory corruption in the caller,
nci_hci_connect_gate().

Cc: stable@vger.kernel.org
Fixes: a1b0b9415817 ("NFC: nci: Create pipe on specific gate in nci_hci_connect_gate")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 net/nfc/nci/hci.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/nfc/nci/hci.c b/net/nfc/nci/hci.c
index de175318a3a0..082ab66f120b 100644
--- a/net/nfc/nci/hci.c
+++ b/net/nfc/nci/hci.c
@@ -542,6 +542,8 @@ static u8 nci_hci_create_pipe(struct nci_dev *ndev, u8 dest_host,
 
 	pr_debug("pipe created=%d\n", pipe);
 
+	if (pipe >= NCI_HCI_MAX_PIPES)
+		pipe = NCI_HCI_INVALID_PIPE;
 	return pipe;
 }
 
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] NFC: nci: Add bounds checking in nci_hci_create_pipe()
  2025-01-17  9:38 [PATCH] NFC: nci: Add bounds checking in nci_hci_create_pipe() Dan Carpenter
@ 2025-01-22 10:11 ` Simon Horman
  2025-01-22 12:33 ` Krzysztof Kozlowski
  2025-01-23  4:10 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: Simon Horman @ 2025-01-22 10:11 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Christophe Ricard, Samuel Ortiz, Krzysztof Kozlowski,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	netdev, linux-kernel, kernel-janitors

On Fri, Jan 17, 2025 at 12:38:41PM +0300, Dan Carpenter wrote:
> The "pipe" variable is a u8 which comes from the network.  If it's more
> than 127, then it results in memory corruption in the caller,
> nci_hci_connect_gate().
> 
> Cc: stable@vger.kernel.org
> Fixes: a1b0b9415817 ("NFC: nci: Create pipe on specific gate in nci_hci_connect_gate")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>

Hi Dan,

Based on your analysis, which I agree with, this looks good.

Reviewed-by: Simon Horman <horms@kernel.org>

But this is a limited review, as I am not sufficiently familiar with NFC
to go by much more than your analysis. A review by Krzysztof would be great.

> ---
>  net/nfc/nci/hci.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/net/nfc/nci/hci.c b/net/nfc/nci/hci.c
> index de175318a3a0..082ab66f120b 100644
> --- a/net/nfc/nci/hci.c
> +++ b/net/nfc/nci/hci.c
> @@ -542,6 +542,8 @@ static u8 nci_hci_create_pipe(struct nci_dev *ndev, u8 dest_host,
>  
>  	pr_debug("pipe created=%d\n", pipe);
>  
> +	if (pipe >= NCI_HCI_MAX_PIPES)
> +		pipe = NCI_HCI_INVALID_PIPE;

Ceci n'est pas une pipe [1]

>  	return pipe;
>  }

[1] https://en.wikipedia.org/wiki/The_Treachery_of_Images

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] NFC: nci: Add bounds checking in nci_hci_create_pipe()
  2025-01-17  9:38 [PATCH] NFC: nci: Add bounds checking in nci_hci_create_pipe() Dan Carpenter
  2025-01-22 10:11 ` Simon Horman
@ 2025-01-22 12:33 ` Krzysztof Kozlowski
  2025-01-23  4:10 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-22 12:33 UTC (permalink / raw)
  To: Dan Carpenter, Christophe Ricard, Samuel Ortiz
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, netdev, linux-kernel, kernel-janitors

On 17/01/2025 10:38, Dan Carpenter wrote:
> The "pipe" variable is a u8 which comes from the network.  If it's more
> than 127, then it results in memory corruption in the caller,
> nci_hci_connect_gate().
> 
> Cc: stable@vger.kernel.org
> Fixes: a1b0b9415817 ("NFC: nci: Create pipe on specific gate in nci_hci_connect_gate")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] NFC: nci: Add bounds checking in nci_hci_create_pipe()
  2025-01-17  9:38 [PATCH] NFC: nci: Add bounds checking in nci_hci_create_pipe() Dan Carpenter
  2025-01-22 10:11 ` Simon Horman
  2025-01-22 12:33 ` Krzysztof Kozlowski
@ 2025-01-23  4:10 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-01-23  4:10 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: christophe.ricard, sameo, krzk, davem, edumazet, kuba, pabeni,
	horms, netdev, linux-kernel, kernel-janitors

Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Fri, 17 Jan 2025 12:38:41 +0300 you wrote:
> The "pipe" variable is a u8 which comes from the network.  If it's more
> than 127, then it results in memory corruption in the caller,
> nci_hci_connect_gate().
> 
> Cc: stable@vger.kernel.org
> Fixes: a1b0b9415817 ("NFC: nci: Create pipe on specific gate in nci_hci_connect_gate")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> 
> [...]

Here is the summary with links:
  - NFC: nci: Add bounds checking in nci_hci_create_pipe()
    https://git.kernel.org/netdev/net/c/110b43ef0534

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-01-23  4:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-17  9:38 [PATCH] NFC: nci: Add bounds checking in nci_hci_create_pipe() Dan Carpenter
2025-01-22 10:11 ` Simon Horman
2025-01-22 12:33 ` Krzysztof Kozlowski
2025-01-23  4:10 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).