Just like a rancher dehorning their cattle to prevent them from hurting each other or their owner Canada does not allow people to carry knives for the purpose of self defense:
There are no limits on length. BUT, and this is a big but, the knife you carry must only be used as a tool (a.k.a. utility knife, hunting knife WHEN HUNTING, etc.). As stated above it do not conceal or have the intent to cause harm; this includes self defense!
This law is about intent. This means if you’re caught with a knife that’s concealed on your person while in a location you don’t require a knife to be used as a tool, you may be in for a bad time.
Example, walking through a dark alley at night with a utility knife in your pocket for protection sounds like a good idea. However if an officer of the law stops you and finds it, they can easily conclude there is no other reason for you to have it except for the intent to cause harm to another person.
Furthermore, this also means you can be charged with assault with a weapon even when defending yourself. Why, because the intent to use it for such an occasion is there before you even stepped out from your house.
Having “solved” all the “gun violence” in their country this must be what they consider as “common sense” prevention of “knife violence”.