diff options
author | Mike Marciniszyn <mike.marciniszyn@intel.com> | 2012-07-23 18:38:15 +0200 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2012-07-30 05:26:10 +0200 |
commit | 5d7fe4efbf0878e0ef12c8f93e7a16c750494b7e (patch) | |
tree | 9445b1a2f734770a58db4dc1fef394c7a4f927c0 /drivers/infiniband | |
parent | Merge tag 'rdma-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/rol... (diff) | |
download | linux-5d7fe4efbf0878e0ef12c8f93e7a16c750494b7e.tar.xz linux-5d7fe4efbf0878e0ef12c8f93e7a16c750494b7e.zip |
IB/qib: Fix size of cc_supported_table_entries
Commit 36a8f01cd24b ("IB/qib: Add congestion control agent
implementation") tries to store the value 1984 in a u8, which leads to
truncation. Fix this by making the member big enough.
This bug was detected by a smatch warning.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Ramkrishna Vepa <ramkrishna.vepa@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/qib/qib.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/qib/qib.h b/drivers/infiniband/hw/qib/qib.h index 6e19ec844d99..7b1b86690024 100644 --- a/drivers/infiniband/hw/qib/qib.h +++ b/drivers/infiniband/hw/qib/qib.h @@ -656,6 +656,11 @@ struct qib_pportdata { /* 16 congestion entries with each entry corresponding to a SL */ struct ib_cc_congestion_entry_shadow *congestion_entries; + /* Maximum number of congestion control entries that the agent expects + * the manager to send. + */ + u16 cc_supported_table_entries; + /* Total number of congestion control table entries */ u16 total_cct_entry; @@ -667,11 +672,6 @@ struct qib_pportdata { /* CA's max number of 64 entry units in the congestion control table */ u8 cc_max_table_entries; - - /* Maximum number of congestion control entries that the agent expects - * the manager to send. - */ - u8 cc_supported_table_entries; }; /* Observers. Not to be taken lightly, possibly not to ship. */ |