Adjust oven rack to lower-middle position and heat oven to 325 degrees. Grease and flour 12-cup nonstick Bundt pan. Sprinkle the chopped walnuts around the bottom; set aside.
Combine flour, cornstarch, baking powder, and salt in medium bowl.
In small bowl, whisk the eggs, milk, rum, 1/2 cup canola oil, and vanilla extract.
Using stand mixer fitted with paddle attachment, beat butter and sugar on medium-high speed until pale and fluffy, about 3 minutes. Add the flour mixture and the remaining 3 tablespoons of canola oil, and mix on medium-low speed until the mixture looks like wet sand, about 1 minute. Add the pudding mix and mix again on medium-low speed until combined. Add the egg mixture to the dry ingredients and beat on medium speed until thoroughly combined, about 2 to 3 minutes, scraping down the sides of the bowl as needed.
Pour the cake batter into the prepared Bundt pan and bake for 50 to 60 minutes, or until a toothpick inserted into the center of the cake comes out clean.
When the cake has about 10 minutes left to bake, start making the rum syrup. In a medium-sized saucepan over medium heat, melt the butter. Once it is melted, add the sugar, water, corn syrup and salt. Bring to a boil then reduce to a low simmer and cook for 5 minutes, stirring occasionally. Turn off the heat and stir in the rum. Once it is mixed in, return it to medium heat for about 30 seconds.
When the cake comes out of the oven, immediately pour one-third of the rum syrup over the bottom of the cake. Pour slowly so it has time to seep into the cake. Using a fork or a skewer, poke holes all over the bottom of the cake. Let it sit for 5 minutes.
Invert the cake onto a serving platter. Using a fork or a skewer, poke holes all over the cake (the top, sides, and around the inside). The holes ensure that the rum syrup seeps into the cake evenly. Very slowly pour the remaining rum syrup over the top of the cake, allowing it to drip down the sides. You want to do this step very slowly so that the syrup seeps into the cake and doesn't just pool on the bottom of the serving dish.
Allow the cake to cool to room temperature before serving. Leftovers can be kept, tightly wrapped, at room temperature for up to 5 days.