On 3/19/20 3:46 PM, Jarkko Sakkinen wrote: > On Wed, Mar 18, 2020 at 06:14:57PM -0400, Waiman Long wrote: >> + * It is possible, though unlikely, that the key >> + * changes in between the up_read->down_read period. >> + * If the key becomes longer, we will have to >> + * allocate a larger buffer and redo the key read >> + * again. >> + */ >> + if (!tmpbuf || unlikely(ret > tmpbuflen)) { > Shouldn't you check that tmpbuflen stays below buflen (why else > you had made copy of buflen otherwise)? The check above this thunk: if ((ret > 0) && (ret <= buflen)) { will make sure that ret will not be larger than buflen. So tmpbuflen will never be bigger than buflen. Cheers, Longman