From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751880AbcGXBSE (ORCPT ); Sat, 23 Jul 2016 21:18:04 -0400 Received: from mail-pa0-f66.google.com ([209.85.220.66]:35879 "EHLO mail-pa0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751561AbcGXBSA (ORCPT ); Sat, 23 Jul 2016 21:18:00 -0400 Date: Sat, 23 Jul 2016 18:17:58 -0700 From: Alexei Starovoitov To: Sargun Dhillon Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, daniel@iogearbox.net Subject: Re: [PATCH net-next v5 2/2] samples/bpf: Add test/example of using bpf_probe_write_user bpf helper Message-ID: <20160724011757.GB33568@ast-mbp.thefacebook.com> References: <20160724004410.GA31798@ircssh.c.rugged-nimbus-611.internal> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160724004410.GA31798@ircssh.c.rugged-nimbus-611.internal> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jul 23, 2016 at 05:44:11PM -0700, Sargun Dhillon wrote: > This example shows using a kprobe to act as a dnat mechanism to divert > traffic for arbitrary endpoints. It rewrite the arguments to a syscall > while they're still in userspace, and before the syscall has a chance > to copy the argument into kernel space. > > Although this is an example, it also acts as a test because the mapped > address is 255.255.255.255:555 -> real address, and that's not a legal > address to connect to. If the helper is broken, the example will fail. nice. makes sense. > Signed-off-by: Sargun Dhillon ... > +/* Copyright (c) 2013-2015 PLUMgrid, http://plumgrid.com hmm, not sure what to think about this line. plumgrid got a new employee? ;) > + if (load_bpf_file(filename)) { > + printf("%s", bpf_log_buf); > + return 1; > + } > + > + /* Is the server's getsockname = the socket getpeername */ > + assert(memcmp(&serv_addr, &tmp_addr, sizeof(struct sockaddr_in)) == 0); thanks. so the $?==0 will indicate success, right? After respin feel free to add my ack.