I'm not sure that this is a wise policy for Walmart or Kroger but they are well within their rights to set it. Someone who wants a gun in these stores can just put it in a pocket or purse.
Except, it’s not private property. I can ask someone to leave my property, because my property is not a place of public accomodation.
Malls and restaurants and similar are “private property” in only a very, very narrow sense. They are places of “public accomodation” and we’ve had this beaten into us for decades. That’s OK, but it does not give the owner the right to ban firearms. It just doesn’t. They want to think they can, but they can’t.
Personally I think open carry doesn’t make much sense but it should be legal as a matter of state or federal law per se. “Keep and Bear Arms”. What do people think that means?