An array of destructors is madness, and the one call site that specifies this
passes an address of a single entry.
This also would never even have to occur if you put the destructor inside of
struct page instead.
Finally, except for the skb_shared_info() layout optimization in patch #1 which
I alreayd applied, this stuff is not baked enough for the 3.3 merge window.