}
                break;
        case BPF_JNE:
-               /* we don't derive any new information for inequality yet */
+               if (!is_reg_const(reg2, is_jmp32))
+                       swap(reg1, reg2);
+               if (!is_reg_const(reg2, is_jmp32))
+                       break;
+
+               /* try to recompute the bound of reg1 if reg2 is a const and
+                * is exactly the edge of reg1.
+                */
+               val = reg_const_value(reg2, is_jmp32);
+               if (is_jmp32) {
+                       /* u32_min_value is not equal to 0xffffffff at this point,
+                        * because otherwise u32_max_value is 0xffffffff as well,
+                        * in such a case both reg1 and reg2 would be constants,
+                        * jump would be predicted and reg_set_min_max() won't
+                        * be called.
+                        *
+                        * Same reasoning works for all {u,s}{min,max}{32,64} cases
+                        * below.
+                        */
+                       if (reg1->u32_min_value == (u32)val)
+                               reg1->u32_min_value++;
+                       if (reg1->u32_max_value == (u32)val)
+                               reg1->u32_max_value--;
+                       if (reg1->s32_min_value == (s32)val)
+                               reg1->s32_min_value++;
+                       if (reg1->s32_max_value == (s32)val)
+                               reg1->s32_max_value--;
+               } else {
+                       if (reg1->umin_value == (u64)val)
+                               reg1->umin_value++;
+                       if (reg1->umax_value == (u64)val)
+                               reg1->umax_value--;
+                       if (reg1->smin_value == (s64)val)
+                               reg1->smin_value++;
+                       if (reg1->smax_value == (s64)val)
+                               reg1->smax_value--;
+               }
                break;
        case BPF_JSET:
                if (!is_reg_const(reg2, is_jmp32))