A good way to think about a buffer or an image descriptor is to imagine it as a very fat pointer. This is, in fact, not too far removed from reality, as we shall see.
Taking a peek at radv, we find the descriptor behind UNIFORM_BUFFER and
STORAGE_BUFFER to be a 4-word tuple, where the first two words make up the
address, followed by length in bytes for bounds checking and an extra word,
which holds format information and bounds checking behavior [^1].