igc: Add checking for basetime less than zero
authorMuhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
Fri, 9 Dec 2022 04:15:19 +0000 (12:15 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:14:38 +0000 (13:14 +0100)
[ Upstream commit 3b61764fb49a6e147ac90d71dccdddc9d5508ba1 ]

Using the tc qdisc command, the user can set basetime to any value.
Checking should be done on the driver's side to prevent registering
basetime values that are less than zero.

Fixes: ec50a9d437f0 ("igc: Add support for taprio offloading")
Signed-off-by: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/igc/igc_main.c

index af55e2f..26dd710 100644 (file)
@@ -5984,6 +5984,9 @@ static int igc_save_qbv_schedule(struct igc_adapter *adapter,
        if (!qopt->enable)
                return igc_tsn_clear_schedule(adapter);
 
+       if (qopt->base_time < 0)
+               return -ERANGE;
+
        if (adapter->base_time)
                return -EALREADY;