projects/linux·commit f49b2d89

Merge tag 'lsm-pr-20221107' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm

f49b2d89 · Linus Torvalds <[email protected]> · 2022-11-08 12:22:02 -08:00

Pull lsm fix from Paul Moore:
 "A small capability patch to fix an instance of undefined behavior in a
  shift operator caused when shifting a signed value too far.

  While the fix is trivial and I can't imagine it causing a problem in a
  backport, I'm not explicitly marking it for stable on the off chance
  that there is some system out there which is relying on some wonky
  unexpected behavior which this patch could break; *if* it does break,
  IMO it's better that to happen in a minor or -rcX release and not in a
  stable backport"

* tag 'lsm-pr-20221107' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
  capabilities: fix undefined behavior in bit shift for CAP_TO_MASK
Commit
f49b2d89fb10ef5fa5fa1993f648ec5daa884bef
Parents
59f2f4b8 · 46653972

Merge commit. Changes below are compared with the first parent: 59f2f4b8.

Changes

1 files changed · +1 −1

FileStatusAddDelContent
include/uapi/linux/capability.hmodified+1−1View file

include/uapi/linux/capability.h

View file
diff --git a/include/uapi/linux/capability.h b/include/uapi/linux/capability.h
index 463d1ba..3d61a0a 100644
--- a/include/uapi/linux/capability.h
+++ b/include/uapi/linux/capability.h
@@ -426,7 +426,7 @@ struct vfs_ns_cap_data {
*/
#define CAP_TO_INDEX(x) ((x) >> 5) /* 1 << 5 == bits in __u32 */
-#define CAP_TO_MASK(x) (1 << ((x) & 31)) /* mask for indexed __u32 */
+#define CAP_TO_MASK(x) (1U << ((x) & 31)) /* mask for indexed __u32 */
#endif /* _UAPI_LINUX_CAPABILITY_H */