EIP-165 aims to provide a way for a contract to communicate whether it has implemented a certain interface or not. The standard defines the interface identifier as the XOR of all function selectors in the interface.
0xffffffff value is marked as an invariably invalid identifier. What is wrong with this number? Can't four leftmost bytes of Keccak-256 hash of the function signature (function selector is described in this way) have such a value?