The authors propose a distributed spectrum access algorithm for cognitive radio relay networks with multiple Primary Users (PU) and multiple Secondary Users (SU). The key idea behind the proposed algorithm is that the PUs negotiate with the SUs on the amount of time the SUs are either allowed spectrum access, or cooperatively relaying the PU's data, such that both the PUs' and the SUs' minimum sum-rate requirement are satisfied. They prove that the proposed algorithm will result in a stable matching and is weak Pareto optimal. Numerical analysis also reveal that the distributed algorithm can achieve a performance comparable to an optimal centralized solution, but with significantly less overhead and complexity.