On Thursday 2016-09-22 18:43, Vishwanath Pai wrote:
>+struct hashlimit_cfg2 {
>+      __u32 mode;       /* bitmask of XT_HASHLIMIT_HASH_* */
>+      __u64 avg;    /* Average secs between packets * scale */
>+      __u64 burst;  /* Period multiplier for upper limit. */

This would have different sizes between i386 and x86_64,
necessiting additional compat functions. It should be padded
or reordered instead.

>+
>+      /* user specified */
>+      __u32 size;             /* how many buckets */
>+      __u32 max;              /* max number of entries */
>+      __u32 gc_interval;      /* gc interval */
>+      __u32 expire;   /* when do entries expire? */
>+
>+      __u8 srcmask, dstmask;
>+};
>+
>+struct xt_hashlimit_mtinfo2 {
>+      char name[NAME_MAX];
>+      struct hashlimit_cfg2 cfg;
>+
>+      /* Used internally by the kernel */
>+      struct xt_hashlimit_htable *hinfo __attribute__((aligned(8)));
>+};

Reply via email to