A feedback loop is when a texture is used as both source and destination for a rendering operation (draw call). I.e. if the texture is bound to a texture unit which is accessible by the fragment shader and also bound to the current framebuffer object.
It isn’t necessary for the fragment shader to actually sample the texture. The fact that it can sample the texture (a sampler uniform references the texture unit to which the texture is bound) is sufficient.
Alternatively, duplicate the resource so you’re not reading/writing the same render target, use multipass, or take full responsibility for write side effect synchronization using Image Load/Store or Compute Shaders. There may be other options depending on the specifics of your problem.