Hi Dave,
On 2018/11/30 0:49, Dave Rodgman wrote: > On 28/11/2018 1:52 pm, David Sterba wrote: > >> The fix is adding a few branches to code that's supposed to be as fast >> as possible. The branches would be evaluated all the time while >> protecting against one signle bad page address. This does not look like >> a good performance tradeoff. > As an alternative, for all but the first case, instead of: > > if (unlikely(OVERFLOW_ADD_CHECK(ip, m_len) || (ip + m_len >= ip_end))) > > I'd suggest we do: > > if (unlikely((ip_end - ip) <= m_len)) > > which will be about as efficient as what's currently there, but doesn't > have issues with overflow. Ooh, yes, pretty good solution to this, thanks. > Dave Thanks, Yueyi