Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Catalin Marinas:
"An arm64/mpam fix to use non-atomic bitops on struct mmap_props member
(atomicity not required).

For kunit testing, the structure is packed to avoid memcmp() errors
but this affects atomic bitops as they have strict alignment
requirements.

Also remove a duplicate include in the mpam driver"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
arm_mpam: Use non-atomic bitops when modifying feature bitmap
arm_mpam: Remove duplicate linux/srcu.h header

+6 -3
+6 -3
drivers/resctrl/mpam_internal.h
··· 12 12 #include <linux/jump_label.h> 13 13 #include <linux/llist.h> 14 14 #include <linux/mutex.h> 15 - #include <linux/srcu.h> 16 15 #include <linux/spinlock.h> 17 16 #include <linux/srcu.h> 18 17 #include <linux/types.h> ··· 200 201 } PACKED_FOR_KUNIT; 201 202 202 203 #define mpam_has_feature(_feat, x) test_bit(_feat, (x)->features) 203 - #define mpam_set_feature(_feat, x) set_bit(_feat, (x)->features) 204 - #define mpam_clear_feature(_feat, x) clear_bit(_feat, (x)->features) 204 + /* 205 + * The non-atomic get/set operations are used because if struct mpam_props is 206 + * packed, the alignment requirements for atomics aren't met. 207 + */ 208 + #define mpam_set_feature(_feat, x) __set_bit(_feat, (x)->features) 209 + #define mpam_clear_feature(_feat, x) __clear_bit(_feat, (x)->features) 205 210 206 211 /* The values for MSMON_CFG_MBWU_FLT.RWBW */ 207 212 enum mon_filter_options {