.. | .. |
---|
1966 | 1966 | } else { |
---|
1967 | 1967 | /* Driver expects to be called at twice the frequency in rc */ |
---|
1968 | 1968 | int n = rc * 2, interval = HZ / n; |
---|
1969 | | - u64 count = n * id.data, i = 0; |
---|
| 1969 | + u64 count = mul_u32_u32(n, id.data); |
---|
| 1970 | + u64 i = 0; |
---|
1970 | 1971 | |
---|
1971 | 1972 | do { |
---|
1972 | 1973 | rtnl_lock(); |
---|
.. | .. |
---|
2051 | 2052 | return n_stats; |
---|
2052 | 2053 | if (n_stats > S32_MAX / sizeof(u64)) |
---|
2053 | 2054 | return -ENOMEM; |
---|
2054 | | - WARN_ON_ONCE(!n_stats); |
---|
| 2055 | + if (WARN_ON_ONCE(!n_stats)) |
---|
| 2056 | + return -EOPNOTSUPP; |
---|
2055 | 2057 | |
---|
2056 | 2058 | if (copy_from_user(&stats, useraddr, sizeof(stats))) |
---|
2057 | 2059 | return -EFAULT; |
---|