Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Stay quiet when a smaller guest slab fits

Đang mở Phù hợp với người mới
#456 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 3 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
86/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
c
Lĩnh vực
operating-systems

Hướng nghiên cứu

Bắt đầu tại src/core/guest.c, ở vòng lặp slab trong guest_init, và theo dõi cách các lần thử mmap thất bại được báo cáo trước khi thử kích thước nhỏ hơn. Kiểm tra cách xử lý lỗi khi tất cả kích thước slab đều thất bại. Hoàn thành khi việc cấp phát thành công với slab nhỏ hơn không tạo đầu ra trên stderr, trong khi thất bại ở mọi kích thước vẫn báo lỗi.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

Under a host address-space limit that leaves no room for the first guest slab, elfuse prints an error at boot although the guest then starts normally:

$ bash -c 'ulimit -v 1073741824; ./build/elfuse ./build/busybox true; echo rc=$?'
guest: mmap: Cannot allocate memory
rc=0

The slab loop in guest_init (src/core/guest.c) tries 2^40, 2^38 and then 2^36 bytes, and calls perror("guest: mmap") each time an attempt fails before it moves to the next size. A failure that a smaller slab then recovers from is the expected path under a lower limit, so printing it on stderr reads as a fault and mixes into the guest's own stderr.

Expected: no stderr output when a smaller slab succeeds, at most a debug log line, and an error only when every size fails.

Ngôn ngữ chính
C
Star
275
Fork
29
Merge trung bình
2 ngày 8 giờ
Pull request đã merge (30 ngày)
17

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của sysprog21/elfuse

Tất cả issue của sysprog21/elfuse

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.