I find this discussion intriguing and I wanted to add another viewpoint to the mix:
The system under consideration ( $y[n]=p⋅y[n−1] + x[n]$ ) can be thought of as a mapping from one (infinite dimensional) vector space to another. Let's call this this mapping $M$, and we can (initially) define it as:
$$ M : \mathbb{R}^\mathbb{Z} \rightarrow \mathbb{R}^\mathbb{Z} $$
This terminology says that $M$ is a mapping from $\mathbb{R}^\mathbb{Z}$ (the space of all real-valued functions of an integer variable) to $\mathbb{R}^\mathbb{Z}$.
If system has any zeros (and the system under consideration here has a zero at $z=1$), this means that our mapping $M$ is not one-to-one, because two different input signals will lead to the same output signal. For example, for any input signal, $x[n]$, we can say that $M(x)=M(x+\lambda)$ for any real $\lambda$.
The set of functions that are "zeros" of our system can be defined as:
$$K_{zeros}=\{f[n]=\lambda:\forall \lambda \in \mathbb{R}\}$$
Likewise, we note that if our system has any poles (and the system under consideration here has a zero at $z=-1$), then this means that the inverse mapping, $M^{-1}$ is not one-to-one. Specifically, $M^{-1}(x)=M^{-1}(x+\lambda(-1)^n)$ for any real $\lambda$.
The set of functions that are "poles" of our system can be defined as:
$$K_{poles}=\{f[n]=\lambda(-1)^n:\forall \lambda \in \mathbb{R}\}$$
Now, $\mathbb{R}^\mathbb{Z}$ is a vector space, $K_{zeros}$ is a vector space, and $K_{poles}$ is a vector space.
We can now define two quotient spaces (see Wikipedia for more information about quotient spaces):
$$ Q_{input} = \mathbb{R}^\mathbb{Z} / K_{zeros} $$
$$ Q_{output} = \mathbb{R}^\mathbb{Z} / K_{poles} $$
You can think of $Q_{output}$ as being the subset of $\mathbb{R}^\mathbb{Z}$ that does not contain any signal components of the form $\lambda(-1)^n$, or alternatively, you can think of $Q_{output}$ as being identical to $\mathbb{R}^\mathbb{Z}$ with equivalence classes that tell us "for our current application, we will consider any function $y[n]$ to be eqivalent to $y[n]+\lambda(-1)^n$ for any real $\lambda$"
By doing this, we can now redefine a new mapping $M'$ as a mapping from $Q_{input}$ to $Q_{output}$. This new mapping is really just the same as our old mapping, $M$, except we've reduced the vector-spaces on which it operates. Furthermore, this new mapping is now a bijection (it's "one-to-one" and "onto"), so it is guaranteed to also be invertible.
Finally, this mapping, $M'$ is linear.
So, the point of this whole rambling explanation is that, by defining the appropriate equivalence classes (or alternatively, by restricting our space of allowable functions to a sub-space of $\mathbb{R}^\mathbb{Z}$), we can maintain the property that our mapping should be linear (and time-invariant).
For example, the rules of linearity tell us that, if $x[n]$ is an input signal and $\alpha$ is any real scalar, then $M(\alpha x) = \alpha M(x)$. Hence, this implies that, by setting $\alpha=0$, we should therefore expect that $M(0\times x)=y[n]=0$ (i.e. if we input the zero-signal to our filter, the output should be $y[n]=0$).
However, we know that it's possible for have a situation where the input to the filter is zero, but the output is of the form $y'[n]=(-1)^n$, so we might be tempted to say "that proves our system is not linear, because $y'[n]$ is not zero". However, you will recall that the equivalence class we have enforced on the output vector space says that "for our current application, we will consider any function $y[n]$ to be eqivalent to $y[n]+\lambda(-1)^n$ for any real $\lambda$", which means that $y'[n]=(-1)^n$ is equivalent to zero!