Merge "Throw an errno exception when open BPF map failed" am: 22d5336279
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1772440 Change-Id: I280c9e505a0124ae3cd6bdbb5043f87c40f64fbd
This commit is contained in:
@@ -42,6 +42,8 @@ static jint com_android_networkstack_tethering_BpfMap_bpfFdGet(JNIEnv *env, jobj
|
||||
|
||||
jint fd = bpf::bpfFdGet(pathname.c_str(), static_cast<unsigned>(mode));
|
||||
|
||||
if (fd < 0) jniThrowErrnoException(env, "bpfFdGet", errno);
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
|
||||
@@ -388,4 +388,15 @@ public final class BpfMapTest {
|
||||
assertEquals(OsConstants.E2BIG, expected.errno);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOpenNonexistentMap() throws Exception {
|
||||
try {
|
||||
final BpfMap<TetherDownstream6Key, Tether6Value> nonexistentMap = new BpfMap<>(
|
||||
"/sys/fs/bpf/tethering/nonexistent", BpfMap.BPF_F_RDWR,
|
||||
TetherDownstream6Key.class, Tether6Value.class);
|
||||
} catch (ErrnoException expected) {
|
||||
assertEquals(OsConstants.ENOENT, expected.errno);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user