Merge pull request #10978 from austinvazquez/cherry-pick-pr-10972-to-2.0
[release/2.0] fsverity_test.go: fix nil pointer derefence, fix test fail, fix minor/major device numbers resolving
This commit is contained in:
		| @@ -29,6 +29,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"github.com/containerd/containerd/v2/pkg/testutil" | 	"github.com/containerd/containerd/v2/pkg/testutil" | ||||||
|  | 	"golang.org/x/sys/unix" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type superblockROFeatures struct { | type superblockROFeatures struct { | ||||||
| @@ -123,8 +124,8 @@ func TestIsEnabled(t *testing.T) { | |||||||
| 		t.Errorf("fsverity Enable failed: %s", err.Error()) | 		t.Errorf("fsverity Enable failed: %s", err.Error()) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if enabled, err := IsEnabled(verityFile); !enabled || err != nil { | 	if enabled, err := IsEnabled(verityFile); !enabled && err != nil { | ||||||
| 		t.Errorf("expected fsverity to be enabled on file, received enabled: %t; error: %s", enabled, err.Error()) | 		t.Errorf("expected fsverity to be enabled on file, received enabled: %t; error: %v", enabled, err) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -143,8 +144,7 @@ func resolveDevicePath(path string) (_ string, e error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// resolve to device path | 	// resolve to device path | ||||||
| 	maj := (stat.Dev >> 8) & 0xff | 	major, minor := unix.Major(stat.Dev), unix.Minor(stat.Dev) | ||||||
| 	min := stat.Dev & 0xff |  | ||||||
|  |  | ||||||
| 	m, err := os.Open("/proc/self/mountinfo") | 	m, err := os.Open("/proc/self/mountinfo") | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| @@ -162,7 +162,7 @@ func resolveDevicePath(path string) (_ string, e error) { | |||||||
| 	scanner := bufio.NewScanner(m) | 	scanner := bufio.NewScanner(m) | ||||||
|  |  | ||||||
| 	var entry string | 	var entry string | ||||||
| 	sub := fmt.Sprintf("%d:%d", maj, min) | 	sub := fmt.Sprintf("%d:%d", major, minor) | ||||||
| 	for scanner.Scan() { | 	for scanner.Scan() { | ||||||
| 		if strings.Contains(scanner.Text(), sub) { | 		if strings.Contains(scanner.Text(), sub) { | ||||||
| 			entry = scanner.Text() | 			entry = scanner.Text() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Fu Wei
					Fu Wei