lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 01 May 2009 15:51:55 -0700 (PDT)
From:	David Miller <>
Subject: Re: [RFC PATCH] qos: Limit a filter's priority to a 16 bit value

From: Robert Love <>
Date: Fri, 01 May 2009 11:42:42 -0700

> Currently the kernel is storing the priority value for
> a filter as a 32 bit value. However, the netlink messages
> between the kernel and userspace are passing only 16 bits
> for the priority. This means that the kernel will always
> try to compare the passed down filter's priority using the
> correct upper 16 bits, but all 0s for the lower 16 bits.
> Most comparisons will fail when checking against the filter
> chain unless the actual filter has a priority with all 0s
> for the last 16 bits.
> The fallout is that users cannot modify or delete most
> filters that are added.


I'm looking at the code and I don't see this failure case.
Can you describe the problem with specific examples?

All of the code I see either 1) uses u32's to store the
priorities and just compares them (cls_u32.c) or 2)
always uses TC_H_MAJ() of the user's provided value
and uses that to compare with tp->prio values.

Both of which should always just work.

We're just wasting the low 16-bits, but that shouldn't
cause problems like the one you're describing as long
as everyone extracts and compares the top bits properly
which as far as I can tell is the case.
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to
More majordomo info at

Powered by blists - more mailing lists