A compromise — #21 of 31 Canvas ranks #21 of 31 fabrics for odour resistance. It is a middling fabric for this. Ranked with a wool-family bonus plus breathability and moisture management. The top pick is Merino.
Canvas measures 55/100 for breathability, 8% moisture regain, 50/100 warmth, at 380 gsm. Wool fibres lead here: Canvas is not a wool fibre, so it leans on breathability alone.