From: Joakim Zhang <qiangqing.zhang@nxp.com>
To: Marc Kleine-Budde <mkl@pengutronix.de>,
Vincent MAILHOL <mailhol.vincent@wanadoo.fr>,
Oliver Hartkopp <socketcan@hartkopp.net>,
"linux-can@vger.kernel.org" <linux-can@vger.kernel.org>
Cc: "kernel@pengutronix.de" <kernel@pengutronix.de>,
"Stéphane Grosjean" <s.grosjean@peak-system.com>
Subject: RE: [net-rfc 04/16] can: dev: can_get_len(): add a helper function to get the correct length of Classical frames
Date: Wed, 21 Oct 2020 07:48:55 +0000 [thread overview]
Message-ID: <DB8PR04MB67958C71CF633A3F0FB2B6D4E61C0@DB8PR04MB6795.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <7dde6b81-cd60-523f-8dbe-9cab3cc061b4@pengutronix.de>
> -----Original Message-----
> From: Marc Kleine-Budde <mkl@pengutronix.de>
> Sent: 2020年10月21日 15:21
> To: Joakim Zhang <qiangqing.zhang@nxp.com>; Vincent MAILHOL
> <mailhol.vincent@wanadoo.fr>; Oliver Hartkopp <socketcan@hartkopp.net>;
> linux-can@vger.kernel.org
> Cc: kernel@pengutronix.de; Stéphane Grosjean
> <s.grosjean@peak-system.com>
> Subject: Re: [net-rfc 04/16] can: dev: can_get_len(): add a helper function to
> get the correct length of Classical frames
>
> On 10/21/20 9:11 AM, Joakim Zhang wrote:
> > I wonder if it's appropriate to ask this question here, why this
> > RAW_DLC issue might run into some buffer overflow issue? Will it cause
> > frames dropped finally?
>
> On the wire the dlc for CAN-2.0 frames ca go from 0...15. In the RX-path the
> DLC for CAN-2.0 frames is capped to 8.
>
> So userspace only ever sees a max dlc of 8. This way you can loop over the
> struct can_frame::data. If we pass the dlc of the wire uncapped, you may loop
> until 15 :)
>
> In the TX-path we currently drop CAN-2.0 frames with dlc >8.
Thanks Marc, now I understand the meaning of "run into some buffer overflow". 😊
Best Regards,
Joakim Zhang
> regards,
> Marc
>
> --
> Pengutronix e.K. | Marc Kleine-Budde |
> Embedded Linux | https://www.pengutronix.de |
> Vertretung West/Dortmund | Phone: +49-231-2826-924 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2020-10-21 7:49 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-19 19:05 [RFC]: can 2020-10-19 Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 01/16] can: proc: can_remove_proc(): silence remove_proc_entry warning Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 02/16] can: rx-offload: don't call kfree_skb() from IRQ context Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 03/16] can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard " Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 04/16] can: dev: can_get_len(): add a helper function to get the correct length of Classical frames Marc Kleine-Budde
2020-10-19 20:35 ` Oliver Hartkopp
2020-10-20 6:35 ` Marc Kleine-Budde
2020-10-20 11:30 ` Vincent Mailhol
2020-10-20 11:48 ` Marc Kleine-Budde
2020-10-20 12:38 ` Oliver Hartkopp
2020-10-20 15:02 ` Marc Kleine-Budde
2020-10-20 16:07 ` Vincent Mailhol
2020-10-20 17:04 ` Oliver Hartkopp
2020-10-20 18:50 ` Marc Kleine-Budde
2020-10-21 0:52 ` Vincent Mailhol
2020-10-21 6:23 ` Vincent MAILHOL
2020-10-21 7:11 ` Joakim Zhang
2020-10-21 7:21 ` Marc Kleine-Budde
2020-10-21 7:48 ` Joakim Zhang [this message]
2020-10-21 9:21 ` Oliver Hartkopp
2020-10-21 9:48 ` Oliver Hartkopp
2020-10-21 11:55 ` Vincent MAILHOL
2020-10-21 17:52 ` Oliver Hartkopp
2020-10-22 3:30 ` Vincent MAILHOL
2020-10-22 7:15 ` Oliver Hartkopp
2020-10-22 12:23 ` Vincent MAILHOL
2020-10-22 13:28 ` Oliver Hartkopp
2020-10-22 15:46 ` Vincent MAILHOL
2020-10-22 17:06 ` Oliver Hartkopp
2020-10-23 10:36 ` Vincent MAILHOL
2020-10-23 16:47 ` Oliver Hartkopp
2020-10-24 5:25 ` Vincent MAILHOL
2020-10-24 11:31 ` Oliver Hartkopp
2020-10-19 19:05 ` [net-rfc 05/16] can: dev: __can_get_echo_skb(): fix the returned length of CAN frame Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 06/16] can: can_create_echo_skb(): fix echo skb generation: always use skb_clone() Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 07/16] can: j1939: j1939_sk_bind(): return failure if netdev is down Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 08/16] can: isotp: Explain PDU in CAN_ISOTP help text Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 09/16] can: isotp: enable RX timeout handling in listen-only mode Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 10/16] can: ti_hecc: add missed clk_disable_unprepare() in error path Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 11/16] can: xilinx_can: handle failure cases of pm_runtime_get_sync Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 12/16] can: peak_usb: fix timestamp wrapping Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 13/16] can: peak_canfd: fix echo management when loopback is on Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 14/16] can: mcp251xfd: mcp251xfd_regmap_crc_read(): increase severity of CRC read error messages Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 15/16] can: mcp251xfd: mcp251xfd_regmap_nocrc_read(): fix semicolon.cocci warnings Marc Kleine-Budde
2020-10-19 19:05 ` [net-rfc 16/16] can: mcp251xfd: remove unneeded break Marc Kleine-Budde
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DB8PR04MB67958C71CF633A3F0FB2B6D4E61C0@DB8PR04MB6795.eurprd04.prod.outlook.com \
--to=qiangqing.zhang@nxp.com \
--cc=kernel@pengutronix.de \
--cc=linux-can@vger.kernel.org \
--cc=mailhol.vincent@wanadoo.fr \
--cc=mkl@pengutronix.de \
--cc=s.grosjean@peak-system.com \
--cc=socketcan@hartkopp.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).