Unfortunately, I can't find any freely available text with an estimation of exact upper bound of (external) fragmentation overhead for (binary) buddy memory allocator. Estimation $M(1+ \log 2 m)$ (where $M$ is total memory size need to allocate and $m$ is the longest allocated block) seems too pessimistic. I'm almost sure that for $m=2$ the bound is about $M*(3/2)$.
I guess the answer is contained in the article:
Errol L. Lloyd and Michael C. Loui On the worst case performance of buddy systems Acta Informatica Volume 22, Number 4, 451-473, DOI: 10.1007/BF00288778
but I wouldn't want to pay EUR 34.95 for my "general interest" :)
[this question is actually repost from stackoverflow.com https://stackoverflow.com/questions/6295558/worst-case-external-fragmentation-in-buddy-memory-systems where I got an answer about $M(1+\log 2 m)$ formula; but I still don't know the exact bound]