Skip to content

Commit 233ecf9

Browse files
committed
docker patch
1 parent 12e531e commit 233ecf9

4 files changed

Lines changed: 215 additions & 21 deletions

File tree

arch/arm64/configs/z2_plus_defconfig

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -687,3 +687,81 @@ CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
687687
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
688688
CONFIG_CRYPTO_CRC32_ARM64=y
689689
CONFIG_QMI_ENCDEC=y
690+
CONFIG_NAMESPACES=y
691+
CONFIG_NET_NS=y
692+
CONFIG_PID_NS=y
693+
CONFIG_IPC_NS=y
694+
CONFIG_UTS_NS=y
695+
CONFIG_CGROUPS=y
696+
CONFIG_CGROUP_CPUACCT=y
697+
CONFIG_CGROUP_DEVICE=y
698+
CONFIG_CGROUP_FREEZER=y
699+
CONFIG_CGROUP_SCHED=y
700+
CONFIG_CPUSETS=y
701+
CONFIG_MEMCG=y
702+
CONFIG_KEYS=y
703+
CONFIG_VETH=y
704+
CONFIG_BRIDGE=y
705+
CONFIG_BRIDGE_NETFILTER=y
706+
CONFIG_IP_NF_FILTER=y
707+
CONFIG_IP_NF_TARGET_MASQUERADE=y
708+
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
709+
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
710+
CONFIG_NETFILTER_XT_MATCH_IPVS=y
711+
CONFIG_NETFILTER_XT_MARK=y
712+
CONFIG_IP_NF_NAT=y
713+
CONFIG_NF_NAT=y
714+
CONFIG_POSIX_MQUEUE=y
715+
CONFIG_NF_NAT_IPV4=y
716+
CONFIG_NF_NAT_NEEDED=y
717+
CONFIG_CGROUP_BPF=y
718+
CONFIG_USER_NS=y
719+
CONFIG_SECCOMP=y
720+
CONFIG_SECCOMP_FILTER=y
721+
CONFIG_CGROUP_PIDS=y
722+
CONFIG_MEMCG_SWAP=y
723+
CONFIG_MEMCG_SWAP_ENABLED=y
724+
CONFIG_IOSCHED_CFQ=y
725+
CONFIG_CFQ_GROUP_IOSCHED=y
726+
CONFIG_BLK_CGROUP=y
727+
CONFIG_BLK_DEV_THROTTLING=y
728+
CONFIG_CGROUP_PERF=y
729+
CONFIG_CGROUP_HUGETLB=y
730+
CONFIG_NET_CLS_CGROUP=y
731+
CONFIG_CGROUP_NET_PRIO=y
732+
CONFIG_CFS_BANDWIDTH=y
733+
CONFIG_FAIR_GROUP_SCHED=y
734+
CONFIG_RT_GROUP_SCHED=y
735+
CONFIG_IP_NF_TARGET_REDIRECT=y
736+
CONFIG_IP_VS=y
737+
CONFIG_IP_VS_NFCT=y
738+
CONFIG_IP_VS_PROTO_TCP=y
739+
CONFIG_IP_VS_PROTO_UDP=y
740+
CONFIG_IP_VS_RR=y
741+
CONFIG_SECURITY_SELINUX=y
742+
CONFIG_SECURITY_APPARMOR=y
743+
CONFIG_EXT4_FS=y
744+
CONFIG_EXT4_FS_POSIX_ACL=y
745+
CONFIG_EXT4_FS_SECURITY=y
746+
CONFIG_VXLAN=y CONFIG_BRIDGE_VLAN_FILTERING=y
747+
CONFIG_CRYPTO=y CONFIG_CRYPTO_AEAD=y
748+
CONFIG_CRYPTO_GCM=y
749+
CONFIG_CRYPTO_SEQIV=y
750+
CONFIG_CRYPTO_GHASH=y CONFIG_XFRM=y
751+
CONFIG_XFRM_USER=y
752+
CONFIG_XFRM_ALGO=y
753+
CONFIG_INET_ESP=y
754+
CONFIG_INET_XFRM_MODE_TRANSPORT=y
755+
CONFIG_IPVLAN=y
756+
CONFIG_MACVLAN=y
757+
CONFIG_DUMMY=y
758+
CONFIG_NF_NAT_FTP=y
759+
CONFIG_NF_CONNTRACK_FTP=y
760+
CONFIG_NF_NAT_TFTP=y
761+
CONFIG_NF_CONNTRACK_TFTP=y
762+
CONFIG_AUFS_FS=y
763+
CONFIG_BTRFS_FS=y
764+
CONFIG_BTRFS_FS_POSIX_ACL=y
765+
CONFIG_BLK_DEV_DM=y
766+
CONFIG_DM_THIN_PROVISIONING=y
767+
CONFIG_OVERLAY_FS=y

include/trace/events/writeback.h

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,19 @@ static inline size_t __trace_wb_cgroup_size(struct bdi_writeback *wb)
141141

142142
static inline void __trace_wb_assign_cgroup(char *buf, struct bdi_writeback *wb)
143143
{
144-
struct cgroup *cgrp = wb->memcg_css->cgroup;
145-
char *path;
146-
147-
path = cgroup_path(cgrp, buf, kernfs_path_len(cgrp->kn) + 1);
148-
WARN_ON_ONCE(path != buf);
144+
struct cgroup *cgrp = wb->memcg_css->cgroup;
145+
int ret;
146+
147+
ret = cgroup_path(cgrp, buf, kernfs_path_len(cgrp->kn) + 1);
148+
if (ret < 0) {
149+
// 处理错误
150+
return;
151+
}
152+
153+
// 如果 cgroup_path 返回成功,则 ret 应该是 buf 的指针
154+
char *path = buf;
155+
156+
WARN_ON_ONCE(path != buf);
149157
}
150158

151159
static inline size_t __trace_wbc_cgroup_size(struct writeback_control *wbc)

kernel/cpuset.c

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1961,6 +1961,108 @@ static struct cftype files[] = {
19611961
.private = FILE_MEMORY_PRESSURE_ENABLED,
19621962
},
19631963

1964+
{
1965+
.name = "cpuset.cpus",
1966+
.seq_show = cpuset_common_seq_show,
1967+
.write = cpuset_write_resmask,
1968+
.max_write_len = (100U + 6 * NR_CPUS),
1969+
.private = FILE_CPULIST,
1970+
},
1971+
1972+
{
1973+
.name = "cpuset.mems",
1974+
.seq_show = cpuset_common_seq_show,
1975+
.write = cpuset_write_resmask,
1976+
.max_write_len = (100U + 6 * MAX_NUMNODES),
1977+
.private = FILE_MEMLIST,
1978+
},
1979+
1980+
{
1981+
.name = "cpuset.effective_cpus",
1982+
.seq_show = cpuset_common_seq_show,
1983+
.private = FILE_EFFECTIVE_CPULIST,
1984+
},
1985+
1986+
{
1987+
.name = "cpuset.effective_mems",
1988+
.seq_show = cpuset_common_seq_show,
1989+
.private = FILE_EFFECTIVE_MEMLIST,
1990+
},
1991+
1992+
{
1993+
.name = "cpuset.effective_mems",
1994+
.seq_show = cpuset_common_seq_show,
1995+
.private = FILE_EFFECTIVE_MEMLIST,
1996+
},
1997+
1998+
{
1999+
.name = "cpuset.cpu_exclusive",
2000+
.read_u64 = cpuset_read_u64,
2001+
.write_u64 = cpuset_write_u64,
2002+
.private = FILE_CPU_EXCLUSIVE,
2003+
},
2004+
2005+
{
2006+
.name = "cpuset.mem_exclusive",
2007+
.read_u64 = cpuset_read_u64,
2008+
.write_u64 = cpuset_write_u64,
2009+
.private = FILE_MEM_EXCLUSIVE,
2010+
},
2011+
2012+
{
2013+
.name = "cpuset.mem_hardwall",
2014+
.read_u64 = cpuset_read_u64,
2015+
.write_u64 = cpuset_write_u64,
2016+
.private = FILE_MEM_HARDWALL,
2017+
},
2018+
2019+
{
2020+
.name = "cpuset.sched_load_balance",
2021+
.read_u64 = cpuset_read_u64,
2022+
.write_u64 = cpuset_write_u64,
2023+
.private = FILE_SCHED_LOAD_BALANCE,
2024+
},
2025+
2026+
{
2027+
.name = "cpuset.sched_relax_domain_level",
2028+
.read_s64 = cpuset_read_s64,
2029+
.write_s64 = cpuset_write_s64,
2030+
.private = FILE_SCHED_RELAX_DOMAIN_LEVEL,
2031+
},
2032+
2033+
{
2034+
.name = "cpuset.memory_migrate",
2035+
.read_u64 = cpuset_read_u64,
2036+
.write_u64 = cpuset_write_u64,
2037+
.private = FILE_MEMORY_MIGRATE,
2038+
},
2039+
2040+
{
2041+
.name = "cpuset.memory_pressure",
2042+
.read_u64 = cpuset_read_u64,
2043+
.private = FILE_MEMORY_PRESSURE,
2044+
},
2045+
2046+
{
2047+
.name = "cpuset.memory_spread_page",
2048+
.read_u64 = cpuset_read_u64,
2049+
.write_u64 = cpuset_write_u64,
2050+
.private = FILE_SPREAD_PAGE,
2051+
},
2052+
{
2053+
.name = "cpuset.memory_spread_slab",
2054+
.read_u64 = cpuset_read_u64,
2055+
.write_u64 = cpuset_write_u64,
2056+
.private = FILE_SPREAD_SLAB,
2057+
},
2058+
2059+
{
2060+
.name = "cpuset.memory_pressure_enabled",
2061+
.flags = CFTYPE_ONLY_ON_ROOT,
2062+
.read_u64 = cpuset_read_u64,
2063+
.write_u64 = cpuset_write_u64,
2064+
.private = FILE_MEMORY_PRESSURE_ENABLED,
2065+
},
19642066
{ } /* terminate */
19652067
};
19662068

security/apparmor/crypto.c

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,10 @@ unsigned int aa_hash_size(void)
2929
return apparmor_hash_size;
3030
}
3131

32-
int aa_calc_profile_hash(struct aa_profile *profile, u32 version, void *start,
33-
size_t len)
32+
int aa_calc_profile_hash(struct aa_profile *profile, u32 version, void *start, size_t len)
3433
{
35-
struct {
36-
struct shash_desc shash;
37-
char ctx[crypto_shash_descsize(apparmor_tfm)];
38-
} desc;
34+
struct shash_desc *desc;
35+
char *ctx;
3936
int error = -ENOMEM;
4037
u32 le32_version = cpu_to_le32(version);
4138

@@ -46,31 +43,40 @@ int aa_calc_profile_hash(struct aa_profile *profile, u32 version, void *start,
4643
if (!profile->hash)
4744
goto fail;
4845

49-
desc.shash.tfm = apparmor_tfm;
50-
desc.shash.flags = 0;
46+
desc = kzalloc(sizeof(*desc) + crypto_shash_descsize(apparmor_tfm), GFP_KERNEL);
47+
if (!desc)
48+
goto fail;
49+
50+
desc->tfm = apparmor_tfm;
51+
desc->flags = 0;
5152

52-
error = crypto_shash_init(&desc.shash);
53+
ctx = (char *)(desc + 1); // 获取动态分配的空间来保存ctx
54+
error = crypto_shash_init(desc);
5355
if (error)
54-
goto fail;
55-
error = crypto_shash_update(&desc.shash, (u8 *) &le32_version, 4);
56+
goto fail_desc;
57+
error = crypto_shash_update(desc, (u8 *)&le32_version, 4);
5658
if (error)
57-
goto fail;
58-
error = crypto_shash_update(&desc.shash, (u8 *) start, len);
59+
goto fail_desc;
60+
error = crypto_shash_update(desc, (u8 *)start, len);
5961
if (error)
60-
goto fail;
61-
error = crypto_shash_final(&desc.shash, profile->hash);
62+
goto fail_desc;
63+
error = crypto_shash_final(desc, profile->hash);
6264
if (error)
63-
goto fail;
65+
goto fail_desc;
6466

67+
kfree(desc);
6568
return 0;
6669

70+
fail_desc:
71+
kfree(desc);
6772
fail:
6873
kfree(profile->hash);
6974
profile->hash = NULL;
7075

7176
return error;
7277
}
7378

79+
7480
static int __init init_profile_hash(void)
7581
{
7682
struct crypto_shash *tfm;

0 commit comments

Comments
 (0)