udhcpc: change BPF filter to not use 0xffffffff as a max packet size,
authorDenis Vlasenko <vda.linux@googlemail.com>
Fri, 20 Jun 2008 12:17:59 +0000 (12:17 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Fri, 20 Jun 2008 12:17:59 +0000 (12:17 -0000)
there are kernels which don't like big (negative when viewed as signed)
sizes.

networking/udhcp/clientsocket.c

index 1142001921f6c8dc9eb466f3e3e55af222f032e6..0e13824b6535943c4ee2fe50dfc709b0214440bb 100644 (file)
@@ -76,7 +76,7 @@ int raw_socket(int ifindex)
                BPF_STMT(BPF_LD|BPF_W|BPF_IND, 0),
                BPF_JUMP(BPF_JMP|BPF_JEQ|BPF_K, SERVER_AND_CLIENT_PORTS, 0, 1), /* L3, L4 */
                /* returns */
-               BPF_STMT(BPF_RET|BPF_K, (~(uint32_t)0) ),               /* L3: pass */
+               BPF_STMT(BPF_RET|BPF_K, 0x0fffffff ),                   /* L3: pass */
                BPF_STMT(BPF_RET|BPF_K, 0),                             /* L4: reject */
        };
        static const struct sock_fprog filter_prog = {