Description of problem:
On parsing malformed X.25 facilities, decrementing the remaining length
may cause it to underflow. Since the length is an unsigned integer,
this will result in the loop continuing until the kernel crashes.
This patch adds checks to ensure decrementing the remaining length does
not cause it to wrap around.
Red Hat would like to thank Dan Rosenberg for reporting this issue.
This issue did not affect the versions of Linux kernel as shipped with Red Hat
Enterprise Linux 4, 5, 6 and Red Hat Enterprise MRG as they did not include
support for CCITT X.25 Packet Layer.