The name comes from the British Camboglanna, "crooked bank", and though Geoffrey correctly places the battle at a river, no one can be certain of the actual location. If the entry in the Annales was copied from an earlier source (some have postulated from an earlier 6th century chronicle), then an earlier form of the word would have been copied as well. The fact that it appears as Camlann proves the later date of the entry but makes it too distant from the event to have any reliability. In addition, if the year is 539, that presents chronological problems with other sources on Arthur's timeframe that place him at the end of the 5th century.
There was a fort along Hadrian's Wall called Camboglanna but this doesn't necessarily match the tradition placing the conflict in Cornwall even if some kind of transference had taken place. Other candidates include two Camlans in Merioneth and Cam on the Somerset River near Cadbury.
While Camlann may have actually happened, it is impossible to place not only the location but a real Arthur in the battle. The Welsh material might still prove relevant if one supposes that Arthur is a composite character and the Arthur of Camlann in 539 was drawn into a story with earlier origins.