]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
mctp: serial: enforce fixed MTU
authorJeremy Kerr <jk@codeconstruct.com.au>
Thu, 25 Nov 2021 06:07:38 +0000 (14:07 +0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 26 Nov 2021 03:40:39 +0000 (19:40 -0800)
The current serial driver requires a maximum MTU of 68, and it doesn't
make sense to set a MTU below the MCTP-required baseline (of 68) either.

This change sets the min_mtu & max_mtu of the mctp netdev, essentially
disallowing changes. By using these instead of a ndo_change_mtu op, we
get the netlink extacks reported too.

Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/mctp/mctp-serial.c

index 85b407f4df112f9e64898f22d50bb788154511ac..b0e14a63b10d4038933993b4d8c9c651848732e6 100644 (file)
@@ -410,7 +410,14 @@ static const struct net_device_ops mctp_serial_netdev_ops = {
 static void mctp_serial_setup(struct net_device *ndev)
 {
        ndev->type = ARPHRD_MCTP;
+
+       /* we limit at the fixed MTU, which is also the MCTP-standard
+        * baseline MTU, so is also our minimum
+        */
        ndev->mtu = MCTP_SERIAL_MTU;
+       ndev->max_mtu = MCTP_SERIAL_MTU;
+       ndev->min_mtu = MCTP_SERIAL_MTU;
+
        ndev->hard_header_len = 0;
        ndev->addr_len = 0;
        ndev->tx_queue_len = DEFAULT_TX_QUEUE_LEN;