>> +struct bnx2x_alloc_pool {
>> + struct page *page;
>> + dma_addr_t dma;
>> + u8 offset;
>> + u8 frag_count;
>> +};
>...
>> static int bnx2x_alloc_rx_sge(struct bnx2x *bp, struct bnx2x_fastpath *fp,
>> u16 index, gfp_t gfp_mask)
>> {
> ...
>> + pool->offset += SGE_PAGE_SIZE;
>> + pool->frag_count--;
>> +
>> return 0;
>> }
> One SGE_PAGE_SIZE is already bigger than representable by u8, so offset
> will overflow.
Thanks for the catch Michal.
Actually, this upsets me greatly. We didn't see it on a system with 4KB
pages, but this means you've actually tried to 'sell' us a fastpath fix that
was never tested on machines for which it was meant as an improvement.
Dave - if possible, please wait with accepting any further fixes for this
issue until we [qlogic] manage to prepare a test environment
where we can properly test this with 64KB page size architecture.
Thanks,
Yuval--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html