I, Frankenstein

In 1795, Dr. Victor Frankenstein (Aden Young) creates a monster (Aaron Eckhart), a soulless creature patched together from corpses, and then rejects it, disgusted with what he's made. In a fit of rage, the creature kills Victor's wife Elizabeth (Virginie Le Brun) and Victor chases it to the Arctic to get revenge, but succumbs to the weather. The creature buries his creator in the Frankenstein family crypt and is then attacked by demons before being rescued by the gargoyles Ophir (Mahesh Jadu) and Keziah (Caitlin Stasey), who bring it before the gargoyle queen Leonore (Miranda Otto) and their commander Gideon (Jai Courtney). Leonore explains that they were created by the Archangel Michael to battle demons on Earth and protect humanity. They name the creature "Adam" and invite him to join them, but he declines and departs after being given heavy, baton-like weapons to protect him, as more demons will come after him. The weapons allow him to "descend" demons (destroying their bodies and trapping their souls in Hell) as they have the symbol of the Gargoyle Order carved on them.
Throughout the centuries, Adam fends off the demons that pursue him. During a modern-day confrontation at a nightclub, a human police officer is killed. While Adam is summoned by the gargoyles once more, the demon Helek (Steve Mouzakis) reports that Adam is alive to his leader, the demon-prince Naberius (Bill Nighy), who is disguised as billionaire businessman Charles Wessex, and his right-hand man, Dekar (Kevin Grevioux). Wessex has employed scientists Terra Wade (Yvonne Strahovski) and Carl Avery (Nicholas Bell) to conduct experiments with reanimated corpses, and sends a group of demons led by his most formidable warrior, Zuriel (Socratis Otto), to attack the gargoyles' cathedral and capture Adam so he can unlock the secret to giving life.
Before Leonore can punish Adam for the police officer's death, the cathedral is attacked and Adam convinces Ophir to release him. In the ensuing battle, a number of gargoyles, including Ophir and Keziah, are "ascended" (returned to and trapped in Heaven) while Leonore is captured and brought to an abandoned theater. Gideon is instructed to bring Adam as a trade for Leonore; Adam interrogates a demon and gains the same information. Adam having escaped, Gideon descends into the vaults and takes Victor Frankenstein's journal, which was taken off of Adam's body the night they found him. He exchanges the journal for Leonore, as it contains the secrets of the experiment. Once Gideon departs with Lenore, Adam attempts to recover the journal, but is prevented as several demons attack. Descending them, Adam then follows Zuriel to the Wessex Institute, where he learns that Naberius plans to recreate Frankenstein's experiment and use thousands of reanimated corpses as hosts for souls of the descended demons. The demons will be able to return from Hell if they have soulless bodies to possess. Adam retrieves the journal and escapes and later confronts Terra before they are attacked by Zuriel. Adam manages to "descend" Zuriel.
Adam warns the remaining gargoyles of Naberius' plan, agreeing to give them the journal if they get him and Terra to safety. Leonore agrees, but sends Gideon to kill him and retrieve the journal. After a violent fight, Adam is forced to "ascend" Gideon and then decides to burn Frankenstein's journal and destroy its secrets before the gargoyles come after him. Adam evades them, leading them to the Wessex Institute where they join battle with Naberius' demons, descending Dekar early in the fight. While the battle progresses, Adam ventures into the Institute to rescue Terra, who had been kidnapped by Naberius to put the next stage of his plan into process after he killed Avery. Naberius takes his true demonic form and activates the machine. Naberius overpowers Adam and tries to have one of the demon spirits possess him, but Adam proves immune as he has grown his own soul. As the gargoyles attempt to stop the reanimated bodies, Adam carves the symbol of the Gargoyle Order on Naberius, sanctifying his very body and utterly destroying it, descending Naberius alongside all the other demons in his army, and causing the entire building to collapse.
Recognizing Adam's bravery, Leonore rescues him and Terra and forgives Adam for Gideon's death. Adam retrieves his weapons. After bidding farewell to Terra, Adam departs to begin an immortal quest to protect the humans of the world and hunt demons for selfless reasons, the attitude that had earned him his soul in the first place. In so doing, he embraces his role and his true name of "Frankenstein".

Question: Why is Adam immune to possession?
Answer: He has grown his own soul.