* Re: [Qemu-devel] [PATCH V3 2/3] linux-user: make do_setsockopt support SOL_RAW ICMP_FILTER socket option
2012-07-21 1:29 [Qemu-devel] [PATCH V3 2/3] linux-user: make do_setsockopt support SOL_RAW ICMP_FILTER socket option Jing Huang
@ 2012-07-20 18:07 ` Peter Maydell
0 siblings, 0 replies; 2+ messages in thread
From: Peter Maydell @ 2012-07-20 18:07 UTC (permalink / raw)
To: Jing Huang; +Cc: riku.voipio, qemu-devel
On 21 July 2012 02:29, Jing Huang <jing.huang.pku@gmail.com> wrote:
>
> Signed-off-by: Jing Huang <jing.huang.pku@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
(when you do the next version of this patch series, if you
include that line in the commit message for this patch it
will let me know I've already looked at this patch and don't
need to read it again. You can keep the line as long as you
don't make any further changes to the patch which would mean
I have to re-review it.)
-- PMM
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Qemu-devel] [PATCH V3 2/3] linux-user: make do_setsockopt support SOL_RAW ICMP_FILTER socket option
@ 2012-07-21 1:29 Jing Huang
2012-07-20 18:07 ` Peter Maydell
0 siblings, 1 reply; 2+ messages in thread
From: Jing Huang @ 2012-07-21 1:29 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, riku.voipio, jing.huang.pku
Signed-off-by: Jing Huang <jing.huang.pku@gmail.com>
---
linux-user/syscall.c | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 82aa83d..2228b1f 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -60,6 +60,7 @@ int __clone2(int (*fn)(void *), void *child_stack_base,
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <linux/wireless.h>
+#include <linux/icmp.h>
#include "qemu-common.h"
#ifdef TARGET_GPROF
#include <sys/gmon.h>
@@ -1442,6 +1443,24 @@ static abi_long do_setsockopt(int sockfd, int level, int optname,
goto unimplemented;
}
break;
+ case SOL_RAW:
+ switch (optname) {
+ case ICMP_FILTER:
+ /* struct icmp_filter takes an u32 value */
+ if (optlen < sizeof(uint32_t)) {
+ return -TARGET_EINVAL;
+ }
+
+ if (get_user_u32(val, optval_addr)) {
+ return -TARGET_EFAULT;
+ }
+ ret = get_errno(setsockopt(sockfd, level, optname,
+ &val, sizeof(val)));
+ break;
+ default:
+ goto unimplemented;
+ }
+ break;
case TARGET_SOL_SOCKET:
switch (optname) {
/* Options with 'int' argument. */
--
1.7.8.6
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-07-20 18:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-21 1:29 [Qemu-devel] [PATCH V3 2/3] linux-user: make do_setsockopt support SOL_RAW ICMP_FILTER socket option Jing Huang
2012-07-20 18:07 ` Peter Maydell
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).