Python, 44 39 65 40 bytes
m should be a binary string, while n an int.
Had to add 26 bytes all because mathcatOP didn't say that 0's had to be prefixed to the parity bits, but doesn't matter since Neil found a shorter solution.
lambda m,n:m+bin(m.count('1')+2**n)[-n:]