po 11. 7. 2022 v 17:34 odesílatel Alexander Duyck <alexander.duyck@xxxxxxxxx> napsal: > > Rather than forcing us to free the page it might be better to move the > lines getting the size and computing the offset to the top of the "if > (unlikely(offset < 0)) {" block. Then instead of freeing the page we > could just return NULL and don't have to change the value of any > fields in the page_frag_cache. > > That way a driver performing bad requests can't force us to start > allocating and freeing pages like mad by repeatedly flushing the > cache. > I understand. On the other hand, if we free the cache page then the next time __page_frag_cache_refill() runs it may be successful at allocating the order=3 cache, the normal page_frag_alloc() behaviour will therefore be restored. Maurizio