netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH bpf-next] bpf, sockmap: Rename sock_map_get_from_fd to sock_map_prog_attach
@ 2023-08-31  1:43 Xu Kuohai
  2023-08-31  2:09 ` John Fastabend
  2023-08-31 11:10 ` kernel test robot
  0 siblings, 2 replies; 4+ messages in thread
From: Xu Kuohai @ 2023-08-31  1:43 UTC (permalink / raw)
  To: bpf, linux-kernel, netdev, John Fastabend, Jakub Sitnicki

From: Xu Kuohai <xukuohai@huawei.com>

What function sock_map_get_from_fd does is to attach a bpf prog to
a sock map, so rename it to sock_map_prog_attach to make it more
readable.

Signed-off-by: Xu Kuohai <xukuohai@huawei.com>
---
 include/linux/bpf.h  | 2 +-
 kernel/bpf/syscall.c | 2 +-
 net/core/sock_map.c  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index 12596af59c00..7a0c801f2795 100644
--- a/include/linux/bpf.h
+++ b/include/linux/bpf.h
@@ -2799,7 +2799,7 @@ int bpf_prog_test_run_syscall(struct bpf_prog *prog,
 			      const union bpf_attr *kattr,
 			      union bpf_attr __user *uattr);
 
-int sock_map_get_from_fd(const union bpf_attr *attr, struct bpf_prog *prog);
+int sock_map_prog_attach(const union bpf_attr *attr, struct bpf_prog *prog);
 int sock_map_prog_detach(const union bpf_attr *attr, enum bpf_prog_type ptype);
 int sock_map_update_elem_sys(struct bpf_map *map, void *key, void *value, u64 flags);
 int sock_map_bpf_prog_query(const union bpf_attr *attr,
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
index ebeb0695305a..087a097d74d4 100644
--- a/kernel/bpf/syscall.c
+++ b/kernel/bpf/syscall.c
@@ -3822,7 +3822,7 @@ static int bpf_prog_attach(const union bpf_attr *attr)
 	switch (ptype) {
 	case BPF_PROG_TYPE_SK_SKB:
 	case BPF_PROG_TYPE_SK_MSG:
-		ret = sock_map_get_from_fd(attr, prog);
+		ret = sock_map_prog_attach(attr, prog);
 		break;
 	case BPF_PROG_TYPE_LIRC_MODE2:
 		ret = lirc_prog_attach(attr, prog);
diff --git a/net/core/sock_map.c b/net/core/sock_map.c
index 8f07fea39d9e..26706b667f44 100644
--- a/net/core/sock_map.c
+++ b/net/core/sock_map.c
@@ -57,7 +57,7 @@ static struct bpf_map *sock_map_alloc(union bpf_attr *attr)
 	return &stab->map;
 }
 
-int sock_map_get_from_fd(const union bpf_attr *attr, struct bpf_prog *prog)
+int sock_map_prog_attach(const union bpf_attr *attr, struct bpf_prog *prog)
 {
 	u32 ufd = attr->target_fd;
 	struct bpf_map *map;
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [PATCH bpf-next] bpf, sockmap: Rename sock_map_get_from_fd to sock_map_prog_attach
  2023-08-31  1:43 [PATCH bpf-next] bpf, sockmap: Rename sock_map_get_from_fd to sock_map_prog_attach Xu Kuohai
@ 2023-08-31  2:09 ` John Fastabend
  2023-08-31  2:21   ` Xu Kuohai
  2023-08-31 11:10 ` kernel test robot
  1 sibling, 1 reply; 4+ messages in thread
From: John Fastabend @ 2023-08-31  2:09 UTC (permalink / raw)
  To: Xu Kuohai, bpf, linux-kernel, netdev, John Fastabend,
	Jakub Sitnicki

Xu Kuohai wrote:
> From: Xu Kuohai <xukuohai@huawei.com>
> 
> What function sock_map_get_from_fd does is to attach a bpf prog to
> a sock map, so rename it to sock_map_prog_attach to make it more
> readable.
> 
> Signed-off-by: Xu Kuohai <xukuohai@huawei.com>
> ---

I don't really think the rename is needed. It will just make any
backports difficult.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH bpf-next] bpf, sockmap: Rename sock_map_get_from_fd to sock_map_prog_attach
  2023-08-31  2:09 ` John Fastabend
@ 2023-08-31  2:21   ` Xu Kuohai
  0 siblings, 0 replies; 4+ messages in thread
From: Xu Kuohai @ 2023-08-31  2:21 UTC (permalink / raw)
  To: John Fastabend, Xu Kuohai, bpf, linux-kernel, netdev,
	Jakub Sitnicki

On 8/31/2023 10:09 AM, John Fastabend wrote:
> Xu Kuohai wrote:
>> From: Xu Kuohai <xukuohai@huawei.com>
>>
>> What function sock_map_get_from_fd does is to attach a bpf prog to
>> a sock map, so rename it to sock_map_prog_attach to make it more
>> readable.
>>
>> Signed-off-by: Xu Kuohai <xukuohai@huawei.com>
>> ---
> 
> I don't really think the rename is needed. It will just make any
> backports difficult.
> 

OK, please ignore this patch, this function has been around for a
long time, maybe everyone is used to the name and I don't insist
on renaming it.

> 
> .


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH bpf-next] bpf, sockmap: Rename sock_map_get_from_fd to sock_map_prog_attach
  2023-08-31  1:43 [PATCH bpf-next] bpf, sockmap: Rename sock_map_get_from_fd to sock_map_prog_attach Xu Kuohai
  2023-08-31  2:09 ` John Fastabend
@ 2023-08-31 11:10 ` kernel test robot
  1 sibling, 0 replies; 4+ messages in thread
From: kernel test robot @ 2023-08-31 11:10 UTC (permalink / raw)
  To: Xu Kuohai, bpf, linux-kernel, netdev, John Fastabend,
	Jakub Sitnicki
  Cc: oe-kbuild-all

Hi Xu,

kernel test robot noticed the following build errors:

[auto build test ERROR on bpf-next/master]

url:    https://github.com/intel-lab-lkp/linux/commits/Xu-Kuohai/bpf-sockmap-Rename-sock_map_get_from_fd-to-sock_map_prog_attach/20230831-094551
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link:    https://lore.kernel.org/r/20230831014346.2931397-1-xukuohai%40huaweicloud.com
patch subject: [PATCH bpf-next] bpf, sockmap: Rename sock_map_get_from_fd to sock_map_prog_attach
config: parisc-randconfig-r012-20230831 (https://download.01.org/0day-ci/archive/20230831/202308311959.Snzn4Unt-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230831/202308311959.Snzn4Unt-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308311959.Snzn4Unt-lkp@intel.com/

All errors (new ones prefixed by >>):

   kernel/bpf/syscall.c: In function 'bpf_prog_attach':
>> kernel/bpf/syscall.c:3825:23: error: implicit declaration of function 'sock_map_prog_attach'; did you mean 'sock_map_prog_detach'? [-Werror=implicit-function-declaration]
    3825 |                 ret = sock_map_prog_attach(attr, prog);
         |                       ^~~~~~~~~~~~~~~~~~~~
         |                       sock_map_prog_detach
   cc1: some warnings being treated as errors


vim +3825 kernel/bpf/syscall.c

  3782	
  3783	#define BPF_F_ATTACH_MASK_BASE	\
  3784		(BPF_F_ALLOW_OVERRIDE |	\
  3785		 BPF_F_ALLOW_MULTI |	\
  3786		 BPF_F_REPLACE)
  3787	
  3788	#define BPF_F_ATTACH_MASK_MPROG	\
  3789		(BPF_F_REPLACE |	\
  3790		 BPF_F_BEFORE |		\
  3791		 BPF_F_AFTER |		\
  3792		 BPF_F_ID |		\
  3793		 BPF_F_LINK)
  3794	
  3795	static int bpf_prog_attach(const union bpf_attr *attr)
  3796	{
  3797		enum bpf_prog_type ptype;
  3798		struct bpf_prog *prog;
  3799		u32 mask;
  3800		int ret;
  3801	
  3802		if (CHECK_ATTR(BPF_PROG_ATTACH))
  3803			return -EINVAL;
  3804	
  3805		ptype = attach_type_to_prog_type(attr->attach_type);
  3806		if (ptype == BPF_PROG_TYPE_UNSPEC)
  3807			return -EINVAL;
  3808		mask = bpf_mprog_supported(ptype) ?
  3809		       BPF_F_ATTACH_MASK_MPROG : BPF_F_ATTACH_MASK_BASE;
  3810		if (attr->attach_flags & ~mask)
  3811			return -EINVAL;
  3812	
  3813		prog = bpf_prog_get_type(attr->attach_bpf_fd, ptype);
  3814		if (IS_ERR(prog))
  3815			return PTR_ERR(prog);
  3816	
  3817		if (bpf_prog_attach_check_attach_type(prog, attr->attach_type)) {
  3818			bpf_prog_put(prog);
  3819			return -EINVAL;
  3820		}
  3821	
  3822		switch (ptype) {
  3823		case BPF_PROG_TYPE_SK_SKB:
  3824		case BPF_PROG_TYPE_SK_MSG:
> 3825			ret = sock_map_prog_attach(attr, prog);
  3826			break;
  3827		case BPF_PROG_TYPE_LIRC_MODE2:
  3828			ret = lirc_prog_attach(attr, prog);
  3829			break;
  3830		case BPF_PROG_TYPE_FLOW_DISSECTOR:
  3831			ret = netns_bpf_prog_attach(attr, prog);
  3832			break;
  3833		case BPF_PROG_TYPE_CGROUP_DEVICE:
  3834		case BPF_PROG_TYPE_CGROUP_SKB:
  3835		case BPF_PROG_TYPE_CGROUP_SOCK:
  3836		case BPF_PROG_TYPE_CGROUP_SOCK_ADDR:
  3837		case BPF_PROG_TYPE_CGROUP_SOCKOPT:
  3838		case BPF_PROG_TYPE_CGROUP_SYSCTL:
  3839		case BPF_PROG_TYPE_SOCK_OPS:
  3840		case BPF_PROG_TYPE_LSM:
  3841			if (ptype == BPF_PROG_TYPE_LSM &&
  3842			    prog->expected_attach_type != BPF_LSM_CGROUP)
  3843				ret = -EINVAL;
  3844			else
  3845				ret = cgroup_bpf_prog_attach(attr, ptype, prog);
  3846			break;
  3847		case BPF_PROG_TYPE_SCHED_CLS:
  3848			ret = tcx_prog_attach(attr, prog);
  3849			break;
  3850		default:
  3851			ret = -EINVAL;
  3852		}
  3853	
  3854		if (ret)
  3855			bpf_prog_put(prog);
  3856		return ret;
  3857	}
  3858	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-08-31 11:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-31  1:43 [PATCH bpf-next] bpf, sockmap: Rename sock_map_get_from_fd to sock_map_prog_attach Xu Kuohai
2023-08-31  2:09 ` John Fastabend
2023-08-31  2:21   ` Xu Kuohai
2023-08-31 11:10 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).