mirror of https://github.com/OpenIPC/firmware.git
62 lines
2.1 KiB
Diff
62 lines
2.1 KiB
Diff
diff -drupN a/include/net/flow.h b/include/net/flow.h
|
|
--- a/include/net/flow.h 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/include/net/flow.h 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -11,6 +11,7 @@
|
|
#include <linux/in6.h>
|
|
#include <linux/atomic.h>
|
|
#include <net/flow_dissector.h>
|
|
+#include <linux/uidgid.h>
|
|
|
|
/*
|
|
* ifindex generation is per-net namespace, and loopback is
|
|
@@ -37,6 +38,7 @@ struct flowi_common {
|
|
#define FLOWI_FLAG_SKIP_NH_OIF 0x04
|
|
__u32 flowic_secid;
|
|
struct flowi_tunnel flowic_tun_key;
|
|
+ kuid_t flowic_uid;
|
|
};
|
|
|
|
union flowi_uli {
|
|
@@ -74,6 +76,7 @@ struct flowi4 {
|
|
#define flowi4_flags __fl_common.flowic_flags
|
|
#define flowi4_secid __fl_common.flowic_secid
|
|
#define flowi4_tun_key __fl_common.flowic_tun_key
|
|
+#define flowi4_uid __fl_common.flowic_uid
|
|
|
|
/* (saddr,daddr) must be grouped, same order as in IP header */
|
|
__be32 saddr;
|
|
@@ -93,7 +96,8 @@ static inline void flowi4_init_output(st
|
|
__u32 mark, __u8 tos, __u8 scope,
|
|
__u8 proto, __u8 flags,
|
|
__be32 daddr, __be32 saddr,
|
|
- __be16 dport, __be16 sport)
|
|
+ __be16 dport, __be16 sport,
|
|
+ kuid_t uid)
|
|
{
|
|
fl4->flowi4_oif = oif;
|
|
fl4->flowi4_iif = LOOPBACK_IFINDEX;
|
|
@@ -104,6 +108,7 @@ static inline void flowi4_init_output(st
|
|
fl4->flowi4_flags = flags;
|
|
fl4->flowi4_secid = 0;
|
|
fl4->flowi4_tun_key.tun_id = 0;
|
|
+ fl4->flowi4_uid = uid;
|
|
fl4->daddr = daddr;
|
|
fl4->saddr = saddr;
|
|
fl4->fl4_dport = dport;
|
|
@@ -131,6 +136,7 @@ struct flowi6 {
|
|
#define flowi6_flags __fl_common.flowic_flags
|
|
#define flowi6_secid __fl_common.flowic_secid
|
|
#define flowi6_tun_key __fl_common.flowic_tun_key
|
|
+#define flowi6_uid __fl_common.flowic_uid
|
|
struct in6_addr daddr;
|
|
struct in6_addr saddr;
|
|
/* Note: flowi6_tos is encoded in flowlabel, too. */
|
|
@@ -176,6 +182,7 @@ struct flowi {
|
|
#define flowi_flags u.__fl_common.flowic_flags
|
|
#define flowi_secid u.__fl_common.flowic_secid
|
|
#define flowi_tun_key u.__fl_common.flowic_tun_key
|
|
+#define flowi_uid u.__fl_common.flowic_uid
|
|
} __attribute__((__aligned__(BITS_PER_LONG/8)));
|
|
|
|
static inline struct flowi *flowi4_to_flowi(struct flowi4 *fl4)
|