All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Kleine-Budde <mkl@pengutronix.de>
To: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Cc: linux-can@vger.kernel.org, linux-kernel@vger.kernel.org,
	Max Staudt <max@enpas.org>,
	Oliver Hartkopp <socketcan@hartkopp.net>,
	netdev@vger.kernel.org, Geert Uytterhoeven <geert@linux-m68k.org>,
	Jakub Kicinski <kuba@kernel.org>
Subject: Re: [PATCH v6 0/7] can: refactoring of can-dev module and of Kbuild
Date: Sat, 11 Jun 2022 17:17:54 +0200	[thread overview]
Message-ID: <20220611151754.2agcczimjcgr25xl@pengutronix.de> (raw)
In-Reply-To: <20220610143009.323579-1-mailhol.vincent@wanadoo.fr>

[-- Attachment #1: Type: text/plain, Size: 4611 bytes --]

On 10.06.2022 23:30:02, Vincent Mailhol wrote:
> Aside of calc_bittiming.o which can be configured with
> CAN_CALC_BITTIMING, all objects from drivers/net/can/dev/ get linked
> unconditionally to can-dev.o even if not needed by the user.
> 
> This series first goal it to split the can-dev modules so that the
> only the needed features get built in during compilation.
> Additionally, the CAN Device Drivers menu is moved from the
> "Networking support" category to the "Device Drivers" category (where
> all drivers are supposed to be).
> 
> 
> * menu before this series *
> 
> CAN bus subsystem support
>   symbol: CONFIG_CAN
>   |
>   +-> CAN Device Drivers
>       (no symbol)
>       |
>       +-> software/virtual CAN device drivers
>       |   (at time of writing: slcan, vcan, vxcan)
>       |
>       +-> Platform CAN drivers with Netlink support
>           symbol: CONFIG_CAN_DEV
>           |
>           +-> CAN bit-timing calculation  (optional for hardware drivers)
>           |   symbol: CONFIG_CAN_CALC_BITTIMING
>           |
>           +-> All other CAN devices drivers
> 
> * menu after this series *
> 
> Network device support
>   symbol: CONFIG_NETDEVICES
>   |
>   +-> CAN Device Drivers
>       symbol: CONFIG_CAN_DEV
>       |
>       +-> software/virtual CAN device drivers
>       |   (at time of writing: slcan, vcan, vxcan)
>       |
>       +-> CAN device drivers with Netlink support
>           symbol: CONFIG_CAN_NETLINK (matches previous CONFIG_CAN_DEV)
>           |
>           +-> CAN bit-timing calculation (optional for all drivers)
>           |   symbol: CONFIG_CAN_CALC_BITTIMING
>           |
>           +-> All other CAN devices drivers
>               (some may select CONFIG_CAN_RX_OFFLOAD)
>               |
>               +-> CAN rx offload (automatically selected by some drivers)
>                   (hidden symbol: CONFIG_CAN_RX_OFFLOAD)
> 
> Patches 1 to 5 of this series do above modification.
> 
> The last two patches add a check toward CAN_CTRLMODE_LISTENONLY in
> can_dropped_invalid_skb() to discard tx skb (such skb can potentially
> reach the driver if injected via the packet socket). In more details,
> patch 6 moves can_dropped_invalid_skb() from skb.h to skb.o and patch
> 7 is the actual change.
> 
> Those last two patches are actually connected to the first five ones:
> because slcan and v(x)can requires can_dropped_invalid_skb(), it was
> necessary to add those three devices to the scope of can-dev before
> moving the function to skb.o.
> 
> This design results from the lengthy discussion in [1].
> 
> [1] https://lore.kernel.org/linux-can/20220514141650.1109542-1-mailhol.vincent@wanadoo.fr/
> 
> 
> ** Changelog **
> 
> v5 -> v6:
> 
>   * fix typo in patch #1's title: Kbuild -> Kconfig.
> 
>   * make CONFIG_RX_CAN an hidden config symbol and modify the diagram
>     in the cover letter accordingly.
> 
>     @Oliver, with CONFIG_CAN_RX_OFFLOAD now being an hidden config,
>     that option fully depends on the drivers. So contrary to your
>     suggestion, I put CONFIG_CAN_RX_OFFLOAD below the device drivers
>     in the diagram.
> 
>   * fix typo in cover letter: CONFIG_CAN_BITTIMING -> CONFIG_CAN_CALC_BITTIMING.
> 
> v4 -> v5:
> 
>   * m_can is also requires RX offload. Add the "select CAN_RX_OFFLOAD"
>     to its Makefile.
> 
>   * Reorder the lines of drivers/net/can/dev/Makefile.
> 
>   * Remove duplicated rx-offload.o target in drivers/net/can/dev/Makefile
> 
>   * Remove the Nota Bene in the cover letter.
> 
> 
> v3 -> v4:
> 
>   * Five additional patches added to split can-dev module and refactor
>     Kbuild. c.f. below (lengthy) thread:
>     https://lore.kernel.org/linux-can/20220514141650.1109542-1-mailhol.vincent@wanadoo.fr/
> 
> 
> v2 -> v3:
> 
>   * Apply can_dropped_invalid_skb() to slcan.
> 
>   * Make vcan, vxcan and slcan dependent of CONFIG_CAN_DEV by
>     modifying Kbuild.
> 
>   * fix small typos.
> 
> v1 -> v2:
> 
>   * move can_dropped_invalid_skb() to skb.c instead of dev.h
> 
>   * also move can_skb_headroom_valid() to skb.c

Applied to can-next/master....as a merge with the above message!
Congrats on this series and the first ever merge to the linux-can
branch!

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 |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

      parent reply	other threads:[~2022-06-11 15:18 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 14:23 [PATCH 0/2] can: drop tx skb if the device is in listen only mode Vincent Mailhol
2022-05-13 14:23 ` [PATCH 1/2] can: move can_dropped_invalid_skb from skb.h to dev.h Vincent Mailhol
2022-05-13 14:23 ` [PATCH 2/2] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-05-13 14:42 ` [PATCH 0/2] can: drop tx skb if the device is " Marc Kleine-Budde
2022-05-13 15:20   ` Vincent MAILHOL
2022-05-13 15:36 ` [PATCH v2 " Vincent Mailhol
2022-05-13 15:36   ` [PATCH v2 1/2] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Vincent Mailhol
2022-05-14  4:20     ` kernel test robot
2022-05-14  5:16       ` Vincent MAILHOL
2022-05-14  5:16         ` Vincent MAILHOL
2022-05-14 11:17         ` Max Staudt
2022-05-14 11:17           ` Max Staudt
2022-05-13 15:36   ` [PATCH v2 2/2] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-05-13 17:40   ` [PATCH v2 0/2] can: drop tx skb if the device is " Max Staudt
2022-05-14  3:00     ` Vincent MAILHOL
2022-05-14 14:16 ` [PATCH v3 0/4] can: can_dropped_invalid_skb() and Kbuild changes Vincent Mailhol
2022-05-14 14:16   ` [PATCH v3 1/4] can: slcan: use can_dropped_invalid_skb() instead of manual check Vincent Mailhol
2022-05-16 20:40     ` Marc Kleine-Budde
2022-05-14 14:16   ` [PATCH v3 2/4] can: Kconfig: change CAN_DEV into a menuconfig Vincent Mailhol
2022-05-14 14:16   ` [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Vincent Mailhol
2022-05-15 19:17     ` Oliver Hartkopp
2022-05-17  1:50       ` Vincent MAILHOL
2022-05-17  4:12         ` Max Staudt
2022-05-17  6:08         ` Marc Kleine-Budde
2022-05-17  7:04           ` Vincent MAILHOL
2022-05-17 10:45             ` Marc Kleine-Budde
2022-05-17 11:51               ` Oliver Hartkopp
2022-05-17 12:14                 ` Max Staudt
2022-05-17 12:21                   ` Marc Kleine-Budde
2022-05-17 12:39                     ` Max Staudt
2022-05-17 13:35                       ` Oliver Hartkopp
2022-05-17 13:43                         ` Max Staudt
2022-05-17 14:23                           ` Marc Kleine-Budde
2022-05-17 14:35                           ` Oliver Hartkopp
2022-05-17 15:38                             ` Max Staudt
2022-05-17 15:50                               ` Oliver Hartkopp
2022-05-17 17:52                                 ` Max Staudt
2022-05-18 12:03                         ` Vincent MAILHOL
2022-05-18 12:12                           ` Device Drivers: (was: Re: [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c) Marc Kleine-Budde
2022-05-18 12:45                             ` Oliver Hartkopp
2022-05-18 13:10                           ` [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Oliver Hartkopp
2022-05-18 13:28                             ` Marc Kleine-Budde
2022-05-18 14:07                               ` Vincent MAILHOL
2022-05-18 14:33                                 ` Oliver Hartkopp
2022-05-18 14:36                                   ` Marc Kleine-Budde
2022-05-18 14:38                                     ` Oliver Hartkopp
2022-05-18 14:55                                       ` Oliver Hartkopp
2022-05-18 15:38                                         ` Vincent MAILHOL
2022-05-18 15:48                                           ` Max Staudt
2022-05-18 16:01                                             ` Vincent MAILHOL
2022-05-14 14:16   ` [PATCH v3 4/4] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-06-03 10:28 ` [PATCH v4 0/7] can: refactoring of can-dev module and of Kbuild Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 1/7] can: Kbuild: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-04 11:27     ` Marc Kleine-Budde
2022-06-04 12:30       ` Vincent MAILHOL
2022-06-04 12:43         ` Marc Kleine-Budde
2022-06-04 13:46     ` Marc Kleine-Budde
2022-06-03 10:28   ` [PATCH v4 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-04 11:25     ` Marc Kleine-Budde
2022-06-04 12:21       ` Vincent MAILHOL
2022-06-04 12:41         ` Marc Kleine-Budde
2022-06-04 12:56           ` Vincent MAILHOL
2022-06-04 13:51             ` Marc Kleine-Budde
2022-06-03 10:28   ` [PATCH v4 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-04 11:22     ` Marc Kleine-Budde
2022-06-04 12:14       ` Vincent MAILHOL
2022-06-03 10:28   ` [PATCH v4 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-04 11:46   ` [PATCH v4 0/7] can: refactoring of can-dev module and of Kbuild Marc Kleine-Budde
2022-06-04 13:05     ` Vincent MAILHOL
2022-06-04 13:55       ` Marc Kleine-Budde
2022-06-04 14:59         ` Vincent MAILHOL
2022-06-04 15:18           ` Marc Kleine-Budde
2022-06-04 16:32             ` Vincent MAILHOL
2022-06-05 10:39               ` Marc Kleine-Budde
2022-06-05 13:57                 ` Vincent MAILHOL
2022-06-05 18:08                   ` Marc Kleine-Budde
2022-06-04 16:29 ` [PATCH v5 " Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 1/7] can: Kbuild: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-07  8:43     ` Geert Uytterhoeven
2022-06-07  9:27       ` Vincent MAILHOL
2022-06-07 16:22         ` Max Staudt
2022-06-07 22:06           ` Jakub Kicinski
2022-06-07 23:40             ` Vincent MAILHOL
2022-06-08  0:07               ` Jakub Kicinski
2022-06-07 23:43             ` Max Staudt
2022-06-08  0:14               ` Jakub Kicinski
2022-06-08  0:22                 ` Max Staudt
2022-06-08  1:38                 ` Vincent MAILHOL
2022-06-04 16:29   ` [PATCH v5 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-04 16:30   ` [PATCH v5 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-05 17:23   ` [PATCH v5 0/7] can: refactoring of can-dev module and of Kbuild Max Staudt
2022-06-05 18:06     ` Marc Kleine-Budde
2022-06-05 20:46       ` Max Staudt
2022-06-06  0:24         ` Vincent MAILHOL
2022-06-06 19:24   ` Oliver Hartkopp
2022-06-07  2:49     ` Vincent MAILHOL
2022-06-07  7:13       ` Marc Kleine-Budde
2022-06-07  8:49         ` Vincent MAILHOL
2022-06-07 20:12       ` Oliver Hartkopp
2022-06-07 20:27         ` Marc Kleine-Budde
2022-06-07 20:51           ` Oliver Hartkopp
2022-06-07 23:59             ` Vincent MAILHOL
2022-06-08 20:10               ` Oliver Hartkopp
2022-06-10 14:30 ` [PATCH v6 " Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 1/7] can: Kconfig: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-10 21:38   ` [PATCH v6 0/7] can: refactoring of can-dev module and of Kbuild Oliver Hartkopp
2022-06-10 22:43   ` Max Staudt
2022-06-11 15:17   ` Marc Kleine-Budde [this message]

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=20220611151754.2agcczimjcgr25xl@pengutronix.de \
    --to=mkl@pengutronix.de \
    --cc=geert@linux-m68k.org \
    --cc=kuba@kernel.org \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mailhol.vincent@wanadoo.fr \
    --cc=max@enpas.org \
    --cc=netdev@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.