[Devel] [PATCH] tun: Add ioctl() TUNGETDEVNETNS cmd to allow obtaining real net ns of tun device

2019-11-06 Thread Alexander Mikhalitsyn
by: Kirill Tkhai Signed-off-by: David S. Miller https://jira.sw.ru/browse/PSBM-99027 (ported from commit 0c3e0e3bb623c3735b8c9ab8aa8332f944f83a9f) Signed-off-by: Alexander Mikhalitsyn --- drivers/net/tun.c | 10 ++ include/uapi/linux/if_tun.h | 1 + 2 files changed, 11

[Devel] [PATCHv2 CRIU] zdtm: nft tables preservation test

2019-11-12 Thread Alexander Mikhalitsyn
Signed-off-by: Alexander Mikhalitsyn Signed-off-by: Alexander Mikhalitsyn --- test/zdtm/static/Makefile| 1 + test/zdtm/static/netns-nft.c | 63 test/zdtm/static/netns-nft.checkskip | 3 ++ test/zdtm/static/netns-nft.desc | 5 +++ 4 files

[Devel] [PATCHv2 CRIU] zdtm: nft tables preservation test

2019-11-12 Thread Alexander Mikhalitsyn
Signed-off-by: Alexander Mikhalitsyn Signed-off-by: Alexander Mikhalitsyn --- test/zdtm/static/Makefile| 1 + test/zdtm/static/netns-nft.c | 63 test/zdtm/static/netns-nft.checkskip | 3 ++ test/zdtm/static/netns-nft.desc | 5 +++ 4 files

[Devel] [PATCH CRIU] zdtm: nft tables preservation test

2019-11-12 Thread Alexander Mikhalitsyn
Signed-off-by: Alexander Mikhalitsyn Signed-off-by: Alexander Mikhalitsyn --- test/zdtm/static/Makefile | 1 + test/zdtm/static/netns-nft.c| 63 + test/zdtm/static/netns-nft.desc | 5 +++ 3 files changed, 69 insertions(+) create mode 100644 test/zdtm

[Devel] [CRIU] [PATCH] spfs, files-reg: symbolic links support

2019-12-20 Thread Alexander Mikhalitsyn
This patch adds support for symbolic links that located on NFS filesystem, also it introduces support for ghost symbolic links located on non-NFS filesystems. Caution: ghost symbolic links on NFS are not supported! Fixes https://jira.sw.ru/browse/PSBM-99969 Signed-off-by: Alexander Mikhalitsyn

Re: [Devel] [PATCH CRIU] dump/restore: Supported ipset

2020-01-30 Thread Alexander Mikhalitsyn
On Wed, 29 Jan 2020 20:04:15 +0300 Valeriy Vdovin wrote: > https://jira.sw.ru/browse/PSBM-100083 > > Added ipset dump/restore functionality. At dump operation it calls > 'ipset save' and stores result into raw text image. At restore > it restores ipset by calling 'ipset restore'. This is done

Re: [Devel] [PATCH CRIU v4 2/2] dump/restore: Maintain proper start_time param from /proc/[pid]/stat for each task

2020-01-29 Thread Alexander Mikhalitsyn
On Tue, 28 Jan 2020 20:19:40 +0300 Valeriy Vdovin wrote: > https://jira.sw.ru/browse/PSBM-64123 > > Introducing 'start_time' field into core image. > It is stored during suspend for each process inside of a dumped > container and set back to each new process at container restore > operation.

[Devel] [CRIU] [PATCH v2] spfs, files-reg: symbolic links support

2019-12-26 Thread Alexander Mikhalitsyn
This patch adds support for symbolic links that located on NFS filesystem, also it introduces support for ghost symbolic links located on non-NFS filesystems. Caution: ghost symbolic links on NFS are not supported! Fixes https://jira.sw.ru/browse/PSBM-99969 Signed-off-by: Alexander Mikhalitsyn

[Devel] [CRIU] [PATCH v3] spfs, files-reg: symbolic links support

2019-12-27 Thread Alexander Mikhalitsyn
This patch adds support for symbolic links that located on NFS filesystem, also it introduces support for ghost symbolic links located on non-NFS filesystems. Caution: ghost symbolic links on NFS are not supported! Fixes https://jira.sw.ru/browse/PSBM-99969 Signed-off-by: Alexander Mikhalitsyn

[Devel] [CRIU] [PATCH v4] spfs, files-reg: symbolic links support

2019-12-27 Thread Alexander Mikhalitsyn
This patch adds support for symbolic links that located on NFS filesystem, also it introduces support for ghost symbolic links located on non-NFS filesystems. Caution: ghost symbolic links on NFS are not supported! Fixes https://jira.sw.ru/browse/PSBM-99969 Signed-off-by: Alexander Mikhalitsyn

[Devel] [PATCH] overlayfs: add dynamic path resolving in mount options

2020-05-22 Thread Alexander Mikhalitsyn
rom dcache.c is used to resolve full path in mount namespace. This function also adds "(deleted)" suffix if dentry was deleted. So, If one of dentries in lowerdir, upperdir, workdir options is deleted, we will see "(deleted)" suffix in corresponding path. https://jira.sw.ru/bro

Re: [Devel] [PATCH RH7] overlayfs: avoid permission check for priveleged processes

2020-10-15 Thread Alexander Mikhalitsyn
Please, see comments inline On Wed, 14 Oct 2020 02:05:21 +0300 Andrey Zhadchenko wrote: > Overlayfs temporary override credentials in copy_up function to ones which was > used to create mount. Unfortunately vfs_setxattr requires CAP_SYS_ADMIN > capability in current user namespace. This leads

Re: [Devel] [PATCH RH7] overlayfs: avoid permission check for priveleged processes

2020-10-15 Thread Alexander Mikhalitsyn
On Thu, 15 Oct 2020 16:03:52 +0300 Alexander Mikhalitsyn wrote: > Please, see comments inline > > On Wed, 14 Oct 2020 02:05:21 +0300 > Andrey Zhadchenko wrote: > > > Overlayfs temporary override credentials in copy_up function to ones which > > was > > us

[Devel] [PATCH v5] overlayfs: add dynamic path resolving in mount options

2020-05-25 Thread Alexander Mikhalitsyn
rom dcache.c is used to resolve full path in mount namespace. This function also adds "(deleted)" suffix if dentry was deleted. So, If one of dentries in lowerdir, upperdir, workdir options is deleted, we will see "(deleted)" suffix in corresponding path. https://jira.sw.ru/bro

Re: [Devel] [PATCH v2] overlayfs: add dynamic path resolving in mount options

2020-05-25 Thread Alexander Mikhalitsyn
Thank you! I've fixed issues and sent 3rd version of the patch. From: Pavel Tikhomirov Sent: Monday, May 25, 2020 12:45 To: Alexander Mikhalitsyn; devel@openvz.org Cc: Konstantin Khorenko; Vasiliy Averin Subject: Re: [PATCH v2] overlayfs: add dynamic path

[Devel] [PATCH v4] overlayfs: add dynamic path resolving in mount options

2020-05-25 Thread Alexander Mikhalitsyn
rom dcache.c is used to resolve full path in mount namespace. This function also adds "(deleted)" suffix if dentry was deleted. So, If one of dentries in lowerdir, upperdir, workdir options is deleted, we will see "(deleted)" suffix in corresponding path. https://jira.sw.ru/bro

[Devel] [PATCH v3] overlayfs: add dynamic path resolving in mount options

2020-05-25 Thread Alexander Mikhalitsyn
rom dcache.c is used to resolve full path in mount namespace. This function also adds "(deleted)" suffix if dentry was deleted. So, If one of dentries in lowerdir, upperdir, workdir options is deleted, we will see "(deleted)" suffix in corresponding path. https://jira.sw.ru/bro

[Devel] [PATCH v6] overlayfs: add dynamic path resolving in mount options

2020-05-26 Thread Alexander Mikhalitsyn
rom dcache.c is used to resolve full path in mount namespace. This function also adds "(deleted)" suffix if dentry was deleted. So, If one of dentries in lowerdir, upperdir, workdir options is deleted, we will see "(deleted)" suffix in corresponding path. https://jira.sw.ru/bro

[Devel] test email

2020-05-26 Thread Alexander Mikhalitsyn
This is test email, please ignore ___ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel

[Devel] [PATCH v2] overlayfs: add dynamic path resolving in mount options

2020-05-22 Thread Alexander Mikhalitsyn
rom dcache.c is used to resolve full path in mount namespace. This function also adds "(deleted)" suffix if dentry was deleted. So, If one of dentries in lowerdir, upperdir, workdir options is deleted, we will see "(deleted)" suffix in corresponding path. https://jira.sw.ru/bro

Re: [Devel] [PATCH] overlayfs: add dynamic path resolving in mount options

2020-05-22 Thread Alexander Mikhalitsyn
Thank you for your review. I've sent a new patch version (2) where I've fixed all issues. From: Pavel Tikhomirov Sent: Friday, May 22, 2020 15:22 To: Alexander Mikhalitsyn; devel@openvz.org Cc: Konstantin Khorenko Subject: Re: [PATCH] overlayfs: add

Re: [Devel] [PATCH] overlayfs: add dynamic path resolving in mount options

2020-05-22 Thread Alexander Mikhalitsyn
Thank you very much for review. I've fixed that. From: Vasily Averin Sent: Friday, May 22, 2020 16:34 To: Alexander Mikhalitsyn; devel@openvz.org Subject: Re: [Devel] [PATCH] overlayfs: add dynamic path resolving in mount options On 5/22/20 11:01 AM

[Devel] [PATCH v7 0/2] overlayfs: C/R enhancements

2020-06-03 Thread Alexander Mikhalitsyn
/docker/overlay2/XYZ-init/diff:/var/lib/docker/overlay2/ ABC/diff,upperdir=/var/lib/docker/overlay2/XYZ/diff,workdir=/var/lib/docker /overlay2/XYZ/work,lowerdir_mnt_id=175:175,upperdir_mnt_id=175) none on /sys type sysfs (rw,relatime) Alexander Mikhalitsyn (2): overlayfs: add dynamic path resolving

[Devel] [PATCH v7 1/2] overlayfs: add dynamic path resolving in mount options

2020-06-03 Thread Alexander Mikhalitsyn
rom dcache.c is used to resolve full path in mount namespace. This function also adds "(deleted)" suffix if dentry was deleted. So, If one of dentries in lowerdir, upperdir, workdir options is deleted, we will see "(deleted)" suffix in corresponding path. https://jira.sw.ru/bro

[Devel] [PATCH v7 2/2] overlayfs: add mnt_id paths options

2020-06-03 Thread Alexander Mikhalitsyn
nt/restore functionality of overlayfs mounts in case when we have overmounts on lowerdir, workdir, upperdir paths. https://jira.sw.ru/browse/PSBM-58614 Signed-off-by: Alexander Mikhalitsyn --- fs/overlayfs/Kconfig | 26 ++ fs/overlayfs/overlayfs.h | 3 +++ fs/overlay

[Devel] [PATCH v8 1/2] overlayfs: add dynamic path resolving in mount options

2020-06-04 Thread Alexander Mikhalitsyn
rom dcache.c is used to resolve full path in mount namespace. This function also adds "(deleted)" suffix if dentry was deleted. So, If one of dentries in lowerdir, upperdir, workdir options is deleted, we will see "(deleted)" suffix in corresponding path. https://jira.sw.ru/bro

[Devel] [PATCH v8 2/2] overlayfs: add mnt_id paths options

2020-06-04 Thread Alexander Mikhalitsyn
nt/restore functionality of overlayfs mounts in case when we have overmounts on lowerdir, workdir, upperdir paths. https://jira.sw.ru/browse/PSBM-58614 Signed-off-by: Alexander Mikhalitsyn Reviewed-by: Pavel Tikhomirov --- fs/overlayfs/Kconfig | 26 ++ fs/overlayfs/o

[Devel] [PATCH v8 0/2] overlayfs: C/R enhancements

2020-06-04 Thread Alexander Mikhalitsyn
/docker/overlay2/XYZ-init/diff:/var/lib/docker/overlay2/ ABC/diff,upperdir=/var/lib/docker/overlay2/XYZ/diff,workdir=/var/lib/docker /overlay2/XYZ/work,lowerdir_mnt_id=175:175,upperdir_mnt_id=175) none on /sys type sysfs (rw,relatime) Alexander Mikhalitsyn (2): overlayfs: add dynamic path resolving

[Devel] [PATCH RH8 2/2] ve/aio: Add a handle to checkpoint/restore AIO context

2020-12-03 Thread Alexander Mikhalitsyn
cpu ioctx refcount") db446a0 ("aio: convert the ioctx list to table lookup v3") https://jira.sw.ru/browse/PSBM-123159 Signed-off-by: Alexander Mikhalitsyn --- fs/aio.c| 98 + fs/proc/base.c | 27 + include

[Devel] [PATCH 2/2] ve/aio: Add a handle to checkpoint/restore AIO context

2020-12-03 Thread Alexander Mikhalitsyn
cpu ioctx refcount") db446a0 ("aio: convert the ioctx list to table lookup v3") https://jira.sw.ru/browse/PSBM-123159 Signed-off-by: Alexander Mikhalitsyn --- fs/aio.c| 82 + fs/proc/base.c | 27 +++ include/

[Devel] [PATCH RH8 1/2] ve/fs/aio: aio_nr & aio_max_nr variables virtualization

2020-12-03 Thread Alexander Mikhalitsyn
d by ctx->nr_events (really allocated io events) as in ms kernel https://jira.sw.ru/browse/PSBM-123159 Signed-off-by: Alexander Mikhalitsyn --- fs/aio.c| 45 - include/linux/aio.h | 6 ++ include/linux/ve.h | 6 ++ kernel/sysctl.c

Re: [Devel] [PATCH RH7] netlink: add an option to set sk->err from userspace

2020-10-28 Thread Alexander Mikhalitsyn
On Wed, 28 Oct 2020 17:59:10 +0300 Andrey Zhadchenko wrote: > Sometimes during dump criu can encounter netlink sockets with overflown kernel > buffer, which results in ENOBUFS error during next read. We need an reliable > way to restore sk->sk_err. > > https://jira.sw.ru/browse/PSBM-120976 >

Re: [Devel] [PATCH v2 v2] fs/ovelayfs: Fix crash on overlayfs mount

2021-01-22 Thread Alexander Mikhalitsyn
solving in mount options") > Fixes: 2191d729083d ("overlayfs: add mnt_id paths options") > > https://jira.sw.ru/browse/PSBM-123508 > Signed-off-by: Andrey Ryabinin Reviewed-by: Alexander Mikhalitsyn > --- > fs/overlayfs/ovl_entry.h | 2 +- > fs/overlayfs/su

[Devel] [PATCH RH8] kernel/sched: Use kvzalloc to allocate the array of ctl_tables

2021-06-10 Thread Alexander Mikhalitsyn
from commit 6a6935993911cfc6798566c8827da0e39a08aff8) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127837 Signed-off-by: Alexander Mikhalitsyn --- kernel/sched/debug.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index

[Devel] [PATCH RH8] x86/microcode/intel: hide warning on high order allocation for microcode area

2021-06-10 Thread Alexander Mikhalitsyn
u/browse/PSBM-127837 Signed-off-by: Alexander Mikhalitsyn --- arch/x86/kernel/cpu/microcode/intel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c index 6a99535d7f37..304f47784e90 100644 --- a

[Devel] [PATCH] configs: provide kernel config via proc

2021-06-10 Thread Alexander Mikhalitsyn
855d50d5a08b71018bece89b3c41caaff6affd79) Rebase part https://jira.sw.ru/browse/PSBM-127850 Signed-off-by: Alexander Mikhalitsyn --- configs/kernel-4.18.0-x86_64-KVM-minimal.config | 4 ++-- configs/kernel-4.18.0-x86_64-debug.config | 3 ++- configs/kernel-4.18.0-x86_64.config | 3 ++- 3

[Devel] [PATCH 11/13] net: Mark conntrack users in xtables

2021-05-18 Thread Alexander Mikhalitsyn
xt_entry .checkentry callback. $ grep -Inr 'nf_ct_netns_get' net/netfilter net/ipv4/netfilter net/ipv6/netfilter is useful to find all modules net/netfilter/nf_conncount.c was added VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/ipv4/netfi

[Devel] [PATCH 04/13] ve/netfilter: Add autoloading of sockopt modules

2021-05-18 Thread Alexander Mikhalitsyn
e/PSBM-39077 Signed-off-by: Andrew Vagin Reviewed-by: Vladimir Davydov (cherry picked from commit d14ac53542dcea9e8db67b3f989a57e42b0de093) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nf_sockopt.

[Devel] [PATCH 05/13] ve/netfilter: Check for permittions while looking for target and match

2021-05-18 Thread Alexander Mikhalitsyn
autoloading from CT netfilter: Add autoloading of sockopt modules netfilter: Check for permittions while looking for target and match (cherry picked from commit 6abadc4355f7f7eb65c87940af47c0c2f0ebe472) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander

[Devel] [PATCH RH8 00/13] port part 3: netfilter

2021-05-18 Thread Alexander Mikhalitsyn
See https://jira.sw.ru/browse/PSBM-127783 Andrey Ryabinin (1): netfilter/x_tables: account entry offsets allocations Kirill Tkhai (5): ve/netfilter: Implement pernet net->ct.max / virtualize "nf_conntrack_max" sysctl ve/netfilter: Add autoloading of sockopt modules ve/netfilter:

[Devel] [PATCH 08/13] ve/nf_conntrack: expose "nf_conntrack_acct" in contaners

2021-05-18 Thread Alexander Mikhalitsyn
) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nf_conntrack_acct.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/netfilter/nf_conntrack_acct.c b/net/netfilter/nf_conntrack_acct.c index 1d66de5151b2

[Devel] [PATCH 02/13] ve/netfilter: Implement pernet expect_max / virtualize "net.netfilter.nf_conntrack_expect_max" sysctl

2021-05-18 Thread Alexander Mikhalitsyn
rom commit 2cabd3c5f1a772f3dd7648acc345bca529aed254) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/net/netfilter/nf_conntrack_expect.h | 1 - include/net/netns/conntrack.h | 2 ++ net/netfilter/nf_conntrack_expect.c | 7 +++ net

[Devel] [PATCH 06/13] netfilter/x_tables: account entry offsets allocations

2021-05-18 Thread Alexander Mikhalitsyn
Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/x_tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c index 9ff9d4b83d0f..38584a504a29 100644 --- a/net/netfilter/x_tables.c +++ b/net/netfilter/x_tables.c @@ -983,7

[Devel] [PATCH 13/13] ve/netlink: allow messages with family PF_BRIDGE type RTM_xxxNEIGH in CT

2021-05-18 Thread Alexander Mikhalitsyn
da2b4bd3e7a5df3c9ed79b1d1cedbd4513651c21) To_merge: 1f4a13e2a1d3 ("ve/net: introduce vz_security_*_check checks") VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/linux/ve.h | 4 +- kernel/ve/ve.c

[Devel] [PATCH 12/13] net: Mark conntrack users in nftables

2021-05-18 Thread Alexander Mikhalitsyn
part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nft_connlimit.c | 7 ++- net/netfilter/nft_ct.c| 2 ++ net/netfilter/nft_masq.c | 6 +- net/netfilter/nft_nat.c | 6 +- net/netfilter/nft_redir.c | 6 +- 5 files

[Devel] [PATCH 10/13] net: Primitives to enable conntrack allocation

2021-05-18 Thread Alexander Mikhalitsyn
.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/net/net_namespace.h | 10 ++ include/net/netns/conntrack.h | 1 + net/netfilter/nf_conntrack_core.c | 6 ++ net/netfilter/nf_synproxy_core.c | 1 + 4 files changed, 18 insertions(+) diff --git a/incl

[Devel] [PATCH 01/13] ve/netfilter: Basic ve transformations

2021-05-18 Thread Alexander Mikhalitsyn
ff-by: Andrew Vagin Reviewed-by: Vladimir Davydov (cherry picked from commit 5c8089d) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/linux/netfilter/x_tables.h | 17 net/ipv4/netfilter/ip_tables.c | 15 +-- net/i

[Devel] [PATCH 09/13] ve/nf_conntrack: expose "nf_conntrack_events*" in contaners

2021-05-18 Thread Alexander Mikhalitsyn
) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nf_conntrack_ecache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c index 04fb99b518dd

[Devel] [PATCH 03/13] ve/netfilter: Implement pernet net->ct.max / virtualize "nf_conntrack_max" sysctl

2021-05-18 Thread Alexander Mikhalitsyn
/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nf_conntrack_core.c | 20 +++- net/netfilter/nf_conntrack_netlink.c| 2 +- net/netfilter/nf_conntrack_standalone.c | 13 ++--- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/net

[Devel] [PATCH 07/13] ve/nf_conntrack: expose "nf_conntrack_max" in containers

2021-05-18 Thread Alexander Mikhalitsyn
ra.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/net/netns/conntrack.h | 1 + net/netfilter/nf_conntrack_standalone.c | 69 +++-- 2 files changed, 53 insertions(+), 17 deletions(-) diff --git a/include/net/netns/conntrack.h b/include/n

[Devel] [PATCH RH8] fs/overlayfs: Fix crash on overlayfs mount

2021-05-14 Thread Alexander Mikhalitsyn
mount --bind merged/lower lowermnt Fixes: 4267859a0 ("fs/ovelayfs: Fix crash on overlayfs mount") https://jira.sw.ru/browse/PSBM-129333 Signed-off-by: Alexander Mikhalitsyn --- fs/overlayfs/super.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/overlayfs/su

[Devel] [PATCH 6/6] tty: use kvmalloc for screenbuffer allocation

2021-05-28 Thread Alexander Mikhalitsyn
://jira.sw.ru/browse/HCI-53 Signed-off-by: Oleg Babin [VvS RHEL7.8 rebase] context changes (cherry picked from commit 472011f165617f88833d61a14456198610a1632b) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127798 Signed-off-by: Alexander Mikhalitsyn --- drivers/tty/vt/vt.c | 14 +++--- 1 file

[Devel] [PATCH 3/6] mm: introduce kvmalloc_check() for safe calls to kvmalloc()

2021-05-28 Thread Alexander Mikhalitsyn
Signed-off-by: Konstantin Khorenko Reviewed-by: Andrey Ryabinin [VvS RHEL77b rebase] (cherry picked from commit def125fece273fbcf26310d3af80ca90ac8f5400) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127798 Signed-off-by: Alexander Mikhalitsyn --- include/linux/mm.h | 1 + mm/util.c

[Devel] [PATCH RH8 0/6] port part 15

2021-05-28 Thread Alexander Mikhalitsyn
VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127798 Konstantin Khorenko (5): ve/sysfs: relax sanity check for ns equality in kernfs_find_ns() net/setsockopt: switch high order allocations to kvmalloc() in do_ip_setsockopt() mm: introduce kvmalloc_check() for safe calls to kvmalloc()

[Devel] [PATCH 5/6] ext4: don't iterate over sbi->s_es_list more than the number of elements

2021-05-28 Thread Alexander Mikhalitsyn
rom commit 17a5132158a4956a1926a8d46f435d4e3ee54f91) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127798 Signed-off-by: Alexander Mikhalitsyn --- fs/ext4/extents_status.c | 8 1 file changed, 8 insertions(+) diff --git a/fs/ext4/extents_status.c b/fs/ext4/extents_status.c in

[Devel] [PATCH 2/6] net/setsockopt: switch high order allocations to kvmalloc() in do_ip_setsockopt()

2021-05-28 Thread Alexander Mikhalitsyn
VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127798 Signed-off-by: Alexander Mikhalitsyn --- net/ipv4/ip_sockglue.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index b7a26120d552..18bbeda2bf27 100644 --- a/net/ip

[Devel] [PATCH 1/6] ve/sysfs: relax sanity check for ns equality in kernfs_find_ns()

2021-05-28 Thread Alexander Mikhalitsyn
ity check for ns equality in kernfs_find_ns()") Signed-off-by: Konstantin Khorenko (cherry picked from commit 217a16fe9aca462c4f8ad1e905771609916506ad) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127798 Signed-off-by: Alexander Mikhalitsyn --- fs/kernfs/dir.c | 5 +++-- 1 file changed

[Devel] [PATCH 4/6] net/sock: teach sock_kmalloc() to call kvmalloc() when possible

2021-05-28 Thread Alexander Mikhalitsyn
127798 Signed-off-by: Alexander Mikhalitsyn --- net/core/sock.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/core/sock.c b/net/core/sock.c index 18b8908d200a..03ad9fbb2906 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -2107,7 +2107,7 @@ void *sock_k

[Devel] [PATCH 4/5] ve/cgroup: Get correct VE init css when ve init_task is moved to child cgroup

2021-05-21 Thread Alexander Mikhalitsyn
commit 52d17a28f60d446da2159d486fbbedc197061a91) See also d51f39b ("cgroup: remove cgroup->parent") VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127797 Signed-off-by: Alexander Mikhalitsyn --- kernel/ve/ve.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-

[Devel] [PATCH 0/5] port part 14

2021-05-21 Thread Alexander Mikhalitsyn
VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127797 Cyrill Gorcunov (1): ve/tty: Provide interface for current tty inheritance Dmitry Monakhov (1): config.OpenVZ.minimal: disable CONFIG_X86_DECODER_SELFTEST Kirill Tkhai (2): ve/cgroup: Get correct VE init css when ve init_task is moved

[Devel] [PATCH 2/5] net/vhost: Replace kmalloc with kvmalloc for order>=3

2021-05-21 Thread Alexander Mikhalitsyn
0cd748d35c100b1bc6f9e7fffa44a7d0f70a1728) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127797 Signed-off-by: Alexander Mikhalitsyn --- drivers/vhost/net.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c index 267877d8273b..07a2d3482d9d

[Devel] [PATCH 1/5] ve/tty: Provide interface for current tty inheritance

2021-05-21 Thread Alexander Mikhalitsyn
VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127797 Signed-off-by: Alexander Mikhalitsyn --- kernel/ve/ve.c | 102 + 1 file changed, 102 insertions(+) diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c index 5bf187705f2a..db548c6d1c4b 100644 --- a

[Devel] [PATCH 3/5] config.OpenVZ.minimal: disable CONFIG_X86_DECODER_SELFTEST

2021-05-21 Thread Alexander Mikhalitsyn
-by: Dmitry Monakhov (cherry picked from commit a817fdbed90d59e2b54385c6e59ed9fbff2d1ce1) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127797 Signed-off-by: Alexander Mikhalitsyn --- configs/kernel-4.18.0-x86_64-KVM-minimal.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff

[Devel] [PATCH 5/5] sched/ve: Do not show loadavg in child VE cpu cgroups

2021-05-21 Thread Alexander Mikhalitsyn
-by: Andrey Ryabinin (cherry picked from commit e0199c52bdf40d8856ec8ff2ae664cbafee872fb) See also f49dfc054 ("vecalls: Introduce VZCTL_GET_CPU_STAT ioctl") b72dd2c52 ("sched: Export per task_group statistics_work") VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127797 Sign

Re: [Devel] [PATCH 5/7] target: use to_stat_tgt_port() to handle files in scsi_tgt_port/

2021-06-02 Thread Alexander Mikhalitsyn
Sure, thanks! From: Evgenii Shatokhin Sent: Wednesday, June 2, 2021 19:25 To: Alexander Mikhalitsyn Cc: devel@openvz.org Subject: Re: [Devel] [PATCH 5/7] target: use to_stat_tgt_port() to handle files in scsi_tgt_port/ On 02.06.2021 18:59, Alexander

[Devel] [PATCH 3/7] ve/devmnt: initialize s_mode before deactivate_locked_super to suppress warning

2021-06-02 Thread Alexander Mikhalitsyn
t;) https://jira.sw.ru/browse/PSBM-80743 Signed-off-by: Pavel Tikhomirov Reviewed-by: Kirill Tkhai (cherry picked from commit 3543274fc3f1ce483a075ce4cb7a097c7c2d2169) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127837 Signed-off-by: Alexander Mikhalitsyn --- fs/super.c | 4 +++- 1 file

[Devel] [PATCH 5/7] target: use to_stat_tgt_port() to handle files in scsi_tgt_port/

2021-06-02 Thread Alexander Mikhalitsyn
-127837 Signed-off-by: Alexander Mikhalitsyn --- drivers/target/target_core_stat.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/target/target_core_stat.c b/drivers/target/target_core_stat.c index abe7f612b676..8d0f4f75829a 100644 --- a/drivers/target

[Devel] [PATCH 4/7] x86/microcode/intel: hide warning on high order allocation for microcode area

2021-06-02 Thread Alexander Mikhalitsyn
ay. https://jira.sw.ru/browse/PSBM-86662 Signed-off-by: Konstantin Khorenko (cherry picked from commit 0b26c4a6f25cfd35a90a7d6dfa139cec30abb946) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127837 Signed-off-by: Alexander Mikhalitsyn --- arch/x86/kernel/cpu/microcode/intel.c | 2 +- 1 file

[Devel] [PATCH 7/7] ve/net/neighbour: per-ct limit for neighbour entries

2021-06-02 Thread Alexander Mikhalitsyn
://jira.sw.ru/browse/PSBM-87155 Signed-off-by: Vasily Averin Acked-by: Konstantin Khorenko (cherry picked from commit c75e42c15e7d3f73777de7c932c60ae3b96fa025) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127837 Signed-off-by: Alexander Mikhalitsyn --- include/linux/ve.h | 2 ++ kernel/ve

[Devel] [PATCH 2/7] mnt_ns: introduce global list of mount namespaces for debug

2021-06-02 Thread Alexander Mikhalitsyn
Signed-off-by: Konstantin Khorenko Reviewed-by: Andrey Ryabinin (cherry picked from commit abee9d40a8d159ece11594b77fb6f5b473359cfa) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127837 Signed-off-by: Alexander Mikhalitsyn --- fs/mount.h | 1 + fs/namespace.c | 14 ++ 2

[Devel] [PATCH 1/7] ve/mount: allow pseudosuper to temporary exceed the container limit

2021-06-02 Thread Alexander Mikhalitsyn
mit and fail, fix it ignoring the limit at restore stage. https://jira.sw.ru/browse/PSBM-86511 Signed-off-by: Pavel Tikhomirov Acked-by: Cyrill Gorcunov (cherry picked from commit cb5488bae3555a8696554010d151b9bfb7934cc1) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127837 Signed-off-by: Alexan

[Devel] [PATCH 6/7] ms/netfilter: account ebt_table_info to kmemcg

2021-06-02 Thread Alexander Mikhalitsyn
commit 93ffc59d9f9e8b65ad2bdfe090b56839f0a40411) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127837 Signed-off-by: Alexander Mikhalitsyn --- net/bridge/netfilter/ebtables.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge

[Devel] [PATCH RH8 0/7] part 18

2021-06-02 Thread Alexander Mikhalitsyn
VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127837 Andrei Vagin (1): target: use to_stat_tgt_port() to handle files in scsi_tgt_port/ Kirill Tkhai (1): ms/netfilter: account ebt_table_info to kmemcg Konstantin Khorenko (2): mnt_ns: introduce global list of mount namespaces for debug

Re: [Devel] [PATCH 4/7] x86/microcode/intel: hide warning on high order allocation for microcode area

2021-06-03 Thread Alexander Mikhalitsyn
I have to resend this patch with fixup. 0a3e20990d36 x86/microcode/intel: hide warning on high order allocation for microcode area Thanks to Andrey Zhadchenko From: devel-boun...@openvz.org on behalf of Alexander Mikhalitsyn Sent: Wednesday, June 2

[Devel] [PATCH RH8 2/2] ipc: WARN if trying to remove ipc object which is absent

2021-07-06 Thread Alexander Mikhalitsyn
-off-by: Alexander Mikhalitsyn --- ipc/util.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ipc/util.c b/ipc/util.c index 05748f56edd9..6a331b8a52ba 100644 --- a/ipc/util.c +++ b/ipc/util.c @@ -447,8 +447,8 @@ static int ipcget_public(struct ipc_namespace *ns, struct

[Devel] [PATCH RH8 1/2] shm: skip shm_destroy if task IPC namespace was changed

2021-07-06 Thread Alexander Mikhalitsyn
https://jira.sw.ru/browse/PSBM-131142 Fixes: ab602f79915 ("shm: make exit_shm work proportional to task activity") Signed-off-by: Alexander Mikhalitsyn --- ipc/shm.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ipc/shm.c b/ipc/shm.c index 73

[Devel] [PATCH RH8 1/2] shm: skip shm_destroy if task IPC namespace was changed

2021-07-06 Thread Alexander Mikhalitsyn
Fixes: ab602f79915 ("shm: make exit_shm work proportional to task activity") Signed-off-by: Alexander Mikhalitsyn --- ipc/shm.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ipc/shm.c b/ipc/shm.c index 7394d05f8c0b..f989f559adce 100644 --- a/ipc/shm.c

[Devel] [PATCH RH8 2/2] ipc: WARN if trying to remove ipc object which is absent

2021-07-06 Thread Alexander Mikhalitsyn
Lets produce a warning if we trying to remove non-existing IPC object from IPC namespace kht/idr structures. This allows to catch possible bugs when ipc_rmid() function was called with inconsistent struct ipc_ids*, struct kern_ipc_perm* arguments. Signed-off-by: Alexander Mikhalitsyn --- ipc

[Devel] [PATCH 06/14] ve/netfilter: Check for permittions while looking for target and match

2021-04-30 Thread Alexander Mikhalitsyn
autoloading from CT netfilter: Add autoloading of sockopt modules netfilter: Check for permittions while looking for target and match (cherry picked from commit 6abadc4355f7f7eb65c87940af47c0c2f0ebe472) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander

[Devel] [PATCH 02/14] ve/netfilter: Implement pernet expect_max / virtualize "net.netfilter.nf_conntrack_expect_max" sysctl

2021-04-30 Thread Alexander Mikhalitsyn
/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/net/netfilter/nf_conntrack_expect.h | 1 - include/net/netns/conntrack.h | 2 ++ net/netfilter/nf_conntrack_expect.c | 7 +++ net/netfilter/nf_conntrack_standalone.c | 3 ++- 4 files changed, 7

[Devel] [PATCH 00/14] port part 3: netfilter

2021-04-30 Thread Alexander Mikhalitsyn
See https://jira.sw.ru/browse/PSBM-127783 Andrey Ryabinin (1): netfilter/x_tables: account entry offsets allocations Kirill Tkhai (5): ve/netfilter: Implement pernet net->ct.max / virtualize "nf_conntrack_max" sysctl ve/netfilter: Add autoloading of sockopt modules ve/netfilter:

[Devel] [PATCH 13/14] net: Mark conntrack users in nftables

2021-04-30 Thread Alexander Mikhalitsyn
/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nft_ct.c | 2 ++ net/netfilter/nft_nat.c | 6 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/net/netfilter/nft_ct.c b/net/netfilter/nft_ct.c index bbdb1e219edb..1e11f3585f76 100644 --- a/net/netfilter

[Devel] [PATCH 04/14] ve/netfilter: Add autoloading of sockopt modules

2021-04-30 Thread Alexander Mikhalitsyn
SBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nf_sockopt.c | 76 +- 1 file changed, 74 insertions(+), 2 deletions(-) diff --git a/net/netfilter/nf_sockopt.c b/net/netfilter/nf_sockopt.c index 46cb3786e0ec..024959f478da 100644 --- a/net/netfil

[Devel] [PATCH 01/14] ve/netfilter: Basic ve transformations

2021-04-30 Thread Alexander Mikhalitsyn
ff-by: Andrew Vagin Reviewed-by: Vladimir Davydov == VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/linux/netfilter/x_tables.h | 17 net/ipv4/netfilter/ip_tables.c | 27 +

[Devel] [PATCH 03/14] ve/netfilter: Implement pernet net->ct.max / virtualize "nf_conntrack_max" sysctl

2021-04-30 Thread Alexander Mikhalitsyn
/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nf_conntrack_core.c | 20 +++- net/netfilter/nf_conntrack_netlink.c| 2 +- net/netfilter/nf_conntrack_standalone.c | 13 ++--- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/net

[Devel] [PATCH 07/14] netfilter/x_tables: account entry offsets allocations

2021-04-30 Thread Alexander Mikhalitsyn
Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/x_tables.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c index d8afdd42fcac..4a95c2121893 100644 --- a/net/netfilter/x_tables.c +++ b/net/netfilter/x_tables.c @@ -983,7

[Devel] [PATCH 10/14] ve/nf_conntrack: expose "nf_conntrack_events*" in contaners

2021-04-30 Thread Alexander Mikhalitsyn
) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nf_conntrack_ecache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c index 04fb99b518dd

[Devel] [PATCH 11/14] net: Primitives to enable conntrack allocation

2021-04-30 Thread Alexander Mikhalitsyn
.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/net/net_namespace.h | 10 ++ include/net/netns/conntrack.h | 1 + net/netfilter/nf_conntrack_core.c | 6 ++ net/netfilter/nf_synproxy_core.c | 1 + 4 files changed, 18 insertions(+) diff --git a/incl

[Devel] [PATCH 14/14] ve/netlink: allow messages with family PF_BRIDGE type RTM_xxxNEIGH in CT

2021-04-30 Thread Alexander Mikhalitsyn
da2b4bd3e7a5df3c9ed79b1d1cedbd4513651c21) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/linux/ve.h | 4 +- kernel/ve/ve.c | 98 net/core/rtnetlink.c | 4 +- net/socket.c | 2 +- 4 files

[Devel] [PATCH 12/14] net: Mark conntrack users in xtables

2021-04-30 Thread Alexander Mikhalitsyn
3b277df5b8bc61eed867ed91f9428d6bda703cf1) +++ see also a357b3f80bc8d ("netfilter: nat: add dependencies on conntrack module") 84899a2b9adaf ("netfilter: xtables: remove xt_connmark v0") VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhal

[Devel] [PATCH 08/14] ve/nf_conntrack: expose "nf_conntrack_max" in containers

2021-04-30 Thread Alexander Mikhalitsyn
conntrack_buckets MS sysctl VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- include/net/netns/conntrack.h | 1 + net/netfilter/nf_conntrack_standalone.c | 69 +++-- 2 files changed, 53 insertions(+), 17 deletions(-) diff

[Devel] [PATCH 05/14] ve/netfilter/cred: add ve_capable to check capabilities relative to the current VE (v2)

2021-04-30 Thread Alexander Mikhalitsyn
off-by: Andrew Vagin Reviewed-by: Vladimir Davydov (cherry picked from commit d14ac53542dcea9e8db67b3f989a57e42b0de093) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nf_sockopt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) d

[Devel] [PATCH 09/14] ve/nf_conntrack: expose "nf_conntrack_acct" in contaners

2021-04-30 Thread Alexander Mikhalitsyn
) VZ 8 rebase part https://jira.sw.ru/browse/PSBM-127783 Signed-off-by: Alexander Mikhalitsyn --- net/netfilter/nf_conntrack_acct.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/netfilter/nf_conntrack_acct.c b/net/netfilter/nf_conntrack_acct.c index 1d66de5151b2

[Devel] [PATCH RH8] aio: ioctl(VE_AIO_IOC_WAIT_ACTIVE) in-flight reqs counting fix

2021-04-23 Thread Alexander Mikhalitsyn
We have to take into account percpu part of reqs_available counter on struct kioctx. Fixes: f5d1279 ("ve/aio: Add a handle to checkpoint/restore AIO context") https://jira.sw.ru/browse/PSBM-128710 Signed-off-by: Alexander Mikhalitsyn --- fs/aio.c | 12 +++- 1 file c

[Devel] [PATCH RH8] aio: ioctl(VE_AIO_IOC_WAIT_ACTIVE) in-flight reqs counting fix

2021-04-23 Thread Alexander Mikhalitsyn
We have to take into account percpu part of reqs_available counter on struct kioctx. Fixes: f5d1279 ("ve/aio: Add a handle to checkpoint/restore AIO context") Signed-off-by: Alexander Mikhalitsyn --- fs/aio.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff

Re: [Devel] [PATCH RH7] proc/mounts: fix skipping mount after cursor

2021-03-26 Thread Alexander Mikhalitsyn
unt and will be printing it forever infinitely. > > https://jira.sw.ru/browse/PSBM-127476 > > Signed-off-by: Pavel Tikhomirov Reviewed-by: Alexander Mikhalitsyn > --- > fs/namespace.c | 16 ++-- > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff

[Devel] [PATCH RH7] sync: sync_collect_filesystems: fix possible infinite loop

2021-03-29 Thread Alexander Mikhalitsyn
https://jira.sw.ru/browse/PSBM-127599 Signed-off-by: Alexander Mikhalitsyn --- fs/sync.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/sync.c b/fs/sync.c index d994e5b5f4ed..6d8f5b0d0e53 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -145,7 +145,7 @@ static int

[Devel] [PATCH RH7 v2] proc/mounts: add cursor

2021-03-16 Thread Alexander Mikhalitsyn
vercome this issue. But this patch introduces many other unpredictable issues. So, it was easier to adopt current patch to make it work fine with old semantics. https://jira.sw.ru/browse/PSBM-125812 (cherry-picked from 9f6c61f96f2d97cbb5f7fa85607bc398f843ff0f) Signed-off-by: Pavel Tikhomirov

Re: [Devel] [PATCH RH7 v2] proc/mounts: add cursor

2021-03-17 Thread Alexander Mikhalitsyn
mall probability that we will step on "mount umounting" case between two seq file reads when mnt_id and pointer will be the same. > > On 3/16/21 3:21 PM, Alexander Mikhalitsyn wrote: > > Patch-set description: > > We see a race when reading mountinfo from criu line-by-li

[Devel] [PATCH RH7 2/2] proc/mounts: add cursor

2021-03-10 Thread Alexander Mikhalitsyn
da871 ("fs/seq_file.c: simplify seq_file iteration code and interface") was ported to overcome this issue. https://jira.sw.ru/browse/PSBM-125812 (cherry-picked from 9f6c61f96f2d97cbb5f7fa85607bc398f843ff0f) Signed-off-by: Pavel Tikhomirov Signed-off-by: Alexander Mikhalitsyn --- f

  1   2   3   >