  We study the problem of \textit{safe control of linear dynamical systems
corrupted with non-stochastic noise}, and provide an algorithm that guarantees
(i) zero constraint violation of convex time-varying constraints, and (ii)
bounded dynamic regret, \ie bounded suboptimality against an optimal
clairvoyant controller that knows the future noise a priori. The constraints
bound the values of the state and of the control input such as to ensure
collision avoidance and bounded control effort. We are motivated by the future
of autonomy where robots will safely perform complex tasks despite real-world
unpredictable disturbances such as wind and wake disturbances. To develop the
algorithm, we capture our problem as a sequential game between a linear
feedback controller and an adversary, assuming a known upper bound on the
noise's magnitude. Particularly, at each step $t=1,\ldots, T$, first the
controller chooses a linear feedback control gain $K_t \in \calK_t$, where
$\calK_t$ is constructed such that it guarantees that the safety constraints
will be satisfied; then, the adversary reveals the current noise $w_t$ and the
controller suffers a loss $f_t(K_t)$ -- \eg $f_t$ represents the system's
tracking error at $t$ upon the realization of the noise. The controller aims to
minimize its cumulative loss, despite knowing $w_t$ only after $K_t$ has been
chosen. We validate our algorithm in simulated scenarios of safe control of
linear dynamical systems in the presence of bounded noise
